在尝试模拟类似于本文中描述的 ML 模型时,经过一些调整,我似乎最终在一些样本数据上获得了良好的聚类结果。通过“好”的结果,我的意思是
- 每个观察都以高概率放入一个集群(而不是在两个集群之间有 50/50 或类似的东西)
- 大部分的观察结果都放在了正确的集群中,这表明该模型确实有效。
例如,如果我们有观察属于集群的, 和观察属于集群,那么模型可能会输出(0.99, 0.01)
观察(其中0.99
表示高概率属于并且0.01
表示属于的概率低) 和(0.02, 0.98)
观察. (这些特定的数字是随机选择的,但通常好的结果给出的概率接近 0 和 1。)但是,每隔几次我训练模型,我都会得到一个奇怪的结果;在某种意义上似乎仍然“聚集”数据,但在技术上是错误的。一个不好的结果会给一些(0.99, 0.01)
观察性质的东西(这很好),但随后给出类似(0.65, 0.35)
观察的东西. 这样,当我查看数据时,我可以知道它已被“聚类”为属于给出与观测值不同的聚类概率分布,但模型在实际分配集群时并没有实现上述两个目标中的任何一个。
我想让我的模型更健壮,以便更频繁地获得“好”结果,但我不知道我能做些什么来做到这一点。肯定有助于避免这个问题的一件事是多次进行集群训练并取平均结果;这样做的问题是每次训练都需要几个小时的时间,这意味着多次进行可能需要几天的时间,我想避免这种情况。
如果有任何(希望是快速的)修复我可以做以避免得到这些奇怪的结果,我很想听听关于这个话题的任何建议。如果您需要更多信息,我也应该能够回答问题,但我链接的论文应该包含大部分相关信息。