1
模式识别与智能计算的MATLAB实现
1.6.2.3 4.2.3 模糊聚类分析
4.2.3 模糊聚类分析

模糊聚类分析是利用模糊等价关系来实现的。基于模糊等价关系的聚类分析可分为如下三步。

1.建立模糊相似矩阵

建立模糊相似矩阵是实现模糊聚类的关键。设S={X1,X2,…,XN}是待聚类的全部样本,每一个样本都由n个特征表示:

alt

第一步是求样本集中任意两个样本Xi与Xj之间的相关系数rij,进而构造模糊相似矩阵alt=(rijN×N。求相关系数的方法有很多,可以根据需要选择其中的一种。

(1)数量积法

alt

其中,M为一适当的正数,满足

alt

(2)相关系数法

alt

其中

alt

(3)绝对值减数法

alt

其中,α为适当选取的常数,使rik在[0,1]中且分散。

(4)夹角余弦法

alt

如果rij出现负值,则需要用下式进行调整:

alt

(5)最大最小法

alt

(6)算术平均法

alt

2.改造相似关系为等价关系

由第一步建立的模糊矩阵,一般情况下是模糊相似矩阵,即只满足对称性和自反性,不满足传递性,还需要将其改造成模糊等价矩阵。

3.聚 类

对求得的模糊等价矩阵求λ截集,即可求得在一定条件下的分类情况。

例4.5 X=[Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ]为五个区域的集合,每个区域的环境污染情况由空气、水、土壤、噪声等四类污染物在区域中含量的超限度来描写,污染数据如下:

alt

请对这五个区域的污染情况进行聚类分析。

:可以用两种方法求解。第一种是根据模糊聚类的原理,自编相应的函数。下面即为作者编写的求各种模糊距离的函数。

alt

根据此函数,可求得按绝对值减数法确定的相关系数,并由此组成相似矩阵如下:

alt

再根据fuzzmu函数(自编)求得alt,即模糊等价矩阵alt

最后利用fuzzr(x,a)(自编)求alt不同的λ截集而进行聚类。

例如,当0.6<λ<0.8时,可分为四类:{x1,x3},{x2},{x4},{x5}。

对于这类问题,也可以用MATLAB函数fcm进行求解。此函数采用的是模糊C均值聚类方法,调用方式:

alt

其中,data是要聚类的数据集合;cluster_n为聚类数;center为最终的聚类中心矩阵;U为最终的模糊分区矩阵(或称为隶属度函数矩阵);obj_fcn为在迭代过程中的目标函数值。

alt

如果分成三类聚类中心,则有

alt

用类似的方法,可以将评价区域分成有四个、五个聚类中心的集合。