松弛模糊c均值聚类算法的制作方法

文档序号:11216962阅读:731来源:国知局

本发明属于数据挖掘领域进行无监督数据分类的算法,具体的说是一种通过对样本模糊隶属度约束条件进行放宽以适应噪声数据集的松弛模糊c均值聚类算法。



背景技术:

模糊c均值算法(fuzzyc-meansclustering,fcm)是模糊聚类算法中最重要的聚类算法,在模式分类、机器学习和数据挖掘等领域中有着广泛的应用。

fcm算法相对于其它聚类算法有着许多的优势,如模型数学表达易于理解符合实际、优化求解方法多样收敛理论严谨、算法易于借助计算机编程实现、模糊聚类效果表现优良等。但fcm算法也存在一些不足之处,如类别k值无法有效确定、模糊指标m缺乏求解的方法和理论、梯度法求解模型容易陷入局部优解、聚类算法因归一化约束对噪声数据敏感等。

由于fcm算法要求每个样本对各类的模糊隶属度之和为1,即要求样本模糊隶属度满足归一化约束,使得噪声数据基于fcm算法也会获得很高的模糊隶属度,因此fcm算法对噪声数据是敏感的,放松fcm算法归一化约束是避免算法对噪声数据敏感的一个基本思路。

在克服fcm算法对噪声数据敏感的改进方面,研究者最初提出了两种改进途径,一是krishnapuram提出的可能性聚类算法(possibilisticc-meansclustering,pcm),pcm算法放弃了归一化约束,同时为了避免平凡解的产生而在目标函数中增加了正则项,但因为pcm算法完全摒弃了对模糊隶属度的约束,导致pcm算法容易陷入聚类中心一致性的结果。pfcm算法在目标函数中利用线性组合的方式将fcm算法和pcm算法结合起来,目的在于集成fcm算法的有效聚类和pcm算法的抗噪性能,但pfcm算法有较多需要人工经验确定的预设参数,且无有效的参数确定方法以保证算法的聚类有效性。另一种改进方法是lee提出的afc算法(anotherfcm,afc),afc算法弱化了单个样本模糊隶属度归一化约束,而仅要求样本空间n个样本的各类模糊隶属度和为n,由于afc算法利用梯度法建立模糊隶属度迭代公式,使得在样本与聚类中心距离为零的情况下afc算法无法合理解释样本模糊隶属度公式,且算法使得距离聚类中心最近的样本被赋予极大的模糊隶属度而其它样本隶属度趋近于零,即afc算法聚类结果几乎是无效的,从而限制了afc算法的进一步研究,鲜少有关于afc算法的介绍和应用。

pcm算法和afc算法都是通过放松fcm算法归一化和取约束的方式,消除fcm算法对噪声数据的敏感性,区别在于pcm算法完全放弃了样本模糊隶属度的和取约束,而afc算法通过弱化和取约束方式进行放松,致使两算法相应产生了各自不同的算法局限性。

生物进化算法越来越多的引入到模糊聚类算法中,用于模型的参数估计和目标函数求解。生物进化算法在求解聚类模型时有三大优势,一是可提高聚类算法的全局寻优性能。如在fcm算法中分别利用遗产算法(ga)和粒子群(pso)算法求解聚类模型以提高全局寻优能力。二是当聚类目标函数复杂而无法利用梯度信息时可取代梯度法。即利用pso算法求解复杂的聚类目标函数,从而避开了梯度法的限制。三是可扩展模糊指标m的取值范围。模糊指标m是fcm算法及其改进算法中的一个重要参数,具有抑制噪声、平滑隶属函数等功能。为了保证梯度法所得到的fcm算法的收敛性,要求fcm算法目标函数对模糊隶属度的二阶海塞方阵正定,由此决定了模糊指标m必须大于1。利用生物进化算法估计模糊隶属度可回避梯度法二阶海塞方阵正定的要求,即可将模糊指标m取值范围扩展到m大于0的情况。



技术实现要素:

本发明为了克服现有技术存在的不足之处,保证聚类算法对噪声数据和野值点有有效的拒识能力,提出一种松弛模糊c均值聚类算法(rfcm),目的在于放弃了fcm算法单个样本模糊隶属度归一化约束,转为n个样本模糊隶属度之和为n的约束,并利用粒子群算法对样本模糊隶属度进行优化估计,不仅使得聚类算法能将噪声数据和野值点与正常数据作有效区分,还能够保持聚类算法的较强聚类性能,同时还可扩展模糊指标拓展为m>0的情况,从而提升聚类算法对模糊指标参数的通用性。

为了实现上述发明目的,本发明采用如下技术方案:

本发明为一种松弛模糊c均值聚类算法,特点按如下步骤进行:

步骤1:令x={x1,x2,l,xj,l,xn}表示给定的样本集合,xj表示第j个样本;1≤j≤n,n是样本的个数;对样本集合x进行最优化划分,使得目标函数值jrfcm最小,其中jrfcm由式(1)所确定。

在式(1)中,c表示划分的类别数,1≤i≤c,uij表示第j个样本xj隶属于第i类的模糊隶属度,0≤uij≤1,且有表示所有样本xj归属于各类的模糊隶属度的和为n;u={uij,i=1,l,c;j=1,l,n}表示隶属度矩阵,m(m>0)为模糊指标,为uij的m次;dij=||xj-θi||表示基于第j个样本xj与第i类聚类中心θi的距离,ηi为惩罚因子,用于平衡聚类目标函数中类内加权误差平方和和正则项之间的关系,并且有:

步骤2:用0,1之间的随机数初始化多个c×n维粒子的位置xh(0)和速度vh(0)

步骤3:将粒子位置xh(0)以每c维分量为一组,对应为第j个样本xj隶属于第i类的模糊隶属度i=1,...,c,j=1,...,n。定义迭代次数为λ,最大迭代次数为λmax;初始化λ=1,则第λ次迭代的隶属矩阵为u(λ),第λ次迭代的聚类中心为θi(λ),聚类中心矩阵为p(λ)={θi(λ),i=1,...,c}。

步骤4:用式(3)计算聚类中心θi(λ),再由式(1)计算聚类目标函数值jrfcm(λ),并由式(4)转换为pso算法优解适应度函数值f(u(λ))。

式(2)中m为惩罚因子,取为一较大正数,即对偏离n时给予适应度函数较大惩罚。表示第λ次迭代时第j个样本xj隶属于第i类的模糊隶属度,i=1,...,c,j=1,...,n。

步骤5:判断||f(u(λ))-f(u(λ-1))||<ε或λ>λmax,若成立,则uij(λ)为迭代算法参数估计出的最优模糊隶属度,并令uij(λ)=uij代入式(1)中,进而实现对样本集合x的最优划分,ε,λmax是事先给定的阈值。若不成立,转步骤6,直到条件满足为止。

步骤6:根据pso算法优解适应度函数值f(u(λ)),记录粒子群算法中当代个体最优解ph(λ)和群体最优解g(λ),令λ=λ+1,由式(5)、(6)更新粒子速度vh(λ+1)及位置xh(λ+1),转步骤3。

vh(λ+1)=wvh(λ)+c1r1[ph(λ)-xh(λ)]+c2r2[g(λ)-xh(λ)](5)

xh(λ+1)=xh(λ)+vh(λ+1)(6)

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

与已有技术相比,本发明的有益效果体现在:

1.宽松约束使得rfcm算法可以较自由的分配样本模糊隶属度,结合目标函数最小化中距离与模糊隶属度成反比的约束,噪声数据会被赋予很小的各类模糊隶属度。同时由于0≤uij≤1的约束,rfcm算法并不会如afc算法一样,出现uij→n而uts→0的情况。从而保证了rfcm算法的抗噪性能和聚类有效性。

2.rfcm算法结合了pcm算法目标函数、约束条件及afc算法约束条件,综合了两算法的优点,即rfcm算法既具有抗噪性且各样本间又相互关联而避免了pcm算法陷入一致性的缺陷。

3.rfcm算法利用pso算法估计样本模糊隶属度,使算法不受梯度法模糊隶属度二阶海塞方阵正定的限制,模糊指标m取值范围拓展到m>0的情况,增强了聚类算法模糊指标参量的普适性。

具体实施方式

在本实施例中,为了验证松弛模糊c均值聚类算法(以下简称rfcm算法)的聚类有效性和抗噪性,基于二维高斯数据集对fcm、pcm及rfcm算法作对比实验测试说明。当基于afc算法作测试时,某聚类中心会靠近与该初始聚类中心最近的样本,且该样本基于此聚类中心所代表类的模糊隶属度无限趋近于样本数n,而其它样本模糊隶属度趋近于零,使得afc算法不具有聚类有效性,所以仿真实验摒弃了与afc算法的对比测试而选用fcm、pcm算法与rfcm算法做对比测试。

松弛模糊c均值聚类算法(rfcm)是按如下步骤进行:

步骤1:令x={x1,x2,l,xj,l,xn}表示给定的样本集合,xj表示第j个样本;1≤j≤n,n是样本的个数;对样本集合x进行最优化划分,使得目标函数值jrfcm最小,其中jrfcm由式(1)所确定。

基于二维高斯数据集做聚类有效性和抗噪性实验说明如下。

1)基于二维高斯数据集的聚类有效性实验说明

构造二维高斯数据集进行测试,聚类类别数c=2,样本集为两个二维高斯随机分布样本子集组成,取两类的类中心分别为(5,5),(10,10),第一类的样本数为100,协方差矩阵取为[50;05],第二类的样本数为100,协方差矩阵取为[50;05]。

rfcm算法依赖粒子群优化算法求解模型,粒子群采用实数编码,一个编码对应于一个可行解,每个粒子的位置值由n×c维组成的,c为类别数,n为样本数。粒子数取为30,迭代次数为200次,粒子每维参数取值范围为[0.01,1],粒子位置的每c维参量对应一个样本的c维模糊隶属度。为了避免粒子群优化计算陷入聚类效果极差的局部最优,选取fcm所训练出来的样本模糊隶属度,构成为粒子群算法的一个初始粒子,以提高rfcm算法的聚类性能,即有:

uij(0)=uij*(7)

式(7)中uij(0)对应了粒子群算法初始化赋值时的一个位置值xh(0),uij*为fcm算法聚类结果中的优解。同时利用fcm训练结果和式(2)计算尺度因子ηi(k=1),用于pcm及rfcm算法目标函数的计算。取rfcm算法中pso适应度函数惩罚因子m=100。

测试结果记录了各类的测试精度,并记录了两类数据的聚类中心,如表1所示。

表1基于二维高斯数据集的测试结果

由表1可知,在无噪声数据干扰且数据集区分性较明晰的条件下,fcm算法算法聚类结果表现良好。而pcm算法对于此类数据集依然存在聚类一致性的问题,这是由pcm算法的本质所决定,pcm算法样本模糊隶属度仅与自身相关,而与其它样本毫无关联,各聚簇独立最小化目标函数,各聚类中心间无抵制聚类一致性的因素存在。rfcm算法在迭代过程开始之初,也存在聚类中心一致性的现象,但在样本各类模糊隶属度归n化的约束作用下,各样本模糊隶属度参量相互竞争隶属度分配值,最终促使迭代过程偏离聚类中心重合状况。rfcm算法同时受到pso优化算法粒子取值范围[0.01,1]的制约,避免了afc算法中某样本模糊隶属度几乎完全占有总模糊隶属度n而其它模糊隶属度趋近于零的情况,使rfcm算法也可为其它隶属度参量合理分配模糊隶属度,从而促成了rfcm聚类算法有效聚类结果的获得。从表1中模糊指标m的参数取值可知,fcm、pcm算法利用梯度信息建立模糊隶属度和聚类中心迭代公式,要求模糊指标m的取值大于零,而rfcm算法使用pso算法估计模糊隶属度,摆脱了模糊隶属度二阶海塞方阵正定m>1的约束,而目标函数和聚类中心公式仅要求m>0,所以rfcm算法模糊指标m的取值范围较fcm、pcm算法更广泛,提高了算法模糊指标参数的适应范围,在扩展的取值范围内rfcm算法也取得了较好的聚类效果,说明模糊指标取值范围的拓展是可行和有效的。

2)基于二维高斯数据集的聚类抗噪性实验说明

检验三算法对噪声数据的包容性能,即要求聚类算法对噪声数据分配的模糊隶属度越小越好。在原有二维高斯数据集的基础上,增加一个噪声数据点取其坐标为(100,100)。在作抗噪性能测试时,由于fcm算法不具有抗噪性,所以rfcm算法摒弃了式(7)fcm算法初始值的引导。抗噪测试记录结果包括了样本类中心、噪声数据的各类模糊隶属度隶属度以及正常数据的聚类效果,测试结果如表2所示。

表2基于含噪(100,100)二维高斯数据集的测试结果

由测试结果表2可知,噪声数据(100,100)对fcm算法聚类效果影响较小,说明fcm算法的聚类有效性具有一定的抗噪能力,但正如文中对fcm算法原理分析一样,由于归一化约束的存在,使得fcm算法对噪声数据也赋予较大模糊隶属度,不符合实际情况。而对于pcm及rfcm算法,因为噪声数据的干扰,使得两算法聚类结果都出现了聚类中心一致性现象,但因为它们的抗噪性算法设计,使得噪声数据仅能获得较小模糊隶属度,且噪声数据各类模糊隶属度差异性非常小,这些噪声模糊隶属度相关特性为拒识噪声数据提供了方法,考虑定义模糊隶属度差值阈值及模糊隶属度阈值公式拒识噪声数据,如式(8)所示。

在式(8)中,max(uij)-min(uij)<δ1为模糊隶属度差值阈值拒识公式,uij<δ2为模糊隶属度阈值拒识公式。对于任意样本xj,它的各类模糊隶属度为uij(i∈1,...,c),当这些uij同时满足式(8)的各种要求时,则可视样本xj为噪声数据。在基于含噪(100,100)的二维高斯仿真数据集聚类测试中,取δ1=0.1,δ2=0.3,即可对噪声数据进行拒识。

从表2还可知道,在噪声数据干扰的情况下,虽然pcm、rfcm算法聚类中心都趋于一致性,但rfcm算法由于归n化松弛约束条件的作用,使得rfcm算法对各类样本隶属度的分配是公平的,对于由噪声数据及近似对称的正常数据组成的数据集,rfcm算法对正常数据集中各类样本聚类精度大致保持相等,而非如pcm算法一样将模糊隶属度完全优先倒向某一类样本,具体表现即为pcm算法某类样本聚类精度为100,而另一类样本聚类精度为0。显然rfcm算法的表现较pcm算法更符合实际情况。

为了进一步比较分析各算法对噪声数据的抗干扰能力,将噪声数据改为(500,500)作进一步对比分析,所作测试结果与噪声为(100,100)的情况有所不同,测试结果如表3所示。另外,在将噪声数据改为(1000,1000)、(1500,1500)、(2000,2000)时,测试结果与(500,500)的情况类似,所以以(500,500)为代表测试分析各算法的抗噪性能。

表3基于含噪(500,500)二维高斯数据集的测试结果

对比表2、3可以发现,fcm算法聚类结果相对改变较大,而pcm、rfcm算法聚类结果变化较小。在表2中,虽然fcm算法对噪声数据没有拒识能力,且赋予噪声数据以较高模糊隶属度,但还能对正常数据作有效的聚类分析,而在表3中,fcm算法聚类中心完全偏离了正常数据聚集范围,这说明当噪声数据干扰能力足够大时,fcm算法不仅没有抗噪能力,连有效分类能力也丧失了。而pcm、rfcm算法依然保持了具有抗噪性能算法的特性,虽然它们各类聚类中心趋于一致,但各类聚类中心保持在正常数据集范围内,赋予噪声数据极小的模糊隶属度,噪声数据各类隶属度之间的差异性也很小,可以利用式(8)将正常数据与噪声数据分离开来。

从表2、3还可知道,在噪声数据干扰下,聚类分析无法获取有价值的聚类结果,必须在排除噪声数据的基础上,才可利用fcm、rfcm等算法进行有效聚类。

在式(1)中,c表示划分的类别数,1≤i≤c,uij表示第j个样本xj隶属于第i类的模糊隶属度,0≤uij≤1,且有表示所有样本xj归属于各类的模糊隶属度的和为n;u={uij,i=1,l,c;j=1,l,n}表示隶属度矩阵,m(m>0)为模糊指标,为uij的m次;dij=||xj-θi||表示基于第j个样本xj与第i类聚类中心θi的距离,ηi为惩罚因子,用于平衡聚类目标函数中类内加权误差平方和和正则项之间的关系,并且有:

步骤2:用0,1之间的随机数初始化多个c×n维粒子的位置xh(0)和速度vh(0)

步骤3:将粒子位置xh(0)以每c维分量为一组,对应为第j个样本xj隶属于第i类的模糊隶属度i=1,...,c,j=1,...,n。定义迭代次数为λ,最大迭代次数为λmax;初始化λ=1,则第λ次迭代的隶属矩阵为u(λ),第λ次迭代的聚类中心为θi(λ),聚类中心矩阵为p(λ)={θi(λ),i=1,...,c}。

步骤4:用式(3)计算聚类中心θi(λ),再由式(1)计算聚类目标函数值jrfcm(λ),并由式(4)转换为pso算法优解适应度函数值f(u(λ))。

式(2)中m为惩罚因子,取为一较大正数,即对偏离n时给予适应度函数较大惩罚。表示第λ次迭代时第j个样本xj隶属于第i类的模糊隶属度,i=1,...,c,j=1,...,n。

步骤5:判断||f(u(λ))-f(u(λ-1))||<ε或λ>λmax,若成立,则uij(λ)为迭代算法参数估计出的最优模糊隶属度,并令uij(λ)=uij代入式(1)中,进而实现对样本集合x的最优划分,ε,λmax是事先给定的阈值。若不成立,转步骤6,直到条件满足为止。

步骤6:根据pso算法优解适应度函数值f(u(λ)),记录粒子群算法中当代个体最优解ph(λ)和群体最优解g(λ),令λ=λ+1,由式(5)、(6)更新粒子速度vh(λ+1)及位置xh(λ+1),转步骤3。

vh(λ+1)=wvh(λ)+c1r1[ph(λ)-xh(λ)]+c2r2[g(λ)-xh(λ)](5)

xh(λ+1)=xh(λ)+vh(λ+1)(6)

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

通过二维高斯数据集的聚类有效性和抗噪性实验可知,rfcm算法将pcm、afc算法与pso算法结合起来,得到了松弛模糊c均值聚类算法(rfcm),新算法不仅继承了pcm算法非零解抗噪性、afc算法松弛约束模糊隶属度竞争分配特性,而且通过pso算法估计模糊隶属度求解适应度函数,实现了rfcm算法复杂目标函数求解和松弛约束条件遵循的双目标平衡满足,克服了原有各算法所存在的不足之处,同时也将模糊指标取值范围推广到m>0的情况。从表1、2、3可知,rfcm算法不仅具有优良的聚类有效性,而且对噪声数据能够做有效拒识,具有很强的实用性。

综上所述,本发明的松弛模糊c均值聚类算法包括如下步骤:1.对样本集合依rfcm目标函数最小化原则进行最优化划分;2.初始化多个粒子的位置和速度值;3.将粒子位置值与样本模糊隶属度对应实现模糊隶属度初始化;4.按粒子群算法迭代公式得到更新的模糊隶属度;5.按梯度法迭代公式计算得到聚类中心;6.计算得到rfcm目标函数。本发明放弃了模糊c均值聚类算法模糊隶属度归一化约束,增强了聚类算法对噪声数据的包容和区分性能,同时将模糊指标m扩展为大于0的范围,提升了聚类算法的通用性。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1