我有两个实现,一个是K-Means,另一个是EM进行软聚类。但我不知道如何在准确性方面验证它们。也就是说,哪一个通过检索更好的集群来执行得更好。我的假设是,因为在K-Means中,EM做的是软分配,而不是硬分配。EM表现更好,但我不知道如何进行比较…
我如何对EM软聚类与K-Means的准确性进行基准测试?对合成数据有什么建议吗?
评价模糊聚类本身就很困难。我想我在什么地方看到过一种常用索引的变化。
但首先试着回答这个问题:
何时一种聚类算法优于另一种?
聚类算法应该是一个解释工具,所以你真的能判断合成的、标记的数据的性能吗?或者你不应该通过走出"现场"并尝试从数据中学习新东西来衡量质量吗?
这不是一道数学题。
EM,由于它的模糊分配,应该比k-means更不可能陷入局部最小值。至少在理论上是这样。同时,它从不收敛。劳埃德k-均值必须收敛(与平方欧几里德距离,而不是与其他距离),因为一个有限的论点;同样的参数不再适用于模糊算法。
也许可以尝试构建一个k-means不能产生最优解的场景,然后检查EM是否会产生更好的结果。
您可以使用轮廓分数来衡量群集算法的有效性。http://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html
来自文档:轮廓系数是使用每个样本的平均簇内距离(a)和平均最近簇距离(b)计算的。样本的剪影系数为(b - a)/max(a, b)。为了澄清,b是样本与最近的样本不属于该样本的集群之间的距离。
简单来说,廓形系数衡量的是与其他潜在中心相比,点与给定中心的距离有多近。你可以使用这些分数来确定哪种聚类算法导致点更接近另一个点,或者哪些参数导致更高的轮廓系数。集群的数量)。下面也给出了K-Means算法的例子。