个人博客地址 Glooow,欢迎光临~~~
现在想要对
n 个目标
U={x1,...,xn} 分类,并且每个对象都有多个指标,也即
xi={xi1,...,xim}。
模糊聚类通常包括三个步骤:
- 建立模糊矩阵
- 建立模糊等价矩阵
- 进行聚类
1. 数据标准化
实际中各个指标的量纲与数量级很可能相差很大,比如高校评价指标中,可能包括科研经费、论文数量、获奖数量等,数量级差别很大,这个时候就需要先对各项数据进行标准化。常用方法有
标准差标准化
xij′=σjxij−xˉj
极差正规化
xij′′=max1{xij′}−min1:i⩽n{xij′}xij′−min1≤i≤n{xij′}
极差标准化
xij′=max{xij}−min{xij}xij−xˉi
最大值规格化
xij′=max(x1j,x2j,...,xnj)xij
2. 建立模糊相似矩阵
接下来需要确定不同对象之间的相似度,相似度的确定也有几种常用度量:
1.1 相关系数类

1.2 距离类

1.3 贴近度类

3. 聚类
获得模糊相似矩阵以后,需要首先求出传递闭包 t(R),以获得模糊等价矩阵,然后根据不同的阈值 λ 进行聚类,然后再画出动态聚类图。
举个栗子

求解过程如下
0. 特性指标矩阵 |
1. 数据标准化 |
2. 求模糊相似矩阵 |
 |
 |
 |
3. 求传递闭包 |
4. 根据不同阈值聚类 |
5. 画动态聚类图 |
 |
 |
 |
4. 其他问题
在实际应用过程中,还会出现一些其他问题,比如:
- 在实际应用中,如何选择适当的 λ?从而给出一个较明确的聚类。
实际中最佳阈值的确定,可以由专家给出值;也可以应用 F-统计量确定最佳阈值。
- 如果不用传递闭包,直接对相似矩阵进行聚类会怎么样?
直接应用模糊相似矩阵进行聚类时,可以首先确定一个阈值 λ,然后根据截集获得一系列聚类结果,由于模糊相似矩阵并不是等价矩阵,因此此时的聚类结果是不严谨的,后面需要对交集非空的集合进行合并(这里可能表述的不清楚,看下面的例子就明白了)



- 当样本点很多时(几百万甚至上千万个像素),例如需 要对一张图片上的样本点进行聚类,该怎么办?
可以应用模糊C均值法(FCM)
5. 模糊C均值法(FCM)
设 xi(i=1,2,...,n) 是n个样本组成的样本集合,c 为预定的类别数目, uij 是第 i 个样本对于第 j 类的隶属度函数。用隶属度函数定义的聚类损失函数可以写为
j=1∑ci=1∑nuijmdij2=j=1∑ci=1∑nuijm∥pj−xi∥2
其中 m>1,Pj 是第 j 类的聚类中心,后面会给出公式。通常也会假设 ∑juij=1。
下面则给出该算法的推导:为了最小化损失函数,则可以应用 Lagrange 乘子法
J=i=1∑nj=1∑cuijmdij2−i=1∑nλi((j=1∑cuij)−1)
对 λi,uij 求偏导等于 0,则可以得到迭代公式为
uij=∑k=1c(dik1)2/(m−1)(dij1)2/(m−1)pj=∑i=1nuijm∑i=1nuijmxi
由此就可以给出 FCM 算法的框架
