聚类分析中存在一种方法:‘模糊C均值’,模糊C均值的发现,要感谢模糊数学之父“扎德”老爷子,他老人家当年提出了“模糊集合论”和“模糊逻辑”,介绍算法之前,先简单的补充一些相关的知识点.
所谓模糊集合论,就是一种处理结果不确定、不能精确量化的方法。例如:存在一句话“今天估计会下雨”,这就是典型的模糊,我们不能精确的表示这句话的值,今天估计会下雨,那下雨的程度是多少呢?我们此时就用【0,1】来表示此句话为真的程度,例如,今天50%会下雨,则今天下雨为真的程度就是0.5,0.5叫做“隶属度”,当然,今天不下雨的隶属度为1-0.5=0.5.
所谓模糊C均值算法,是指该算法的聚类(簇)的定义(界限)是模糊的,不同于K均值(K均值中的簇是确定的,以质心为中心,确定的簇),意思就是说:模糊C均值中,每个数据点(元素)到每个簇都存在一个隶属度,但是每个数据点到所有簇的隶属度之和为1(这个当然很明显)。其中,隶属度又叫做隶属权值(用W表示)。
它的思想是:先人工随机指定每个数据到各个簇的隶属度(模糊伪划分),然后根据隶属度计算每一个簇的质心,接着重新进行伪划分(更新隶属度矩阵),直到质心不变化(严格意义说:知道所有隶属度的变化的绝对值都低于所设定阈值)
伪代码:
Wij表示数据点i关于簇j的隶属度
1 选择一个初始模糊伪划分,即对所有的Wij赋值
2 Repeat
3 根据模糊伪划分,计算每个簇的质心
4 重新计算模糊伪划分,即Wij
5 Until 簇的质心不发生变化,(严格意义说:知道所有隶属度的变化的绝对值都低于所设定阈值)
其中涉及的数学公式:
是第j个簇
Wij表示数据点i关于簇j的隶属度
SSE是误差平方和,也称散布,我们先计算每一个数据点的误差(即点到簇的欧式距离),然后计算误差的平方和,他是一个评价指数,SSE越小,说明聚类的原型可以代表簇中点。
公式中的P是确定权值影响的指数,一般取P值为2,简单介绍就是P增大,划分变得越来越模糊。
FCM与K均值思想是基本一致的,,它产生任意点属于簇的程度的聚类。