我试图看看两者的表现是否可以根据他们所处理的目标函数进行比较?
答案 0 :(得分:25)
目标函数实际上是相同的,唯一的区别是引入了一个向量,该向量表示给定点对每个聚类的归属百分比。该向量被赋予“刚度”指数,旨在更加重视更强的连接(相反,最小化较弱连接的权重);不可思议的是,当刚度因子趋于无穷大时,得到的向量变为二元矩阵,因此使FCM模型与K-Means的模型相同。
我认为除了分配给它们没有点的簇的一些可能问题之外,可以通过模拟无限刚度因子来模拟K-Means算法与FCM算法的算法(=通过引入一个将向量中的最大值更改为1,并将其他值归零的函数,代替向量的取幂)。这当然是运行K-Means的一种非常低效的方式,因为算法必须执行与真实FCM一样多的操作(如果仅使用1和0值,这确实简化了算术,但不是复杂度)
关于性能,FCM因此需要针对每个维度对每个点执行k(即,簇的数量)乘法(不计算取幂以考虑刚度)。这加上计算和管理邻近矢量所需的开销,解释了为什么FCM比普通K-Means慢得多。
但FCM / Soft-K-Means比Hard-K-Means更“愚蠢”,例如当伸长的簇时(当其他维度上的点一致时,往往会沿着一个或两个特定维度散布),并且这就是它仍然存在的原因; - )
从原来的回复:
此外,我只是想到了这一点,但没有对它进行任何“数学”思考,FCM可能比硬K-Means更快收敛,有点抵消了FCM更大的计算要求。
2018年5月编辑:
实际上没有一项声誉卓着的研究表明我支持上述关于FCM更快收敛速度的预感。谢谢 Benjamin Horn 让我诚实; - )
答案 1 :(得分:17)
K-Means clustering和Fuzzy-C Means Clustering在方法上非常相似。主要区别在于,在Fuzzy-C Means聚类中,每个点都具有与特定聚类相关联的权重,因此一个点不会“在一个聚类中”与聚类的弱关联或强关联,由与群集中心的反距离确定。
模糊C意味着比K意味着更慢,因为它实际上做得更多。每个点都使用每个集群进行评估,每次评估都涉及更多操作。 K-Means只需要进行距离计算,而模糊c意味着需要进行完全反距离加权。
答案 2 :(得分:2)
C均值是模糊的,但k均值是硬的(不是模糊的),每个点在K均值中属于一个质心,但是在模糊c均值中每个点可以属于两个质心,但质量不同。
每个点要么是第一质心的一部分,要么是第二质心的一部分,但是在C均值中,一个点可以是第一质心(90%)和第二质心(10%)的一部分。例如,学生失败或如果她/他有49岁,则通过了测试。这以某种方式通过了,但现实却失败了,那个时候我们称之为模糊。
答案 3 :(得分:1)