30

我想看看两者的性能是否可以根据它们所处理的目标函数进行比较?

4

4 回答 4

28

顺便说一句,Fuzzy-C-Means (FCM) 聚类算法也称为Soft K-Means

目标函数实际上是相同的,唯一的区别是引入了一个向量,该向量表示给定点属于每个集群的百分比。这个向量被提交给一个“刚度”指数,旨在更加重视更强的连接(并且相反地最小化弱连接的权重);顺便说一下,当刚度因子趋于无穷大时,结果向量变为二进制矩阵,因此使 FCM 模型与 K-Means 的模型相同。

我认为,除了没有分配点的集群的一些可能问题外,可以通过模拟无限刚度因子(=通过引入改变向量中的最大值为 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 更快收敛速度​​的上述预感。谢谢本杰明霍恩让我诚实;-)

于 2010-02-27T03:02:22.827 回答
19

K-Means 聚类Fuzzy-C 均值聚类在方法上非常相似。主要区别在于,在 Fuzzy-C 均值聚类中,每个点都具有与特定聚类相关的权重,因此一个点不会像与聚类具有弱或强关联那样位于“聚类中”,这由到簇中心的反距离决定。

Fuzzy-C 方法的运行速度往往比 K 方法慢,因为它实际上做了更多的工作。每个点都用每个集群进行评估,每次评估涉及更多操作。K-Means 只需要进行距离计算,而模糊 c 均值需要进行完整的反距离加权。

于 2010-02-27T01:48:32.727 回答
4

C-means 是模糊的,但 k-means 是困难的(不是模糊的),每个点在 K-means 中属于一个质心,但在模糊 c-means 中,每个点可以属于两个质心但质量不同。

在此处输入图像描述

每个点要么是第一个质心的一部分,要么是第二个质心的一部分。但在 C-means 中,一个点可以是第一个质心 (90%) 和第二个质心 (10%) 的一部分。例如,如果学生失败或通过她/他有 49。不知何故是通过而现实是失败的,那个时候我们称之为模糊。

于 2019-03-30T23:19:45.887 回答
2

人们在技术上写得很好,每个答案都写得很好。但是我想说的外行语言是一样的。K 表示将整个数据集聚类成 K 个聚类,其中一个数据应该只属于一个聚类。模糊 c 均值创建 k 个集群,然后将每个数据分配给每个集群,但它们将成为定义数据属于该集群的强度的一个因素。

于 2016-07-29T06:24:16.920 回答