一种基于L2稀疏限制的特征加权k‑means聚类方法与流程

文档序号:12158487阅读:214来源:国知局
本发明涉及一种基于L2稀疏限制的特征加权k-means聚类方法,属数据处理
技术领域

背景技术
:近年来,随着信息技术快速发展,特别是移动互联网的迅速推广,人们日常生产生活的各种数据被收集和保存下来,使得人们能够更方便、快捷的获取数据。然而,随着数据指数级增长,人们越来越难以理解数据中所蕴含的知识。聚类是挖掘大规模数据中所蕴含知识的一种重要方法。传统的聚类方法在数据分析过程中平等对待所有的特征,然而在很多情况下,这些传统方法分析高维数据可能会存在误差。因为在高维数据中,不同的特征在聚类过程中可能起不同的作用,例如在区分话题“伦敦是第一个举办了三次奥运会的现代城市”过程中,关键词“伦敦”、“奥运会”比关键词“现代”、“城市”具有更重要的作用。因此,设计不同的子空间或者用权重来选择出重要的特征是解决高维数据聚类的一种重要方式。k-means聚类由于其简单性和有效性被广泛的应用于各种数据处理系统中。传统的k-means聚类算法在聚类过程中平等利用所用特征来计算数据对象与中心的距离。为了提高k-means聚类高维数据的精度,研究人员提出了一种新的利用权重向量对特征进行加权的算法W-k-means(J.Z.Huang,M.K.Ng,H.Rong,Z.Li,Automatedvariableweightingink-meanstypeclustering,IEEETrans.PatternAnal.Mach.Intell.27(2005)657–668.)。该算法为每一个特征计算一个权重,用于代表该特征在聚类过程中所具有的区分性。然而,在现实世界中,同一个特征在不同的簇中可能起不同的作用,研究人员又提出矩阵加权方法(E.Y.Chan,W.K.Ching,M.K.Ng,J.Z.Huang,Anoptimizationalgorithmforclusteringusingweighteddissimilaritymeasures,PatternRecognit.37(2004)943–952),即为每一个簇计算一个权重向量代表特征在该簇中的作用。然而,如果在某个簇中有散度为0维度,该算法将只用到散度为0的维度进行聚类,而忽略其他的维度。然而,只用少数几个散度为0的维度聚类高维数据在大部分情况下是不合理的。为了聚类高维稀疏数据,研究人员在矩阵加权k-means基础上利用熵对权重进行稀疏限制,提出了EWkmeans算法(L.Jing,M.K.Ng,J.Z.Huang,Anentropyweightingk-meansalgorithmforsubspaceclusteringofhigh-dimensionalsparsedata,IEEETrans.Knowl.DataEng.19(2007)1026–1041.)。该算法在获得特征权重的同时,使得更多特征参与聚类过程。然而,该算法在实现过程中需要计算自然对数e-D,其中e为自然对数的底数,D为某一维度上带权散度值。在大规模数据上,e-D通常非常小,在实现过程中很容易数值溢出。近年来,研究人员也提出一些新的方法来扩展W-k-means和EWkmeans算法。例如,在W-k-means和EWkmeans基础上集成簇内散度和簇间散度进行聚类。但是,这些算法都继承了W-k-means可能会只利用少数维度进行聚类和EWkmeans在实现时可能溢出的缺点。技术实现要素:本发明的目的是,针对传统的k-means聚类方法不合适处理高维数据的问题,提出一种基于L2稀疏限制的特征加权k-means聚类方法。本发明的技术方案如下:一种基于L2稀疏限制的特征加权k-means聚类方法包括以下步骤:(1)预处理:把数据集中每个数据对象表示成一个特征向量,即X={x1,x2,...,xn},n为数据对象数目;其中xi={xi1,xi2,...,xim},m为数据集中特征的数目。同时,随机初始化数据对象分配矩阵U,簇中心Z和权重W,其中U为n×k的0-1矩阵,uip=1表示第i个元素被分配到第p个簇中。U中每一行只有一个元素为1,其他元素为0,表示每一个元素只分配到一个簇中。Z为一个k×m的矩阵,用于代表k个簇的中心。W为k×m矩阵,每一个元素值代表在相应簇中相应特征的权重,W需要按行进行归一化;(2)计算数据对象分配矩阵:在给定簇中心Z和特征权重W的情况下,针对每一个数据对象,计算该数据对象与每个簇中心的带权距离,并将该数据对象分配到与之具有最小带权距离的簇中;数据对象分配矩阵的计算公式为:uip=1,表示数据对象i被分配到簇p中,否则,则分配到其它簇中。(3)计算簇中心:在给定数据对象分配矩阵U的情况下,针对每个簇中的每个特征计算其算术平均作为簇中心;簇中心的计算公式为:通过该公式发现,簇中心即为簇中数据对象的算术平均,与特征权重W无关;(4)计算特征权重W:在给定分配矩阵U和簇中心Z的情况下,针对每个簇计算一个特征向量;首先,需要针对每个簇的每个特征计算其散度值;然后根据散度和稀疏参数计算一个阀值;最后根据散度、稀疏参数和阀值计算簇中每个特征的权重;特征权重W的计算公式为:其中,Lp=|{j|θp-vpj>0,1≤j≤m}|,θp为簇p中特征权重的阀值参数、vpj为在簇p中,第j个特征的散度、Lp为在簇p中特征权重大于0的特征数目。(5)迭代步骤(2)、(3)和(4),直到算法收敛;通过目标函数值判定算法是否收敛,在算法收敛后,聚类结果保存在分配矩阵U中,而特征权重W可用来表示簇中每个特征在簇中的重要性。本发明为算法设计了一个能够集成簇内散度和L2稀疏限制的目标函数,所述目标函数为:约束条件为:其中代表数据对象i在j维度上与簇中心p的距离,k,n,m分别代表簇的数目,数据对象个数和维度,α为稀疏限制参数。该目标函数集成了簇内散度和L2平滑限制来获取特征权重,然后利用权重来区分不同特征在聚类过程的作用,从而提高聚类算法的性能。附图说明图1为本发明的流程图。图2为本发明的权重计算流程。图3为本发明的阀值参数求解过程。图4为本发明在模拟数据集上特征权重对比。图5为本发明的模拟数据集在精度上的假设检验。图6为本发明的模拟数据集在Fscore上假设检验。图7为本发明的模拟数据集在RandIndex上假设检验。图8为本发明的模拟数据集在互信息上假设检验。图9为本发明的真实数据集在精度上的假设检验。图10为本发明的真实数据集在Fscore上假设检验。图11为本发明的真实数据集在RandIndex上假设检验。图12为本发明的真实数据集在互信息上假设检验。具体实施方式下面结合具体实施例,对本发明技术方案进一步说明。如图1所示,本发明的具体实施方式是:提供一种基于L2稀疏限制的特征加权k-means聚类方法,包括如下步骤:(1)预处理:包含数据对象的表示和算法的初始化。首先,把数据集中每个对象表示成一个向量,即数据集X={x1,x2,...,xn},n为数据对象个数,其中每个数据对象表示为xi={xi1,xi2,...,xim},m为数据集中特征的数目。在算法运行时,需要把整个数据矩阵X加载到内存中。其次需要初始化算法。算法需要人工指定簇的数目k和稀疏限制参数α的值。在算法实现过程中,需要用到三个矩阵:数据对象分配矩阵U为n×k的0-1矩阵,uip=1表示第i个元素被分配到第p个簇中,U中每一行只有一个元素值为1,其他元素值为0,代表每个数据对象只能分配到一个簇中;簇中心Z为一个k×m的矩阵,用于代表k个簇的中心;特征权重W为k×m矩阵,每一个元素值代表在相应簇中相应特征的权重。在算法运行之前,可以先初始化其中两个矩阵,然后先计算未初始化的矩阵,接着计算已经初始化的矩阵,迭代进行,直到收敛。例如先初始化簇中心Z和权重W,然后按分配矩阵U、簇中心Z和权重W的顺序,迭代的计算三个矩阵。初始化簇中心Z时,可以随机选择k个数据对象作为k个簇的初始中心。在初始化权重W时,可以先随机产生k个非负向量,然后归一化k个向量作为k个簇的初始权向量。(2)计算数据对象分配矩阵:在给定簇中心Z和特征权重W的情况下,计算数据对象分配矩阵,即计算每个对象所属的簇。具体实施过程如下:结合带权散度距离和特征权重的L2平滑约束,为算法设计了一个目标函数为:约束条件为:其中代表数据对象i在j维度上与簇中心p的距离,k,n,m分别代表簇的数目,数据对象个数和维度,α为稀疏限制参数。通过求解该目标函数,可以得到数据对象分配矩阵的计算公式为:从公式中可以看出,数据对象将分配到与之具有最小带权距离的簇中。在计算分配矩阵U时,首先把U中所有的元素设置为0。然后针对每一个数据对象,计算出该对象与每一个簇中心的带权距离:最后找出最小距离Dip,设置uip=1,即把数据对象i分配到簇p中。可根据不同的数据特征采用不同的计算方法,通常对于数值型的数据,设计为欧式距离。(3)计算簇中心:在给定数据对象分配矩阵U和特征权重W的情况下,计算k个簇的中心。具体实施过程如下:根据算法的目标函数,当数据为数值型时,可以设计成欧式距离,即这样,目标函数则变成:可以通过固定分配矩阵U和特征权重W,对Z求导,并设置导数为零,求出:从公式可以看出,簇中心Z的计算与特征权重W没有关系。实际上,簇中心Z是所在簇中所有数据对象的算术平均值。当数据对象为类别型时,可以把k-means转化成k-modes算法,即以簇中出现频率最高的类别值作为该特征上的中心。根据公式,在计算簇中心时,先计算出每个簇在每个特征上的数值之和,然后除以簇中数据对象的数目,即可得到簇中心。(4)计算特征权重W:在给定分配矩阵U和簇中心Z的情况下,计算特征权重W。具体实施过程如下:根据步骤(2)中的目标函数,利用卡罗需-库恩-塔克条件(Karush-Kuhn-Tuckercondition)优化求解出特征权重W的迭代公式为:其中Lp=|{j|θp-vpj>0,1≤j≤m}|,θp为簇p中特征权重的阀值参数、vpj为在簇p中,第j个特征的散度、Lp为在簇p中特征权重大于0的特征数目。根据以上迭代公式,在计算W之前,首先为每个簇计算一个阀值参数θp(1≤p≤k)。当簇p中某个特征的散度大于θp时,权重设置为0,否则,根据特征权重迭代公式计算该特征的权重,即用阀值参数θp减去簇p中小于θp的特征散度,再除以稀疏限制参数α,则可计算出簇p中非零特征权重的值,计算机过程如图2所示。从上述权重计算公式可以看出,由于θp和Lp(即簇p中满足θp-vpj>0条件的特征个数)是相互耦合的,阀值参数θp的值不能通过一个公式直接算出。在本发明中,θp值的计算采用一种线性复杂度的计算方法。在计算θp之前,先对簇p中所有的特征散度Vp={vp1,vp2,...,vpm}进行排序,以便搜索θp的线性算法能够正确运行。然后,根据簇p在第j个特征维度上的散度值vpj,逐个判定是否满足θp-vpj>0条件。针对每个簇,都需要计算一个阀值参数。搜索阀值参数θp的线性算法流程如图3:(a)输入簇p中按升序排序的特征散度Vp={vp1,vp2,...,vpm},并初始化θp=α+vp1和循环变量j=2;(b)判断迭代变量j是否小于或等于特征数目m,如果小于或等于m,则转(c),否则转(f);(c)计算新的阀值参数(d)判断新阀值参数θnew是否大于当前的特征散度vpj,如果θnew>vpj,则转(e),否则转(f);(e)循环变量j加1,同时用新产生阀值参数θnew覆盖现有阀值参数θp;(f)输出簇p中特征权重大于0的特征个数Lp和阀值参数θp。本发明实施例基于L2稀疏限制的特征加权k-means聚类方法,结合簇内散度信息和特征权重的稀疏限制,设计了一个新的目标函数。通过优化求解该目标函数得到算法的三个迭代公式:计算数据对象分配矩阵公式,计算簇中心公式和计算特征权重公式。通过这三个迭代公式,本实施例设计了一个新的基于k-means聚类框架的算法。为了客观评价本发明的效果,本实施例在一个模拟数据集和五个真实数据上比较了本发明(l2-wkmeans)与现有的四种基于k-means框架的聚类算法性能。四种对比算法分别是传统k-means、向量加权k-means(W-k-means)、矩阵加权k-means(AWA)、熵矩阵加权k-means(EWkmeans)。本发明采用四种常用的聚类算法评价指标:精度、Fscore、RandIndex和互信息上的Neminyipost-hoc假设检验方法来评价本发明和现有方法的性能。在Neminyipost-hoc假设检验中,需要计算一个CD值,计算公式为其中qα为假设检验学生分布的临界值,可以在教科书中查表得到,A代表比较算法的个数,B代表算法在不同数据集上运行的总次数。如果两个算法在不同运行次数上的平均排名差距大于CD值,则代表这两个算法性能有显著的差异。在生成的一个5个维度,3个簇,每个簇包含100个数据对象的模拟数据集上,首先比较了由三个矩阵加权方法:本发明(l2-wkmeans)、矩阵加权k-means(AWA)、熵矩阵加权k-means(EWkmeans)产生的特征权重,如图4所示。从图中可以看出,本发明可以找出不同簇中具有显著作用的特征,即为簇1中第一和第二个特征、簇2中第二和第三个特征、簇3中第四和第五个特征。相对于其他算法,本发明赋予这些具有区分性的特征更大的权重。图5,图6,图7和图8分别是对比方法在模拟数据集上的精度,Fscore、RandIndex和互信息的假设检验结果。在0.05的显著性水平下,查表可得qα=2.728;有5个比较算法,所以A=5;实验中运行算法100次,所以B=100。因此,从实验结果看,在0.05的显著性水平下,本发明的l2-wkmeans方法要优于k-means、W-k-means和EWkmeans,但是与AWA没有显著差别。不过,从图5-8中可以看出,在大部分运行次数中,l2-wkmeans还是优于AWA。图9,图10,图11和图12分别是对比方法在真实数据集上的精度,Fscore、RandIndex和互信息的假设检验结果。在这个对比实验中,用到了5个数据集,数据集的属性如表1所示。表1:真实数据属性数据集名称特征数目簇数目数据对象数目Baberman33306BreastTissue96106Robot90488Sonar602208GammaTelescope10219020同样,在0.05的显著性水平下,查表可得qα=2.728;有5个比较算法,所以A=5;实验中,每个数据集上运行算法100次,所以B=500。因此从实验结果看,在0.05的显著性水平下,本发明的l2-wkmeans方法同样优于k-means、W-k-means、AWA和EWkmeans。因此,从模拟数据集和真实数据的实验结果来看,本发明的方法在性能上整体要优于现有的基于k-means聚类框架的方法。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1