模糊均值算法

2024-09-25

模糊均值算法(精选8篇)

模糊均值算法 篇1

FCM算法是1974年由Dunn提出并由Bezdek加以推广的模糊C-均值 (fuzzy c-means 简称FCM) 算法[1]。模糊C 均值算法 (FCM) 是基于模糊集理论的一种聚类方法, 有着广泛的应用。近年来, 将遗传算法引入聚类分析是一个新的方向, 文献[2,3]对基于遗传算法的聚类分析进行了介绍。

1 遗传算法描述

遗传算法模拟自然界的演化进程, 采用优胜劣汰的原则, 利用选择、交叉、变异等遗传操作寻找最优个体, 具有很强的搜索能力, 在许多方面都获得了成功的应用。目前对将遗传算法应用到聚类中已经做过很多研究[4], 但遗传算法仍然存在一些缺陷, 如局部搜索能力差, 容易陷入早熟, 效率不高, 还面临着与计算复杂度相关的一些问题。选择和交叉操作都与个体的编码设计相关, 有的个体设计得比较容易进行交叉操作, 然而其适应度函数的计算就会比较复杂, 使选择操作进行起来不太容易;因此, 选择和交叉操作在计算复杂程度上是互补的, 现将模糊C-均值算法引入到遗传算法的进化中, 代替遗传算法的交叉操作。虽然模糊C-均值算法对初始条件敏感, 容易陷入局部最优解, 但将FCM操作代替标准遗传算法中的交叉操作, 弥补了FCM算法和遗传算法各自的缺点。

1.1 目标函数

对有n个对象的集合进行划分成为C个类, 每个对象都是d维向量, 最终使目标函数——总类内差异TWCV最小化, 给出定义如下:n个对象组成的集合{xi, i=1, 2, …, n}, xij表示对象xi的第j个属性。对于i=1, 2, …, n;c=1, 2, …, C

若第i个对象属于第c个类

Wic={1ic0 (1)

对于矩阵W=[wij], wij={0, 1}且j=1Cwji=1 (2)

c个类的质心Vc={Vc1, Vc2, …, Vcd}。

其中Vcj=i=1nwicxiji=1nwic (3)

c个类的类内差异定义为:

S (c) (W) =i=1nwicj=1d (xij-vcj) 2 (4)

总类内差异定义为:

S (W) =c=1CS (c) =c=1Ci=1nwicj=1d (xij-vcj) 2 (5)

1.2 遗传PCM算法流程图与算法步骤

遗传快速FCM算法的处理流程是从初始化包含M个个体的种群P0对于每一代种群Pi, 经过选择、变异和快速FCM操作后, 得到新一代的种群, 这一过程重复进行G次。在执行选择操作之前, 找出目前的最佳个体并将其存入S0中, 最后S0作为最终的迭代结果输出 (图1) 。

遗传FCM的算法步骤:

(1) 编码

设n个d维对象要分为c个类, 用S={S1, S2, …, Sn}表示解个体的结构, S为1×n维的行向量, 这里Si{1, 2, …, k}表示第i位的等位基因, 当Si=c时表示第i个样本属于第c个类;编码形成的个体长度为n, 个体上每个基因位的值是{1, 2, …, C}中的一个数值, 每个基因对应一个对象, 它的值表示该对象所属类的类编号, 因为对于所有i, 只有唯一的c, 使wic=1 (由式 (1) 可见) , 所以这个值也是唯一的。遗传快速FCM算法的种群由M (种群规模) 个编码后的个体所组成。

(2) 初始化

随机选择初始群p (0) , 将个体的每个基因随机确定一个值, 该值是从集合{1, 2, …, C}中随机选取的一个数, 即将每个对象随机赋给一个类。由此可能得到一些“非法串” (非法串表示个体中的某些类中没有包含任何对象) , 因为当类的个数越少时, TWVC的值就会越大, 所以出现空类不是所期望的, 应该避免非法串的出现。

(3) 适应度函数的确定

每个个体Sw的适应度值取决于该个体总的类内差异TWCV。因为实行聚类的目的是要使TWCV最小化, TWCV值较小的个体有较大的适应度值。关于适应度函数的定义有多种[5], 这里将适应度函数f (Sw) 定义如下

令f (SW) =TWCV (SW) (6)

g (SW) =F (SW) - (F¯-kσ) (7)

这里F¯和σ分别表示当前群所有个体的f (Sw) 的平均值和标准偏差;k表示在1到3之间的常量。于是个体串Sw的适应度值F (Sw) 为

F (Sw) ={g (SW) g (SW) 00

(8)

(4) 选择

个体是否被选择依据其适应度值的大小, 适应度小的个体被选择的概率也小, 并可能被淘汰, 而适应度大的个体被选择的概率也大。选择操作采用了 J.Holland教授提出的轮盘赌方式进行, 按照以下给定分布概率从先前的种群中随机选择个体, 重复进行了多次, 直到个体数目满足了预定的种群规模。

P (Si) =F (Si) j=1ΝF (Sj) (9)

F (Si) 表示在种群中Si的适应度值

(5) 变异

变异操作是根据每个对象与各聚类中心的距离对个体中相应基因位的值进行改变, 使种群朝着更优的方向进化。对于解空间中的个体, 每个基因位都对应于一个对象, 其值对应该对象所属类的类编号。如果一个对象离某个类中心的距离更近, 那么个体中对应此对象的基因位变异为这个类编号的概率就大。令Sw (i) 表示个体Sw对象xi所对应的基因位;dj=d (xi, vj) 为对象xi与类中心vj之间的Euclidean距离。每个基因位Sw (i) 在用户所定义的变异概率Pm的作用下 (0<Pm<1) 根据下式计算所得的概率使基因位的值发生变异

Pj=Pr{SW (i) =j}=kmdmax-dji=1Ckmdmax-di (10)

km是一个不小于1的常量;dj=max (dj) 是对象xi与各个类中心的最大距离。

(6) FCM操作

由于选择和变异操作是基于概率的, 因此选择与变异操作可能要以花费较多的时间为代价, 收敛到全局最优解。而且, 变异概率只能是一个较小的值, 因为变异概率Pm较大, 容易造成算法的振荡而退化为随机搜索。为了改善这种情况, 同时提高收敛速度, 引入了快速FCM算法中的一个操作步骤, 替换遗传算法中复杂的交叉操作, 最终得到TWVC最小的最优解。

2 实验与结论

为了测试本文算法的优越性, 实验选用Iris (尾属植物) 作为测试样本集。Iris数据集包含了150个样本, 分为三类不同的花: setosaversicolorvirginica;每类花包含50个样本。对于遗传FCM算法, 实验设初始群大小M=150, 变异概率Pm=0.01, 终止代数T=100, 聚类个数c=4, 进化代数T=100。将基于模糊C-均值与遗传FCM进行比较, 结果表1所示。

遗传算法和模糊C-均值各具特点, 本文提出的将两种算法结合在一起, 模糊C-均值操作提升了遗传FCM算法的收敛速度, 变异操作保证了算法的全局搜索特性, 使算法得到最优解。

参考文献

[1]Bezdek J C.Pattern Recognition with Fuzzy Objective Function Algo-rithms.New york:Plenum Press, 1981

[2]孙志胜, 曹爱增, 梁永涛.基于遗传算法的聚类分析及其应用.济南大学学报, 2004;18 (2) :127—129

[3]戴晓晖, 李敏强, 寇纪凇.基于遗传算法的动态聚类方法.系统工程理论与实践, 1999; (10) :108—110

[4]陈金, 书岗.遗传+模糊C-均值混合聚类算法.电子与信息学报, 24;210—215

[5]Goldberg D.Genetic Algorithm in Search, Optimization and Machine Learning Wesley, Readizlg, MA, 1989

[6]Goldberg D.Genetic Algorithm in Search.optimization and Machine Learning.Addision Wesley, Reading, MA, 1989

模糊均值算法 篇2

摘要:基于93个土壤表层样品重金属Cu、Zn、Cr、Cd、Pb和Hg全量浓度分析数据,应用模糊分类方法结合地统计学手段,对南京市边缘带梅山钢铁厂附近总面积约14 km2样区内的土壤重金属污染状况进行了空间预测.结果显示,样区北部及东北角区域的土壤遭受重金属元素Cu、Zn、Cr、Cd的轻微污染,样区西侧沿长江呈带状分布的土壤由于其重金属环境容量较低,存在潜在污染风险,样区其它区域的`土壤未发现由上述重金属元素导致的污染现象.样区东北角土壤Pb、Hg污染严重,并与Cu、Zn、Cr、Cd污染在空间上重叠,是土壤重金属污染控制与土壤修复的重点区域.样区的东部和东北部区域土壤受Pb、Hg中度污染,在梅山集团的北部土壤轻微污染.研究表明,与直接对重金属浓度分析数据实施插值分析的常规克里格方法相比,模糊c-均值聚类结合地统计学方法获得的空间预测结果蕴含信息更加丰富,而模糊集理论及其相关算法在土壤学诸多领域中也具有极大的应用潜力.作 者:檀满枝 陈杰 郑海龙 张学雷 TAN Manzhi CHEN Jie ZHENG Hailong ZHANG Xuelei 作者单位:檀满枝,TAN Manzhi(中国科学院南京土壤研究所土壤与农业可持续发展国家重点实验室,南京,210008;中国科学院研究生院,北京,100039)

陈杰,张学雷,CHEN Jie,ZHANG Xuelei(中国科学院南京土壤研究所土壤与农业可持续发展国家重点实验室,南京,210008)

郑海龙,ZHENG Hailong(香港中文大学地理与资源管理系)

隐隶属度模糊c均值聚类算法 篇3

聚类分析是数据挖掘和模式分类中的一个重要研究部分,是非监督分类的重要方法。模糊C均值聚类FCM[1,2]是聚类分析领域的一种典型算法,它将聚类问题采用数学形式表达、并以非线性规划优化理论作支撑、求解过程依靠计算机实现、并具有良好的聚类性能,因此成为聚类分析领域的研究热点及主流。FCM算法及改进算法[3,4,5]被广泛应用于图像处理[6,7,8]、模式识别、故障检测等领域。

FCM算法也存在一些不足,如容易陷入局部最优解; 对类别K值的选择没有准则可依循; 对初始赋值及异常数据较为敏感等。为获得全局最优解,研究者主要依靠并行生物优化算法对FCM算法进行求解,目的在于克服FCM梯度爬山法局部极小点的缺陷。文献[4]在FCM算法中引入生物遗传算法( GA)求解,以期提高FCM算法全局寻优性能,类似的方法还包括文献[5],文献[5]引入粒子群算法( PSO) 实现对FCM算法的求解; Zhang等人[6]利用PSO和PCM实现基于马氏距离的图像分割方法; 文献[7]提出不确定c均值聚类算法VCM( Vague Cmeans Clustering algorithm) ,引入真实聚类隶属度和虚假聚类隶属度,并利用QPSO进行算法求解; 文献[8]提出基于PSO的动态加权FCM算法,以达到提高雷达跟踪目标精度的目的; 文献[9]将FCM及fuzzy PSO算法结合起来,从而有效提高聚类算法的性能。基于生物寻优算法求解的模糊聚类算法,一般首先针对聚类中心进行编码,然后基于目标函数及梯度法得到模糊隶属度迭代公式,聚类算法在AO交替迭代的过程中,需要分别计算模糊隶属度和聚类目标函数,而二者存在重复计算的内容,从而降低了算法的计算效率。提出隐隶属度模糊c均值聚类HMFCM,首先将FCM模糊隶属度公式带入FCM目标函数,从而得到无模糊隶属度的HMFCM目标函数,使得HMFCM目标函数仅包含聚类中心,然后利用PSO算法对聚类中心进行编码求解,最后利用样本与聚类中心间距离进行类别估计。HMFCM仅需利用PSO算法对聚类中心进行编码及计算聚类目标函数,而省略了对模糊隶属度的计算,从而提高了算法的计算效率,理论分析了算法的相关性质,通过仿真实验验证了算法的有效性和时效性。

1 隐隶属度模糊C均值聚类( HMFCM)

1. 1 模糊c均值聚类( FCM) 及粒子群算法( PSO)

FCM用值在0 到1 之间的隶属度确定每个样本属于各个组的程度,FCM最优化准则为:

利用梯度法得到FCM的模糊隶属度及聚类中心迭代公式,如式(2)、式(3)所示:

粒子群优化算法(PSO)是Eberhart等人在1995年提出的群智能自适应进化搜索算法,已成功应用于大量非线性、不可微和多峰值复杂问题的优化[10,12]。基本PSO算法中每个粒子都是优化问题的一个可行解,结合粒子位置和飞行速度决定其下一代粒子位置,经过逐代搜索最后找到最优解。在每一代迭代中,每个粒子根据自身最优pbest和全局最优gbest来修正自身飞行速度。

粒子的速度及位置更新公式分别为:

其中c1、c2为加速因子,取为正的常数; r1、r2为[0,1]之间的随机数,w称为惯性因子。

1. 2 HMFCM目标函数

HMFCM算法构造思路: 对于给定的聚类中心,将FCM模糊隶属度公式带入FCM目标函数中,则将目标函数转换为与模糊隶属度无关的函数,从而在目标函数中隐藏了模糊隶属度并降低了目标函数复杂度。

对于给定的聚类中心,首先将FCM模糊隶属度式( 3) 进行整理,得到:

从而有:

即有:

将式(7)两边乘以uij并对i求和,则有:

将式(8)两边对j求和,从而将FCM目标函数转换为HMF-CM目标函数:

式(9)即为HMFCM算法的目标函数,且在式(9)中模糊隶属度信息被隐藏了,即HMFCM算法仅与聚类中心有关。

1. 3 HMFCM聚类中心求解

由于HMFCM目标函数隐藏了模糊隶属度,所以无法类似FCM利用梯度法及AO交替迭代法对聚类中心及模糊隶属度进行估计,考虑采用粒子群算法( PSO) 在聚类中心解空间中搜寻最优解。

PSO算法以实数形式对聚类中心进行编码,每个粒子由c个聚类中心的d维分量组成,粒子除了位置值之外,还有速度和适应度函数,每个粒子位置和速度都是c × d维变量[12]。

定义HMFCM适应度函数为:

1. 4 HMPCM迭代流程

HMPCM算法采用下列步骤确定聚类中心及类别判决,迭代步骤为:

步骤1

初始化多个c × d维粒子的位置Xi( 0) 和速度Vi( 0) 。

步骤2

将粒子位置Xi( t) 的每d维分量构成一组对应为一聚类中心ck,从而实现聚类中心矩阵P的初始化。

步骤3

用式( 10) 计算多个粒子的适应度函数值。如果迭代次数超过某个限值,或群体最优解适应度相对上次群体最优解适应度的改变量小于某个阈值,则算法停止。

步骤4

记录及更新个体最优解Pi( t) 和群体最优解Pg( t) ,进而更新粒子速度Vi( t + 1) 及位置Xi( t + 1) ,返回步骤2。

由于HMFCM算法不存在模糊隶属度,而在目标函数计算中得到了样本与聚类中心距离,在模糊聚类算法中,样本与聚类中心距离是与模糊隶属度成反比例关系的,考虑采用样本与聚类中心距离决定样本的类别归属。聚类算法的核心思想在于距离越小类别归属度越大,当确定聚类中心后即可确定样本与聚类中心距离,最大隶属度类属确定原则等价于最小距离类属确定原则。从而HMFCM对样本xj的聚类类别判定为:

2 HMFCM性质分析

2. 1 HMFCM算法复杂性比较

模糊聚类算法的复杂度由每次迭代时参量的计算复杂度及迭代次数所决定。由于HMFCM采用粒子群算法对聚类中心寻优,所以可以将HMFCM算法与基于PSO聚类中心寻优的FCM算法( PSO-FCM) 进行比较。

在单次迭代中,HMFCM算法的复杂度直接由目标函数的复杂度决定,由式( 9) 可知,HMFCM目标函数的乘法计算复杂度为O( ncd) ,其中n为样本个数,c为类别数,d为样本维数。

当FCM算法基于PSO进行聚类中心寻优时,需要根据式( 2) 模糊隶属度及根据式( 1) 计算目标函数,则在一次迭代中,PSO-FCM的乘法复杂度由计算模糊隶属度及目标函数的复杂度所决定。在单次迭代中,由式( 2) 可知,模糊隶属度的复杂度为O( cd) ,因此结合式( 1) 可知,PSO-FCM目标函数的复杂度为O( nc2d) 。

因此HMFCM算法复杂度低于PSO-FCM的算法复杂度,从而降低了计算量、提高了运算效率,同时由于计算量的减少,有助于算法计算精度的提高,进而改进算法的聚类效果。

2. 2 HMFCM算法收敛性分析

HMFCM算法依赖PSO算法对聚类中心进行寻优及估计,因此HMFCM算法的收敛性取决于PSO算法的收敛性,粒子群算法的迭代寻优收敛性证明已经有大量研究工作和研究成果[13,14]。HMFCM算法采用基本PSO算法进行参数估计及目标函数求解,并在PSO算法收敛参数范围内取值,PSO算法迭代收敛性保证了EFCM算法迭代过程的收敛性。

3 仿真实验

为了验证HMFCM算法的有效性和计算效率,将HMFCM算法与FCM、PSO-FCM算法进行对比测试。

3. 1 公共测试数据集

基于UCI机器学习数据库中的公共数据集进行算法比对测试,所选数据集包括Iris、Wine两个数据集,两个数据集的信息如表1 所示。

3. 2 实验参数设置

粒子群优化算法采用实数编码,一个编码对应于一个可行解,每个粒子的维数为c × d维,其中c为类别数,d为样本维数,c × d维表示了c个聚类中心的总维数,针对Iris数据集的测试时,c = 3,d = 4 ; 针对Wine数据集的测试时,c = 3,d = 13 ; 粒子群适应度函数定义如式( 10) 所示,式( 10) 以倒数形式将模糊聚类目标函数最小化转化为PSO适应度函数最大化。粒子数取为20,迭代次数100 次,粒子位置的每维参数取值范围取为[0,100]。利用FCM、PSO-FCM及HMFCM算法做算法比对测试,共进行10 次试验,计算各类聚类平均精度。

3. 3 实验结果及分析

实验结果包括两个部分,一是各算法的聚类精度,另外一个是考察PSO-FCM及HMFCM算法测试时实验耗时的比对。由于FCM算法采用梯度法求解参量,迭代次数较少,用时较短,因此没有比对FCM算法迭代耗时的需要,而PSO-FCM与HMFCM利用PSO算法迭代寻优。

实验结果如表2、表3 所示。

同时基于Iris数据集,记录PSO-FCM算法在m = 2 及m =3 时的平均运行时间为: 30. 431. 秒; 记录HMFCM算法在m = 2及m = 3 时的平均运行时间为: 30. 195 秒。

基于Wine数据集,记录PSO-FCM算法在m = 2 及m = 3 时的平均运行时间为: 31. 102 秒; 记录HMFCM算法在m = 2 及m = 3 时的平均运行时间为: 31. 073 秒。

在聚类精度方面,当对Iris数据集测试时,HMFCM算法表现更优,当对Wine数据集测试时,PSO-FCM与HMFCM算法相差不多,没有明显的差异,且都略低于FCM算法。这说明不同的聚类算法适用于特定不同的数据集,需要针对数据集特性研究分析适用的聚类算法。在运算效率方面,FCM算法由于是梯度法,迭代速度是最快的,迭代的次数也是最少的。而基于PSO的聚类算法一般要求按迭代次数迭代,HMFCM算法不需计算模糊隶属度,可以直接计算聚类目标函数及PSO适应度函数,相较于PSO—FCM算法,在算法运算时间上略微占优,但并不非常明显。

4 结语

模糊聚类[15]广泛的应用于模式分类及数据挖掘领域。隐隶属度模糊c均值聚类算法( HMFCM) 将FCM模糊隶属度代入FCM目标函数中进行约简,从而得到无模糊隶属度的简化目标函数。并采用PSO算法对聚类中心进行估计,同时利用样本与聚类中心距离进行类别判决。理论性质分析表明新算法降低了原有算法的复杂度,仿真实验验证了所提出算法的有效性及时效性。这种隐隶属度方法有助于降低算法复杂度,进而提高算法精度和效率,可以进一步满足实际问题对聚类算法实效性的要求。下一步工作将把此方法推广到其他聚类算法中去。

摘要:针对基于粒子群的模糊聚类算法运算效率较低的问题,提出隐隶属度模糊c均值聚类算法HMFCM(hidden-membership fuzzy c-means clustering)。HMFCM算法将FCM模糊隶属度迭代公式代入FCM目标函数中约简,得到无模糊隶属度的HMFCM目标函数,并利用PSO算法对聚类中心进行编码寻优,最后利用样本与聚类中心距离进行类别判决。HMFCM算法无需计算样本模糊隶属度,降低了聚类算法复杂度,提高了算法的计算效率及精度,而且该方法可以推广到其他基于生物寻优的聚类算法。通过仿真实验验证了所提出算法的有效性和时效性。

基于蚁群算法的模糊C均值聚类 篇4

蚁群算法的基本思想是模仿蚂蚁依赖信息量进行通信而显示出的社会性行为,在智能体定义的基础上,由一个贪心法指导下的自催化过程引导每个智能体的行动,它是一种随机的通用试探法。AS的信息正反馈机制能迅速找到好的解决方法并被用于数据的特征聚类,取得了很好的仿真实验结果。蚁群算法具有很强的发现较好解的能力,不容易陷入局部最优。这是因为该算法不仅利用了正反馈原理,在一定程度上可以加快算法的进化过程,而且是一种本质上并行的算法,并通过个体之间不断的信息交流和传递有利于发现较好解。

1 模糊C均值聚类方法(FCM)

FCM算法是Bezdek提出用来对数据进行模糊聚类的方法,把目标数据集X聚成c类的FCM算法的基本思想是找到一个模糊划分聚类(uij)c×n以及c个类的中心B={ν1,…,νc},使得给定的目标函数最小。

设R是实数域,Rcn是所有实数域上的c行n列矩阵组成的集合,记

将X划分成为c类的FCM算法的迭代过程如下:

1)取定c,2≤c

2)U=U(s)计算c个向量νi=νis,

3)用U=U(s)∈Mfc。记dij=d(xj,νi),对于每个固定的i,如果对所有样本点1≤j≤n,都有dij>0,则

否则,如果dij>0,则uij=0,和uij∈[0,1],u1j+…+ucj=1。

4)取合适的矩阵范数‖g‖,取定ε,ε是任意小的实数,如果‖U(s+1)-U(s)‖≤ε,则停止循环;否则,置s=s+1并返回第2)。

当算法收敛时,就得到了各类的聚类中心和各个样本属于各类的隶属度值,从而完成了模糊聚类划分。

模糊C-均值聚类算法的主要问题是虽然FCM算法简单而且运算速度快,但抗噪功能较差[1],不能保证收敛到目标函数的极小值点,有时会收敛到目标函数的鞍点,模糊中心点的选取具有随意性,而且模糊权重m选择的好坏直接影响聚类的效果。在噪音环境下,采用欧氏度量的聚类方法有时不够稳定,而且对于算法的初值、类的形状、大小都过于敏感。

2 蚁群算法

蚁群算法是最近几年才提出的一种新型的模拟进化算法[2]。人们经过大量研究发现,蚂蚁个体之间是通过一种称之为信息素的物质进行信息、传递,从而能相互协作,完成复杂的任务。蚂蚁在运动过程中,能够在它所经过的路径上留下该种物质,而且蚂蚁在运动过程中能够感知这种物质的存在及其强度,并以此指导自己的运动方向,蚂蚁倾向于朝着该物质强度高的方向移动。因此,由大量蚂蚁组成的蚁群集体行为表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。蚂蚁个体之间就是通过这种信息的交流达到搜索食物源的目的。

蚁群算法的主要特点是通过正反馈、分布式协作来寻找最优解,这是一种基于种群寻优的启发式搜索算法,能根据聚类中心的信息量把周围数据归并到一起,从而得到聚类分类。其具体步骤为:变量初始化;将m只蚂蚁放到n个城市上;m只蚂蚁按照概率函数选择下一座城市,完成各自的周游;记录本次迭代的最佳路线;更新信息素;禁忌表清零;输出结果。

3 基于蚁群算法的模糊C-均值聚类

应用蚁群算法与FCM算法相结合进行模糊聚类。一方面,蚁群算法的鲁棒性(稳定性)可以有效地克服FCM算法对初始化的敏感;另一方面,它的并行分布式计算可以加速收敛,提高聚类效率。最重要的是该算法的智能搜索和自适应特点可以达到全局最优。基于以上分析,用蚁群算法实现基于目标函数的动态模糊聚类的方法(AC-FCM算法)[3]。

3.1 问题定性

将待聚类数据视为具有不同属性的蚂蚁,每只蚂蚁具有N维特征矢量,聚类中心作为蚂蚁需要寻找的“食物源”,确定聚类中心的过程就是这些具有不同特征蚂蚁从蚁穴去搜索食物源的过程,蚂蚁在搜索时,不同的蚂蚁选择某个数据元素是相互独立的。假定每个特征矢量为X={Xk襔k=1,2,…,n},Xk={xk1,xk2,…,xkm}有n个输入样本,每个样本有m个特征。

3.2 初始化

给定样本点集X={Xk襔k=1,2,…,n},迭代次数N,特征矢量维数m,聚类半径r,统计误差ε0,各信息素τki(0)=0,初始中心V;计算

3.3 优化过程

3.3.1 路上残留信息量

在初始时刻各条路径上的信息量相等且为0。在路径上的信息量由下式给出:

否则

pki(t)表示t时刻蚂蚁忌由xk选择到νi的概率:

,其中,S是蚂蚁下一步可以选择的样本点的下标的集合,ηki(t)为t时刻蚂蚁k由xk选νi的启发信息,可取为1/dki,α和β分别为残留信息和启发信息的重要程度。

3.3.2 更新机制

随着蚂蚁的移动,各路径上信息量发生变化,经过一次循环,各路径上信息量根据下式进行调整:

其中,ρ为0-1之间的常数,表示信息素的持久强度;Q为常量,表示蚂蚁完成一次路径搜索所释放的信息素总量。

3.3.3 路径决策

如果pki(t)≥p0,则xk归并到νi领域。令:

式中,表示所有归并到Vi邻域的数据集合;否则,计算下一个样本间加权欧氏距离。

求出理想的中心:

3.4 终止条件

计算,计算第i个聚类的偏离误差及总体误差,计算总体误差,再判断ε≤ε0是否成立。成立输出聚类个数c;若不成立,继续迭代。

4 实验结果及分析

为了检验AC-FCM算法的有效性,采用随机数产生的二维仿真数据集。该数据集在采用FCM和AC-FCM算法前后差异比较显著。实验效果图采用Matlab实现,见第59页图1和图2。

由第59页图1和图2对比可以清晰地发现,基于蚁群算法得模糊C-均值聚类算法比单独使用模糊C-均值聚类的效果要好,它将聚类分的更加明细,聚类结果图每类也趋于圆滑,这说明算法使聚类表现出较优的效果,有较大地可信度。

5 总结

首次将蚁群算法应用到模糊建模中,并取得了良好的效果。蚁群算法是一种来自大自然的随机搜索寻优方法,是生物界的群体启发行为,现已陆续应用于组合优化、人工智能、通信等多个领域。蚁群算法的正反馈性和协同性使其可用于分布式系统,隐含的并行性更使之具有极强的发展潜力。由于它能较好地确定聚类中心和聚类数目,避免了收敛结果易陷入局部极小得问题,可以得到全局最优解,所以取得了较好的聚类效果,实验证明了该算法得有效性。

参考文献

[1]毛韶阳,李肯立.K-means初始聚类中心优化算法研究[J].重庆邮电大学学报,2007,19(4):422-425.

[2]吴启迪,汪镭.智能蚁群算法及应用[M].上海:上海科技教育出版社,2004.

模糊均值算法 篇5

智能电网环境下,电力系统规模日益庞大,电力系统的结构日益复杂,需求侧负荷特性日趋多样化,电力系统的数字仿真成为电力系统设计、规划、调度和控制的重要工具[1]。负荷特性分类是负荷建模的核心内容,是解决负荷特性随机时变性问题和区域分散性问题的有效途径[2]。此外,随着电力需求侧管理(DSM)技术的推广和应用,负荷特性分类也是实现负荷优化分配经济性[3]、负荷分类预测精确性[4]、差异化电价制定合理性[5]和不良数据辨识实用性[6]的重要条件。

许多学者研究了电力系统负荷特性分类问题[7,8]。模糊C均值(Fuzzy C-Means,FCM)算法建立了样本对类别的不确定性描述,可以量化表征样本到类别的隶属关系,能够更客观的反映聚类结果,因此,在电力负荷特性分类中被广泛应用[9,10,11,12,13]。Prahastono等人[9]利用FCM算法和聚类有效性函数,对印度尼西亚的真实电力数据进行了分类研究;Tsekouras等人[10]采用基于FCM等聚类算法的两阶段模式识别,进行负荷分类,并将分类结果用于负荷预测和电价制定;文献[11]通过优化理论获得聚类中心矩阵,利用FCM算法同时完成了负荷特性的分类与综合;文献[12-13]分别设计了一种可用于负荷分类的自适应FCM算法。然而,传统FCM算法具有多方面的不足[14],如对初始聚类中心敏感、聚类数难以确定和容易陷入局部最优等,这些缺陷将直接影响FCM算法用于负荷分类的有效性和合理性。

将群体智能算法与传统聚类算法相结合,为电力系统负荷特性分类提供了新的方向和思路[15]。模拟退火算法(Simulated Annealing,SA)具有较强的局部搜索能力,可以使搜索过程避免陷入局部最优,但其全局搜索能力不足;而遗传算法(Genetic Algorithm,GA)虽然局部搜索能力较差,但把握搜索过程总体的能力较强。将SA和GA结合的SAGA混合算法可以互补单一算法的优势,提高算法整体性能。将SAGA与传统FCM算法结合的SAGA-FCM聚类算法可以克服传统FCM算法的缺陷,提高负荷分类的有效性合理性[16]。

为了检验SAGA-FCM算法用于负荷分类的性能,本文将其与系统聚类法、K-Means算法和传统FCM算法分别用于对变电站综合负荷特性数据的分类,通过对实验结果的比较分析,表明了SAGA-FCM算法的有效性和优越性。

1 聚类算法和负荷分类模型描述

1.1 FCM算法

FCM算法是一种局部搜索算法,以各个样本到其聚类中心的类内距离加权平方和最小获取最优聚类结果。引入了隶属度的概念,采用模糊划分表示各个样本属于各个聚类中心的程度,标准化后的隶属度矩阵U的元素μik允许取值在[0,1]之间,且满足

式中:c为聚类数;n为样本总数;μik表示样本k属于第i个聚类中心的隶属度。

FCM算法的目标函数为

式中:V为聚类中心矩阵;m为加权指数;dik表示样本k到第i类聚类中心的距离。

根据拉格朗日乘数法,可以求得样本k属于第i个聚类中心的隶属度μik和第i类的聚类中心vi,分别为

式中:c为聚类数;dik表示样本k到第i类聚类中心的距离;m为加权指数;n为样本总数;xk为第k个样本。

1.2 SAGA-FCM算法

结合SA和GA的SAGA可以克服SA整体搜索能力不足和GA局部搜索能力较差的问题,使二者优势互补。将SAGA用于模糊聚类[16],形成的SAGA-FCM算法可以根据聚类问题的具体情况设计遗传编码方式和适应度函数,从而有效地克服传统GA的早熟现象,避免聚类算法陷入局部最优,使聚类算法更快速有效地收敛到全局最优解。

SAGA-FCM算法流程如图1所示。

1.3 电力系统负荷分类模型

电力系统负荷分类就是利用各种聚类算法对选取的负荷数据样本进行分类,从而挖掘不同类型负荷的特性,辅助电力系统决策。电力系统负荷分类的模型如图2所示。

其中,选取负荷样本是指在数据采集的基础上,根据负荷分类任务的需要,在特定时间维、空间维和用户维选取一定容量的负荷数据,作为负荷分类的输入样本。

智能电网环境下先进智能量测设备采集到的负荷数据结构是复杂的异构、多维、粗糙数据。在进行负荷分类之前,需要进行原始负荷数据的清洗和预处理,包括不良数据的辨识和修正、数据标准化和无量纲化处理等。

分类特性对负荷分类的依据,且直接影响负荷分类的结果。负荷分类特性指标的选择有很多方法,文献[17]总结了描述类、比较类和曲线类三大类负荷特性指标体系。

在样本选取、数据预处理和分类指标确定之后,就要选择合适的聚类算法进行负荷分类。此外,还需要利用各种评价指标对聚类算法用于负荷分类的性能进行评价。负荷分类的目的是应用,即认识和挖掘各类负荷的特点,并辅助支持电力系统的相关决策。

2 实验分析

我们采用文献[11]中湖南省48个220 k V变电站综合负荷静态特性数据进行算例实验。该数据为标准化的湖南省重工业、轻工业、采掘业、农业、第三产业和市政服务业六大用电行业的负荷容量百分比,如表1所示。详细数据请参见文献[11]。

分别用系统聚类法、K-Means算法、传统FCM算法和SAGA-FCM算法对该变电站综合负荷数据进行聚类。对四种聚类算法设置一致的参数,相关参数设置如下:种群规模为100,最大进化代数为100,交叉概率为0.7,变异概率为0.01,初始退火温度为100,终止温度为1,冷却系数为0.8,模糊程度系数为2。

2.1 算法搜索策略比较分析

FCM算法迭代100次的目标函数值变化如图3所示。SAGA-FCM算法同样迭代100次,其目标函数值变化如图4所示。

比较图3和图4,可以看出传统FCM算法的目标函数值曲线随着迭代的进行变化较为平缓,说明其极易陷入局部最优解。而SAGA-FCM算法的目标函数值在100次迭代中有94次迭代的目标函数值在全局最优解附近,仅在极少数迭代点处出现了较大波动。对SAGA-FCM算法,可以通过前后两次迭代目标函数值的比较,控制适应度值在少数点的波动,使其始终围绕全局最优解迭代。因此,SAGA-FCM算法的全局搜索性能优于传统FCM算法。

此外,传统FCM算法目标函数值最终收敛于4 178.513 4,而SAGA-FCM算法的最优目标函数值为4 068.360 1,SAGA-FCM算法的最优目标函数值小于传统FCM算法,表明SAGA-FCM算法对48个变电站的聚类结果优于传统FCM算法。

2.2 聚类效果比较分析

良好的聚类算法应该实现各个样本到其聚类中心的距离尽可能小,而各个类之间的距离尽可能大,可以用聚类有效性函数来确定最佳聚类数,Xie和Beni提出了聚类有效性函数XB[18]是类内距离和与最小类间距离之比,以XB函数最小确定最佳聚类数。该函数兼顾了类内紧致性和类间分离性两个特点,性能较好,是应用比较广泛的聚类有效性函数。

在相同聚类数条件下,XB值越小,表明聚类效果越好。c=7时,分别计算系统聚类法、K-Means算法、传统FCM算法和SAGA-FCM算法的XB指标,结果如表2所示。

表2表明,在相同聚类数c=7时,SAGA-FCM算法和FCM算法聚类效果优于系统聚类和K-Means算法。且SAGA-FCM算法的XB值最小,在四种算法中,聚类效果最优。

此外,可以用各样本到其聚类中心的距离变化率来比较两种算法的聚类效果[13]。样本i到其聚类中心的距离变化率Ki表示为

式中,Di,A表示样本i在聚类算法A下距其聚类中心的距离。

距离变化率Ki反映了不同聚类算法聚类效果的差异性,正值表明B算法下各样本到其聚类中心的距离减小,B算法增强了类内紧致性,新的聚类中心更好地代表了全体样本的特性,即B算法优于A算法。K值越大,说明B算法相对于A算法的聚类效果改善的越明显。分别计算FCM算法与K-Means算法、FCM算法与系统聚类法以及SAGA-FCM算法与FCM算法比较的距离变化率,结果分别如图5~图7所示。

通过对上述算法距离变化率的计算,可以得出,用于电力系统负荷特性分类的各算法中,SAGA-FCM算法和传统FCM算法效果明显优于系统聚类和K-Means算法,SAGA-FCM算法略优于传统FCM算法。

2.3 聚类结果比较分析

分别用系统聚类法、K-Means算法、传统FCM算法和SAGA-FCM算法将上述变电站综合负荷数据聚为7类,各个算法的聚类结果如表3所示。

从表3可知,系统聚类与其他三种算法的聚类结果差异性最大,聚类效果最差;K-Means算法与FCM算法有两类聚类结果相同,与SAGA-FCM算法有一类聚类结果相同,聚类效果也不够理想;而FCM算法与SAGA-FCM算法有三类聚类结果完全相同,两类聚类结果有微小差异,仅有两类聚类存在明显差异,聚类结果优于系统聚类和K-Means算法。

对FCM算法和SAGA-FCM算法分类结果差异较大的第二类、第四类和第七类进行分析。根据文献[11]中负荷特性数据构成,第二类是以重工业为主、农业为辅的负荷区域,而第11、13和22个的样本中市政生活和轻工业负荷比例也较大,FCM算法将其归于第二类是不恰当的。而第四类中没有某一类负荷构成占绝对比例,SAGA-FCM算法将第11、13和22个的样本归于第四类是比较合适的。第七类负荷是以市政生活类负荷为主的变电站,第4、6、16、27和28个样本中市政生活类负荷均占绝对比例,SAGA-FCM算法将它们归于第七类比FCM算法将它们归于第四类的结果更优。

3 结语

本文将SAGA-FCM算法用于电力系统负荷特性分类,得出以下结论:

1)SAGA-FCM算法用于电力系统负荷分类的综合效果优于传统FCM算法、K-Means算法和系统聚类法。

2)SAGA-FCM算法克服了传统FCM算法对初始聚类中心敏感和全局搜索能力不足的缺陷,能够获得更优的全局最优解,使电力系统分类结果更加精确。

模糊均值算法 篇6

电力负荷作为电力系统的重要组成部分,其模型精确性对电力系统的潮流计算、小扰动稳定计算、暂态稳定计算、电压稳定计算的结果都有一定程度的影响[1,2,3,4]。因此建立可靠、实用的负荷模型,既具有理论意义又具有工程实用价值[5]。长期以来,国内外学者在电力负荷建模研究和应用方面取得了大量成果[6,7,8,9,10]。但是由于负荷自身的特殊性,建立精确的电力系统负荷模型非常困难。

负荷建模的最大困难在于负荷的时变性,负荷时变性问题本质上是指由于综合负荷内部基本构成的改变而引起描述其负荷特性方程的参数改变[11]。为了研究负荷构成的时变性,面对电力负荷的大量性、多样性,必须采用分类的方法,从多个侧面来描述负荷的行为,达到模型的准确性和实用性的合理折中。文献[12]的研究表明,尽管负荷组成存在时变性和随机性,但综合负荷特性仍然呈现一定的规律性。因此,对负荷动特性进行分类与综合是负荷模型走向实用化的有效手段。负荷动特性的分类问题属于聚类分析问题,包括特征向量的选择和聚类方法的确定两个方面。

聚类分析是一种数据划分或分组处理的重要手段和方法,但是传统的聚类分析是一种硬划分,它把每个待识别的对象严格地划分到某个类中,因此难以反映负荷运行条件(如季节和负荷水平等)与负荷构成之间错综复杂的关系。相对,模糊聚类由于能够描述样本类属的中介性,己逐渐成为聚类分析的主流。在众多的模糊聚类算法中,模糊C均值聚类算法(FCM)是非监督模式识别中应用最为广泛的算法之一。尽管FCM算法是一种无监督的分类算法,但是,其两个参数在进行聚类分析前必须给出恰当的赋值,即模糊加权指数m和聚类的类别数c,否则将影响其分类效果并将直接影响聚类分析结果的合理解释。

然而面对大量的负荷样本数据时,其聚类数一般是不可能预先知道的。如果选择的分类数目不合适,无论后续步骤采用多么优良的聚类算法和阈值选择方案,企图得到良好的聚类结果肯定是不可能的[13]。针对此问题,本文提出了自适应FCM聚类算法,该算法不依赖于任何的初始条件,并把聚类有效性函数融入到算法中,从而避免了聚类数目在选取上存在的主观性,提高了FCM算法的实用性,实现了聚类全过程无须人工干预的目的。并将其应用于解决综合负荷特性分类问题,通过动模实验数据为例,验证了方法的有效性。

1 模糊C均值算法描述及参数优选

给定数据集X={x1,x2,⋅⋅⋅,xn}为n元数据集合,xj∈Rs,即数据集合X中第j个元素xj是一个s维矢量:即xj={xj1,xj2,⋅⋅⋅,xjs},j=1,2,⋅⋅⋅,n。模糊聚类就是要将X划分为C类(2≤C≤n),其中v={v1,v2,⋅⋅⋅,vn}为C个聚类中心。在模糊划分中,每一个样本点不能严格地被划分到某一类,而是以一定的隶属度属于某一类。令uij表示第j个样本点属于第i类的隶属度,在FCM聚类算法中,隶属度矩阵和聚类中心分别为U={u ij}和V={v i}。且有

模糊C均值聚类的目标函数为:

其中:

为样本xj与聚类中心iv之间的欧式距离;m≥1是模糊加权参数,表示控制分类矩阵U的模糊度,m越大,分类的模糊程度越高。

则FCM算法就是求在满足条件的情况下,得到目标函数J的最小值。FCM算法就是反复修改聚类中心矩阵和隶属度矩阵的分类过程。

在应用FCM算法对给定的数据集进行聚类分析时,需要涉及到两个参数的选取问题:

(1)样本集的聚类数c,即聚类有效性问题;

(2)模糊加权指数m。

1.1 聚类数c的自适应方法

FCM聚类算法要求预先确定聚类数目,但对于不同的数据集很难确定聚类的种类个数,聚类数c的不同,产生的效果就不同。这就需要利用对聚类的有效性分析,从而获得理想的分类。

聚类的目的就是将数据分类并尽量使类间的距离尽可能地大而类内的数据点距离尽可能地小,基于上述思想,下面给出聚类数c的自适应函数。

总体样本的中心向量为

聚类数c的自适应函数:

函数与L(c)的分子表征类与类之间的距离,分母表征类内数据点与该类中心之间的距离,因此L(c)的值越大,说明分类越合理,即对应L(c)值最大的c为最佳聚类值。

1.2 加权指数m的研究

参数m又称为平滑因子,控制着模式在模糊类间的分享程度,因此要实现模糊聚类就必须选定一个合适的m值,然而最佳m的选取目前尚缺乏理论指导。m有如下性质:

(1)如果不考虑隶属函数和聚类原型与参数m的嵌套隐含关系,Jm(U,V)随m的增加而单调递减。这是由于

(2)对于m∈[1,+∞)的FCM算法,存在以下情况:当m→1+时,FCM算法退化为HCM(硬c-均值聚类算法);当m→∞时,FCM算法的聚类结果是最模糊的,即

即m越大,则聚类越模糊。所以,FCM算法中,m值不能太大。

(3)m值越大则抑制噪点的功能越强。

(4)m值还影响到目标函数的凹凸性和算法的收敛性。

Bezdek给出过一个经验范围1.1≤m≤5;后又从物理解释上得出m=2最有意义;Chan等人从汉字识别的应用背景得出m的最佳取值应在1.25~1.75之间;Pal等人则从聚类有效性实验研究中得到m的最佳选取区间为[1.5,2.5],在不作特殊要求的情况下一般取区间中值m=2。

2 自适应FCM算法

本文提出的自适应模糊C均值聚类算法是在模糊聚类算法的基础上,利用正有的有效性函数自动获取聚类数目,继而进行模糊聚类,实现了从确定聚类数目到得到聚类结果一体化。

自适应模糊C均值聚类算法的流程如图1。

算法具体实施步骤如下:

(1)给出迭代标准ε>0,聚类数c=2,聚类数1的自适应函数L(1)=0,初始分类矩阵V(0),k=0。

(2)用公式(6)计算U(k)

如果存在j,r,使得drj(k)=0,则令:uij(k)=1且当i≠r时,uij(k)=0。

(3)用公式(7)计算V(k+1)

(5)计算L(c),在c>2并且cL(c-2)并且L(c-1)>L(c),则聚类过程结束,否则置c=c+1,转向步骤(1)。

下面是用两组人造的数据来检验算法的实现,见图2。通过人造数据实验,可以看到该算法可以自动地给出最佳的聚类数c相应的聚类有效性函数值以及相应的划分隶属矩阵和聚类中心(由于是人造数据故未将划分隶属矩阵写出来)。其中样本1中聚类有效性函数值L(2,3,4)=(50.294 1,118.954 1,111.308 3),样本2中L(2,3,4,5)=(75.084 7,115.835 2,154.901 1,146.829 4)。

3 自适应FCM算法在负荷分类的应用

对于负荷建模来说,分类就是根据特征量来分析确定本质上相同或相似的负荷样本构成的类别。特征量的选取对于分类来说特别重要,特征量应该能够反映对象的本质特征,如此进行分类才能够获得良好的效果。可以考虑的特征量有:(1)时间特征量:包括年度、季节、日类型、时分秒。(2)参数特征量:包括每个样本的模型参数;(3)运行特征量:包括负荷功率,还包括感应电动机所占比例等;(4)动态特征量:包括感应电动机的动态特征值;

在工程实际中可以首先根据时间特征进行初步划分,然后根据参数、运行、动态特征量进行进一步分类。本文采用特征量的第二种方案,即采用模型参数作为负荷动特性分类特征向量。根据文献[14]的研究成果,考虑到模型的每个参数的辨识结果误差有大有小,其灵敏度是不一样的,因而对不同的参数应赋予不同的权值,以表征它对辨识结果的影响程度,来解决参数分散性的问题。

特征向量获取流程如图3所示。

负荷特征向量获取具体操作如下:

(1)如采集到n组负荷扰动数据,用这些数据分别进行辨识,得到各自的辨识结果X=(x1,x2⋅⋅⋅,,xn),其中x1,x2,⋅⋅⋅,xn都是由7个指标组成的向量

(2)对原始数据进行标准化处理。也称归一化处理,包括同趋化处理和无量纲化处理两个方面。数据同趋化处理主要解决不同性质数据问题,对不同性质指标须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果;数据无量纲化处理主要解决数据的可比性,由于各个变量的单位和数量级不一样,直接使用原始数据进行计算就会突出那些绝对值大的变量而压低了那些绝对值小的变量。所以在进行聚类之前,先将原始数据进行标准化处理。本文中,采用数据极差正规化方法,如式(8)所示:

经过标准化处理,原始数据均转换为无量纲化指标测评值,可以进行综合测评分析。

(3)加权处理。参考前人研究成果,各参数的影响及取值情况如表1所示。如此,待分类的输入样本就可表示成:

其中:Wj表示第j列元素对应的权值。

在获得负荷待分类样本特征向量后,即可根据前述自适应FCM算法对样本进行聚类分析。

4 算例分析

算例数据来自动模实验[15],样本负荷构成、电压扰动情况如表2。

由表2知,样本共可分为三类。样本1和样本2可看为类别Ⅰ,样本3和样本4可看为类别Ⅱ,样本5和样本6可看为类别Ⅲ。

动模数据样本经参数辨识,结果如表3所示。

对样本特征向量数据进行标准化、加权处理后,采用自适应FCM算法对样本进行分类。经计算分析,样本聚类有效性函数值L(2,3,4,5)=(9.872 3,11.398 0,21.830 6,19.378 5),可见最佳聚类数c=4,求得各个样本对各个聚类中心的隶属度和负荷分类情况如表4所示。由表中分类结果可见,样本1和2分为Ⅰ类,样本3,4为Ⅱ类,样本5,6分别为Ⅳ类和Ⅲ类,除样本5外,分类结果均正确。对样本进行分析,样本5和6出现未能分到同一类的情况,这和辨识结果中两者差异过大有关。

采用原始模糊C均值聚类方法对表2中处理后的数据进行分类,预先设定聚类数c=3,聚类结果与自适应FCM分类情况相比较,结果如表5。

由表5可见,采用自适应模糊C均值算法对负荷进行分类,不但可以给出适合的聚类数,而且效果要比采用原始模糊C均值算法聚类的效果好。并且当面对大量、随机负荷样本时,自适应算法更会体现出其优势。

5 结论

本文在原始模糊C均值算法的基础上,将聚类有效性函数融入到算法中,提出一种新的自适应模糊C均值聚类算法,并应用于电力负荷动态特性的聚类分析中,结果表明该算法不依赖于任何的初始条件,可自动获取聚类数目,避免了主观性,实现了聚类全过程无须人工干预的目的,并取得了较好的分类效果,为解决负荷时变性等问题、建立实用化的负荷模型奠定了基础。不过本文算例中的样本较少,为了检验并改进算法,达到更好的负荷分类效果,还需进一步研究。

摘要:针对当前负荷建模中存在的负荷时变性问题,提出了基于自适应模糊C均值聚类的电力负荷动特性分类方法。探讨了聚类分析方法在负荷动特性分类中的应用,包括聚类特征向量的选取和分类方法研究两个方面。对原始模糊C均值聚类算法中的聚类数c进行了研究,在原始算法中融入新的聚类有效性函数,对算法进行了改进,改进算法不需要预先选择类的数目作为先验值。通过动模实验数据的负荷分类实例,表明该方法可自动获取最佳分类数,且分类效果要好于原始算法。

一种自适应的模糊C均值聚类算法 篇7

聚类分析[1]是数据挖掘的重要研究方向之一, 可以搜索并识别一个有限的种类集合或簇集合, 从而描述数据的特性。通过聚类可以帮助人们识别密集的和稀疏的区域, 发现数据全局的分布模式, 使同一聚类对象的相似性尽可能最大, 而不同聚类对象的相似性尽可能达到最小。也就是说, 形成聚类以后同一个聚类内的对象具有很高的相似性, 而且与不属于该聚类的对象有迥然的差异。聚类分析作为统计学的一个分支, 已经不仅仅是一个很重要的研究课题, 而且还具有非常广阔的应用背景。聚类分析在入侵分析、客户分类、空间数据处理、www文本分类、医疗图像自动识别、卫星照片分析、基因识别等领域有着相当广泛的应用, 在当前搜索引擎和信息检索急剧发展的互联网时代, 利用文本聚类分类新闻和资讯信息, 是各大搜索公司采用的主要方法。而且聚类分析自身的研究也是一个蓬勃发展的领域, 数据挖掘、机器学习、模式识别、统计学、空间数据库技术、计算智能和市场学等领域的发展也快速推动着聚类分析研究的进程, 使它成为数据分析和应用研究中的一个比较热门的话题[2]。

现在被广泛使用的聚类算法大多数都已知了数据集的类别数, 然后才对数据集进行划分, 然而在通常情况下, 我们获得的许多数据集是没有任何先验知识的, 类别数未知或不能用近似的方法得到。例如, 当一个数据集的维数很高时, 许多特征可能彼此交叉重叠, 此时利用数据的可视化去获得数据集的类别数是很困难的。在针对现实中聚类数目不可预知的问题上, 传统的类别数先验的聚类算法已然不能胜任、担当起处理、解决此类问题的主角。自动聚类算法, 即针对那种聚类数目不可预知问题的算法, 已悄然成为当今聚类领域研究的热点与前沿。由于自动聚类不需要先验的类别数, 故这类算法更具有解决现实问题的意义。而且, 自动聚类又可以与先前已存在的聚类算法相结合, 即又能继承前人所做的工作, 故自动聚类算法的研究又能很好地承接起前人的工作结晶, 便于自身的发展。鉴于以上提到的诸多因素, 本文的主要目的在于研究自动聚类问题。

2 模糊C均值聚类算法

基于目标函数聚类算法中, 模糊C均值类型的算法理论是最为完善、运用最为广泛的。模糊C均值类型算法最初是从硬聚类目标函数的优化中推导出来的。为用目标函数法来解决聚类问题, 人们构造带约束条件的非线性规划函数, 因此类内的平方误差和J1作为聚类的目标函数形式。为了要使该目标函数极小化所以采取Pikard硬C均值算法以及ISODATA算法。提出模糊划分概念以后, Dunn先将WGSS函数扩展到了诸如同类内的加权平均误差和的函数, 而后Bezdek再次引入参数m, 把其推广到了目标函数中的无限族, 并且提出了交替优化的算法, 就是我们所熟知的模糊C均值算法[3]。

2.1 数据集c的划分

设数据集, 为空间中n个一组有限观测的样本集, 是观测样本xj的特征向量或者模式向量, 对应于特征空间之中的一个点, xjk为特征向量xj的在第k维特征的赋值。对于给定的样本集X聚类分析是需要产生X的c划分。假设数据集X是c划分得到了c个子集是X1…Xc, 若它们满足 (1) 的条件, 就称其为X的硬c划分:

若用隶属函数表示样本xj与子集Xi (1≤i≤c) 之间的隶属关系, 那么硬C划分中μij为子集Xi的特征函数, 显然有μij∈ (0, 1) 所以X硬C划分同样是能通过隶属度函数来表示的, 就是构成的矩阵U=[μij]c×n用c个子集的特征函数值来表示。特征矩阵U中的第i行是第i个子集的特征函数, 然而特征矩阵U中的第j列是样本Xj相对c个子集隶属函数。那么X的硬c划分的空间为:

Ruspini运用模糊集的理论将隶属函数从{0, 1}二值推广到了[0, 1]区间, 使得硬c划分的概念扩展到模糊c划分, 从而得到了X的模糊c划分空间表示为:

2.2 硬C均值聚类算法

硬C均值算法作为数据集X实现硬C划分典型的算法, 更是最受提倡的算法。它可以将数据集X划分为c个超椭球结构的聚类。硬C均值算法将典型的聚类问题归纳到以下非线性的数学划分问题:

其中U=[μij]c×n为硬C划分矩阵, V= (v1, v2, …, vc) 是c个聚类的中心, ‖·‖表示欧氏距离。

硬C均值算法其具体的流程为:

初始化:设定聚类的类别数c, 其中2≤c≤n, n为数据的个数, 迭代的停止阈值ε的设定, 初始化聚类的中心V0, 设定迭代的计数器b=0;

步骤一:依据公式 (5) 来计算或者更新划分的矩阵Ub=[μij];

步骤二:根据公式 (6) 来更新聚类的中心Vb+1:

步骤三:如果那么算法停止算法并且输出划分的矩阵U以及聚类中心V;否则, 令b=b+l, 跳到执行步骤一。

2.3 模糊C均值聚类算法及其存在的问题

Dunn曾依照Ruspini定义模糊划分的概念, 将HCM算法扩展到模糊的形式。为能实现这一扩展, Dunn把每一个样本和每一个聚类中心的距离使用隶属度平方加权, 使得类内误差平方和目标函数扩展到了类内加权误差的平方和的函数:

Bezdek又把Dunn的目标函数扩展成更加普遍化的形式, 提出基于目标函数模糊聚类普遍描述:

其中m∈[1, ∞) 称为加权指数, 别名平滑参数。即使从数学的角度看, m是不自然的。但是若不对隶属度进行加权, 那么硬C均值算法到模糊C均值算法的扩展会是没有效的。

模糊C均值算法具体的流程为:

初始化:规定聚类的类别数c, 2≤c≤n, n为数据个数, 迭代停止阈值ε设定, 初始化聚类中心V0, 设定迭代计数器b=0;

步骤一:根据公式 (9) 计算或者更新划分矩阵

步骤二:根据公式 (10) 计算或者更新聚类中心:

步骤三:如果, 那么算法停止, 并且输出划分矩阵U以及聚类中心V;若不然, 则令b=b+l, 跳到执行步骤一。

FCM算法是当今较为流行的模糊聚类算法, 研究其原因有以下几个方面:首先模糊C均值的泛函Jm依然是传统的硬C均值泛函J1推广得到的, 我们知道, 硬C均值泛函J1的聚类准则其应用特别广泛的, 对于其研究理论已经非常完备, 这就为Jm的研究奠定了良好的基础。从数学角度上看Jm和RS的希尔伯特空间结构密切相关, 所以比其它泛函数学基础更为深厚。

在大量模糊聚类算法中, 模糊C均值类型的算法理论是最完善的, 它不但数学基础深厚, 而且成功运用到许多领域, 是当今最为实用也是最受欢迎的算法。即使这样, 该算法依然不是无懈可击的, 存在着许多遗留问题, 其中尤为突出的是由于模糊聚类目标函数是非凸的, 而FCM类型算法是通过迭代法来实现的, 所以这个算法对初始化十分敏感, 那么就特别容易陷入局部极小值, 就无法得到全局最优解。模糊C均值聚类算法要求有预先确定的聚类数目, 对于不同的数据集, 给定相同的聚类数c, 所产生的聚类效果不同;而对于相同的数据集, 给定不同的聚类数c, 所产生的聚类效果也会有很大的差异。

虽然模糊聚类作为一种无监督分类, 可是当前的FCM类型的算法是要求聚类类别数的先验知识, 不然算法就会产生错误, 那么它就会破坏算法的自适应性以及无监督性。FCM类型的聚类算法属于划分式的方法, 对于给定的样本集, 无论数据中是否存在聚类结构, 无论分类结果是否有效, 它总会将数据划分成c个子类。换言之, 现有的聚类趋势与聚类分析以及有效性分析是分离的、隔断的。

3 自适应的模糊C均值聚类算法

自适应的模糊C均值聚类算法是模糊C均值聚类算法的改进版本。在模糊聚类算法的基础上, 通过运用有效性函数来自动获取聚类数目, 然后进行模糊聚类, 从而实现了聚类结果一体化。同时, 因为自适应的模糊C均值聚类算法不需要输入聚类数目, 解决了模糊C均值聚类算法对初始值敏感的问题, 改进的模糊C均值聚类算法不会陷入局部最优解, 并且对于相同的数据集, 自适应的模糊C均值聚类算法所求得的结果是一致的, 具有很好的稳定性。

3.1 有效性函数

评估聚类结果的问题被人们称之为聚类的有效性问题。概括来说, 寻找最优划分或最佳聚类数C以及聚类结果的有效性的验证都称为聚类有效性问题[4]。为了解决聚类有效性问题, 其中有一个构造聚类有效性函数有效方法, 探索合理的聚类的有效性指标并且利用这些指标来评价聚类有效性。对于聚类的分析来说, 有效性指标的问题还能转化为确定最优分类数C的问题, 因此这是基于目标函数聚类。通过聚类的有效性指标, 进行一种迭代的过程来把数据集最优聚类结果及其分类数目确定。通过运用不一样的参数c运行指定的聚类算法在已知的数据集上, 进行多种的划分。计算每一种划分指标值, 最后, 通过比较分析每一个指标值的大小及变化情况, 确定符合预定条件的指标值所对应的参数c被认为是最佳的聚类数[5]。

聚类的有效性函数Vw具体定义[6,7]:

Com (Uc, Vc) 是紧致性度量, 定义如下:

Sep (c, Uc) 是分离性度量, 定义如下:

因为紧致性, 度量函数和分离性度量函数通常不在同一个数量级, 因此通过最大值的方法将它们进行标准化:

定义是紧致性度量与分离性度量的比较值。紧致性度量的值越小就表示同一类中数据的差异就越小, 即分散的程度就越小, 分离性度量的值越大就表示不同类之间的数据差异就越大, 即类间的分离程度就越大。因此, Vw的最小值就应该对应最佳的模糊C聚类数c。

3.2 自适应的模糊C均值聚类算法模型

设, 它的模糊C划分可以使用模糊矩阵U=[μij]∈RCN表示, 矩阵U的元素μij用来表示第j (j=1, 2, …, n) 个数据点是属于第i (i=1, 2, …, c) 类的隶属度, μij应该满足下面的条件;当今广泛使用取类内加权误差平方和的极小值的聚类准则, 即:, 式中V是聚类中心, m是加权指数[8]:

自适应的FCM聚类算法的具体过程如下:

步骤一:初始化FCM算法和Vw函数的参数:

步骤二:对于已知的数据集以c作为分类数应用FCM算法, 求出相应的聚类中心VC和模糊矩阵UC;

步骤三:利用步骤二中的结果, 计算并储存紧致性度量Com (Uc, Vc) 和分离性度量Sep (c, Uc) , c=2, 3, …, cmax;

步骤四:如果c<cmax, 令c=c+1, 转到步骤二, 否则转到步骤五;

步骤五:对和, c=2, 3, …, cmax进行标准化, 并根据, U, 计算出其有效性函数的值;

步骤六:找出最小值, 并记录与之对应的聚类数目;

步骤七:把作为最优聚类数目, 进行FCM算法聚类, 得到相应的聚类结果, 即最优的聚类结果。

4 仿真结果与分析

4.1 较为清晰数据集的自动聚类仿真实验

为了验证自适应的模糊C均值算法的可行性和有效性, 选择2个较为清晰的数据集进行实验测试。数据集分别为数据集1:较为清晰的可分为4类的三维数据点;数据集2:较为清晰的可分为5类的三维数据点。

数据集原图如图1所示, 数据集自动聚类结果图如图2所示。

4.2 较为模糊数据集的自动聚类仿真实验

为了验证自适应的模糊C均值算法的可行性和有效性, 选择2个较为模糊的数据集进行实验测试。数据集分别为数据集3:较为模糊的可分为5类的三维数据点;数据集4:较为模糊的可分为3类的三维数据点。

数据集原图如图3所示, 数据集自动聚类结果图如图4所示。

4.3 实验结果分析与评价

根据上述实验结果进行比较可以分析出, 自适应的模糊C均值算法对于较为清晰的数据集, 可很好实现自动聚类的功能;而对于较为模糊的数据集, 同样可以实现自动聚类的功能。

自适应的模糊C均值聚类算法不依赖任何初试条件, 通过利用有效性函数自动获取最优的聚类数目, 实现了聚类全过程无须人为干预的目的, 并且具有良好的可行性和有效性, 实现了自动判定类别数的功能。

5 结束语

传统的模糊C均值聚类算法因为要求输入聚类数目的先验知识, 所以对初始值敏感, 给定不同的聚类数目, 所产生的聚类效果会有很大的差异。针对传统算法的不足, 本文结合有效性函数提出了自适应的模糊C均值聚类算法, 该算法运用有效性函数来自动获取聚类数目, 然后进行模糊聚类, 实现聚类结果的一体化。在仿真实验中, 利用改进算法分别处理较为清晰和较为模糊的数据集, 通过分析仿真结果发现, 自适应的模糊C均值聚类算法不依赖任何初始条件, 无需人为干预就能很好的得出最优解, 不仅保证了聚类结果的正确性, 同时实现了自动判定类别数的功能, 具有良好的可行性和有效性。

参考文献

[1]李雷, 罗红旗, 丁亚丽.一种改进的模糊C均值聚类算法[J].计算机技术与发展, 2009, 19 (2) :71-73.

[2]张雷, 李人厚.基于免疫原理的一种动态数据聚类算法[J].控制与决策, 2007, 22 (4) :469-472.

[3]高新波.FCM聚类算法中模糊加权指数m的优选方法[J].模糊系统与数学, 2005, 19 (1) :143-148.

[4]唐明会, 杨燕.模糊聚类有效性的研究进展[J].计算机工程与科学, 2009, 31 (09) :122-124.

[5]Weina Wang, Yunjie Zhang.On Fuzzy Cluster Validity Indices[J].Fuzzy Sets and Systems, 2007, 158 (19) :2095-2117.

[6]Yunjie Zhang, Weina Wang, et al.Cluster Validity Index for Fuzzy Clustering[J].Information Sciences, 2008.178:1205-1218.

[7]董云影, 张运杰, 畅春玲.改进的遗传模糊聚类算法[J].模糊系统与数学, 2005, 19 (2) :128-133.

模糊均值算法 篇8

1 经典的模糊C均值聚类分割算法

由Bezdek提出的模糊C均值聚类算法,其实质是根据图像分解后像素样本与每个聚类中心的加权相似性测度,通过对目标函数进行非线性迭代优化方法,然后确定最优聚类,它给出每个样本隶属于某个聚类的隶属度,即使对于很难明显分类的变量,FCM也能得到较为满意的效果。FCM通过将图像I = { f( x,y) ,0 ≤ x < m,0 ≤ y

式中: Q = [qik( x,u) ]为模糊分类矩阵; P = [p1,p2,…,pc]为聚类中心集合; m ∈[1,∞ ) 是控制聚类结果的权指数,一般赋值为2; Dx( x,y) 为f( x,y) 到聚类中心pk的距离,表示为

图像FCM分割就是通过多次迭代确定隶属度函数和聚类中心,使目标函数获得最小值。利用拉格朗日乘数法来求解使得J( Q,P) 达到最小值的满足下列等式

Bezdek利用梯度下降方法,通过对模糊分类矩阵Q与聚类中心矩阵V不断进行迭代算法,以修正聚类中心值以及各样本的隶属度,最终寻找出样本数据所含有的分类特性,使各样本划分到其隶属度最大的一类中。该算法对初始聚类中心或隶属度矩阵有较为敏感,参数初值选取决定着聚类结果的优劣和稳定性; 当初始聚类中心偏离全局最佳聚类中心比较大时,FCM很有可能陷入局部最小值。

2 近似模糊C均值聚类的中心初始化

2. 1 数据约简

聚类分析作为统计模式识别中有监督模式分类的一个重要组成部分,在无监督模式分类任务中,由于聚类标签较少而无法使用近邻一致性准则。本文利用曲福恒的研究结果,对数据进行最近邻一致性准则精简,不仅大幅降低数据量,还尽量保持约简数据后所包含的聚类结构信息,得到与模糊C均值接近的聚类中心。

设原始数据集合M中含有i个不同的样本M = { m1,m2,…,mn} Rs。分析聚类问题就是将{ m1,m2,…,mi}区分为M中的c( 2 ≤c < i) 个子集,相似的样本应要求尽量在同一子集( 聚类) 内,c为聚类数目。约简后数据集合为N = { n1,n2,…,ni} Rs。D( m,S) 表示数据m与数据集合S间的距离。则数据约简算法的步骤如下:

1) 初始化阈值,其中 γ,l = 1,nl= m1,j = 2 。

2) 对聚类样本数据mj,计算整数值r ,使其满足

3) 如果D( mj,nr) > γ,l = l + 1,nl= mj; 否则,令nr=nr∪mj,j=j+1。

4) 如果j < i ,则转到步骤2) ; 否则,将nk更新为其自身数据集合的平均值。

2. 2 加入特征空间中的模糊核聚类算法

在线性空间中难以划分的问题利用核映射处理来处理,将数据从线性空间映射到高维的非线性空间解决。

先通过一个非线性映射 Φ: X→F( X∈Rp→Φ( x) ∈Rq,q > p) 将输入空间X变换至高维特征空间F ; 然后在特征空间F中进行聚类。

对在FCM目标函数中使用核映射,则得到目标函数

其中

由核代入技巧知,上述内积定义了F中的一个核函数K( x,y) ,满足K( x,y) = ( fk( x,y) - pk)T( fk( x,y) -pk) 。Dx( x,y) 为特征空间中的欧氏距离,由于核的代入,在原输入空间中诱导出了一类核依赖的新的距离度量,由此将FCM在欧氏距离下的执行推广到了同一空间中不同距离度量的新的聚类。

本文将式( 6) 中高斯核函数代入式( 5) 中,得到目标函数为

使用拉格朗日数乘法,首先对qk( x,y)m求偏导数,得到隶属度迭代式

由约束条件, 可得

求出 λ 代入式( 9)

利用高斯核函数,代入高斯核函数,则目标函数变为

可以解得聚类中心迭代表达式

2. 3 加入空间约束信息

对图像进行非线性高维聚类划分后,通过表征空间邻域像素对初始聚类中心作用的先验概率来修正各像素样本的聚类划分,形成最终修正的分割效果。利用Chuang Keh - Shih的研究成果,对已完成高维非线性空间核聚类划分后并进行数据约简的图像进行空间邻域隶属度约束处理。划分后的邻域信息为

式中: NB( fj( x,y) ) 表示像素fj( x,y) 的领域大小; qim( x,y) 表示像素fm( x,y) 属于i类的隶属度值。Hik的值是除了当前空间像素领域区域内其他像素属于i类的隶属度和。经过邻域隶属度约束修正后的隶属度的迭代表达式为

式中: p ,q是正则化参数,用于控制最终隶属度值的控制参数。式( 14) 表示邻域空间中某一类的像素和其空间邻域中像素同属于一个类时Hik的值就越大,对原始隶属度的修正就越大,反之则像素隶属度值就减小。最终本文的分割算法过程步骤如下:

1) 选择聚类有效性指标计算方法,设置模糊系数m ,设定聚类个数的最小值cmin、最大值cmax。

2) 采用本文2. 1 节的方法得到约简后的数据集合Nc={n1,n2,…nic}Rs。

3) 采用核估计方法实现聚类中心的估计,确定初始聚类中心。

4) 再根据式( 12) 与式( 10) 分别计算或更新初始聚类中心和划分矩阵。

5) 利用式( 14) 修正隶属度原型模式。

6) 判断迭代次数达到事先设定的最大次数,达到迭代次数则停止,否则继续迭代。

3 实验结果分析

为验证本文所提算法的有效性,对正常大脑磁共振图像进行实验。初始参数设置: 矩阵指数m = 2,单步最小变化为0. 000 5,最大迭代次数为100,聚类类别数为8,核参数均为150。参与比较的算法为原始的模糊C均值聚类算法、PSOFCM算法、KFCM算法、DWKFCM和本文算法,所有算法收敛精度相同且为 ε ,其他参数按原有文献设定,运行20 次取平均值。

为了验证几种分割算法的量化比较,采用合成图像的分割精度和运行时间均值作为分割评价指标,定义合成图像的分割精度为

图1 为FCM算法、PSO _ FCM算法、KFCM算法、DWKFCM算法及本文算法分割后图像与本文算法的比较结果。

图1a为是一幅181 ×181 像素的大脑磁共振图像,图1b为原始FCM算法,图像分割效果有些模糊,一些细节还没有分割出来,图1c分割效果对比FCM算法稍好,但在中间部位的信息有一定的丢失。可以看出,本算法分割效果不错,不但误分割很少,且分割的脑灰质和脑白质边缘也很光滑,在传统模糊核聚类算法与动态加权模糊核聚类算法的分割结果里,都有较多的脑白质被误分为脑灰质和脑脊液,同时分割的目标边缘也毛糙; 减小了过度分割的现象,又保留了图像的细节部分,图像中的主要目标较为准确、清晰地分割出来。

图2 是FCM、KFCM、DWKFCM和本文算法四种算法对图1a进行分割时的算法收敛次数对比图。从图2 可以看出,本文算法收敛次数很少,在很短时间内就能找到目标函数的最小值,具有明显的速度优势。

表1 为FCM、PSOFCM、KFCM、DWKFCM和本文算法的性能比较结果。

从表1 可以看出,在同一迭代次数处,本文算法从图像分割精度和运行时间上都大大高于其他几种算法,实验表明本算法具有较好的适应性和鲁棒性。

4 结束语

上一篇:高速公路的行车技巧下一篇:对外贸易谈判