分割式相似度传播数据聚类方法

文档序号:6460356阅读:186来源:国知局
专利名称:分割式相似度传播数据聚类方法
技术领域
本发明涉及海量多媒体数据处理领域,尤其涉及一种数据聚类方法。
技术背景在信息大爆炸的年代,人们所面对的数据是海量的。在Googlew上搜索"汽 车"这个关键词,你会得到217, 000, 000个结果;搜索"赛车"这个关键词, 你的结果数量就只有13, 600, 000 了;搜索"蓝色赛车"这个关键词,你的结 果数量将进一步下降,只有455, 000。由此可见,对已有数据进行聚类分组, 使每组内的数据都具有某些共同的特征,将为你对数据的进一步处理带来很大 的方便。目前的聚类方法有很多种,最常用的是A-均值聚类方法。A-均值聚类方法实 现起来很方便,但是它对初始聚类中心的选取很敏感——如果初始聚类中心选 取不当,将导致错误的聚类结果。对于海量的结构未知的数据集合,我们通常 采用随机采样的方法来产生这个初始聚类中心集合。当fc值越来越大时,初始 聚类中心集合选择正确的几率会越来越小。而且,对于^均值聚类方法而言,我们需事先指定类的个数。而对于海量的结构未知的数据集合,我们究竟应该 把它分成几类是不知道的。相似度传播数据聚类方法AP (Affinity Propagation, AP, Brendan J. Frey and Delbert Dueck, "Clustering by passing messages between data points," 5Wewce, 315(5814): 972-951, 2007)就没有以上缺点。它将两两数据对象之间的相似度作 为输入,而且此相似度可以是非对称的,即数据对象^到数据对象B的相似度 可以不等于数据对象S到数据对象^的相似度。实值信息在数据对象之间交换 传播直至一组高质量的聚类中心和相应的聚类产生。它的工作过程如下输入需要聚类的具有TV个数据对象的集合的相似度矩阵Shw ,不同的数据对 象z'和_/之间相似度s"》的度量取决于待聚类的数据对象的类别;对于二维空间 中的点,采用负欧氏距离度量任意两个对象之间的相似度,负欧氏距离的公式 如下<formula>formula see original document page 5</formula>; 和《是两个二维的矢量;自相似度^ 力代表了对象/作为聚类中心的合适程度,其值越接近于0,则 说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度s"^统一 设成所有不同数据对象之间相似度<formula>formula see original document page 6</formula>的中值。1) 创建大小为iVxiV可用性矩阵j和责任矩阵7 ,并将它们全部初始化为0;2) 对于所有的/^,A,iV),根据公式<formula>formula see original document page 6</formula>更新矩阵i 的所有元素;3) 对于所有^0,A,W,根据公式-<formula>formula see original document page 6</formula>更新矩阵X的所有元素;4) 根据公式<formula>formula see original document page 6</formula>4 来确定每个数据对象/的代表点;5) 重复步骤2到步骤4,直至步骤4中公式argmax^(/,力+ K/,川的计算结果 在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对 于数据规模为2000的数据集合,这个最大迭代次数为1000。但是,对于关系密集型数据集合,即任意两个对象之间的相似度都是有限的 数据集合,用相似度传播数据聚类方法AP进行聚类时,其运行时间会随着数据 量的增大成三次多项式增长。发明内容本发明的目的是提高相似度传播数据聚类方法AP在处理关系密集型数据 集合时的效率,提供一种相似度传播数据聚类方法的加速方法。相似度传播数据聚类方法的加速方法包括如下步骤l)输入需要聚类的具有W个数据对象的集合的相似度矩阵Swx w,<formula>formula see original document page 7</formula>2)将矩阵Sw^分割成t部分:<formula>formula see original document page 7</formula>A必须大于l,小于LaV("c)」, c是聚类结果中的类的个数的最大值,子矩阵Su,&2,A,&都是方阵,子矩阵SU,S22,A —!的大小是LiVA」xL^A」,子矩阵&的大小是<formula>formula see original document page 7</formula>3) 把子矩阵^,&2,A ,&作为相似度传播数据聚类方法的输入,得到A个可用<formula>formula see original document page 7</formula>4) 将步骤3)中的可用性矩阵—哉八,血合并,得到整个数据集合的可用性<formula>formula see original document page 7</formula>其中除去D2,A ,血,可用性矩阵i的其余部分为0;5)以l作为相似度传播数据聚类方法的初始可用性矩阵,得到最终聚所述的输入需要聚类的具有JV个数据对象的集合的相似度矩阵&x;v, 4U] ^ 0,/ e {1,A ,JV},_/ e {1,A ,iV}:不同的数据对象Z'和_/之间相似度S(7力的度量取 决于待聚类的数据对象的类别;对于二维空间中的点,采用负欧氏距离度量任 意两个对象之间的相似度,负欧氏距离的公式如下<formula>formula see original document page 7</formula>其中p和《是两个二维的矢量;自相似度s"O代表了对象M乍为聚类中心的合适程度,其值越接近于0,则 说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度s"^统一 设成所有不同数据对象之间相似度W,力,/e(l,A ,W,六仏A ,W,"y的中值。所述的把子矩阵^,&2,A ,&分别作为相似度传播数据聚类方法的输入,得到 t个可用性矩阵A,血设输入相似度矩阵的大小为:1) 创建大小为iVxTV可用性矩阵j和责任矩阵/ ,并将它们全部初始化为0;2) 对于所有的/eO,A,W,根据公式<formula>formula see original document page 8</formula>更新矩阵W的所有元素;3) 对于所有ye(l,A,iV),根据公式<formula>formula see original document page 8</formula>更新矩阵^的所有元素;4) 根据公式<formula>formula see original document page 8</formula> 4 来确定每个数据对象/的代表点;5)重复步骤2到步骤4,直至步骤4中公式<formula>formula see original document page 8</formula>的计算结果 在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对于数 据规模为2000的数据集合,这个最大迭代次数为1000。所述的以j'作为相似度传播数据聚类方法的初始可用性矩阵血xw ,得到最 终聚类结果用步骤4)得到的矩阵,作为相似度传播数据聚类方法的初始可用 性矩阵,艮P:设输入的相似度矩阵S和初始可用性矩阵J '的大小都为iVx7V : l)创建大小为iVxiV可用性矩阵j和责任矩阵仏将^4初始化为I,将W全部初始化为0;2) 对于所有的/e(l,A,W,根据公式/) <~ /) - max {a"/) + W, / )} 更新矩阵W的所有元素;3) 对于所有ye(l,A,W,根据公式_/) — min(O, 7) + J] max(O,,力} } 2"c/,力—Smax{°,r0 ,州 3更新矩阵J的所有元素;4) 根据公式arg max乂. 力+ , _/)] 4 来确定每个数据对象/的代表点;5) 重复步骤2到步骤4,直至步骤4中公式argmax^(/,力+ K"')]的计算结果 在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对于数 据规模为2000的数据集合,这个最大迭代次数为1000。 本发明的有益效果1) 该方法先将原始数据集合分组进行相似度传播数据聚类AP,然后把分 组聚类的结果合并,并以此为初始状态再次使用相似度传播数据聚类方法AP进 行聚类。在数据量达到一定规模时,比如1000,在整个数据集合上进行相似度 传播数据聚类方法AP的迭代次数要比一开始就在整个数据集上使用相似度传 播数据聚类方法AP迭代次数要少。同时,由于在本方法的最后一个步骤中,相 似度传播过程运行在整个数据集上,所以得到的聚类结果与原始方法相似,甚 至更佳。2) 当数据量很大时,由于在步骤把子矩阵S",S22,A&作为相似度传播数据 聚类方法的输入,得到A:个可用性矩阵^,h,Ai中,子矩阵&7只有原始矩阵 S的1/P大,而相似度传播数据聚类方法AP的运行时间会随着数据量的增大成 三次多项式增长,所以此步骤的运行时间此时可以忽略不计。3) 结合(1),分割式相似度传播数据聚类方法在处理大数据量关系密集型数据集合时,速度要比原始方法AP快。


图1是相似度传播数据聚类方法在对2000个随机产生的呈流形分布的三维 数据进行聚类得到的结果;图2是本发明取A:值为8在对同图1 一样的2000个随机产生的呈流形分布 的三维数据进行聚类得到的结果;图3是本发明对随机产生的呈流形分布的三维数据集合进行聚类的流程图。
具体实施方式
如附图3所示,给出了对随机产生的呈流形分布的三维数据点数据集合进 行聚类的流程图。下面结合本发明的方法详细说明该实例实施的具体步骤,如 下1) 输入需要聚类的具有2000个随机产生的呈流形分布的三维数据对象的集 合的相似度矩阵x加o, 力,/ e {1,A ,2000}, e {1,A ,2000}," _/ ;2) 将矩阵S 2000 x 2000 分割成8部分
<formula>formula see original document page 10</formula>其中子矩阵SU,S22,A,S88都是方阵,的大小是1_2000 / 8jx 1_2000 / 8」=250 x 250 , 子矩阵S88的大小是[2000 - (8 -1) x |_2000 / 8J] x [2000 - (8 -1) x |_2000 / 8』=250 x 250;3) 把子矩阵&,S22,A ,^作为相似度传播数据聚类方法的输入,得到8个可用性矩阵Al,J22,A ,J88;4) 将步骤3)中的可用性矩阵A11、A22、A88合并,得到整个数据集合的可用性矩阵A‘:<formula>formula see original document page 10</formula>除去丄,^2,A ,血,可用性矩阵l的其余部分为0;5)以l作为相似度传播数据聚类方法的初始可用性矩阵A。。。x2。。。,得到最终 聚类结果。所述的输入需要聚类的具有2000个数据对象的集合的相似度矩阵S2。。"2。。。, f ),/e{l,A 2000},/e{l,A ,2000}," y:对于三维空间中的点,采用负欧氏距离度 量任意两个对象之间的相似度,对三维空间中的点用负欧氏距离公式计算距离 的公式如下其中p和《是两个三维的矢量;自相似度^力代表了对象M乍为聚类中心的合适程度,其值越接近于0,则 说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度sp力统一 设成所有不同数据对象之间相似度啦/),/e仏A 2000}je{l,A ,2000}," _/的中值。所述的把子矩阵Sn,&2,A ,588分别作为相似度传播数据聚类方法的输入,得 到8个可用性矩阵A,, As:设输入相似度矩阵S的大小为250x250 :1)创建大小为250x250可用性矩阵j和责任矩阵及,并将它们全部初始化为2)对于所有的/e{l,A,250},根据公式:更新矩阵^的所有元素;4) 根据公式<formula>formula see original document page 12</formula> 4 来确定每个数据对象/的代表点;5) 重复步骤2到步骤4,直至步骤4中公式argmaxX/,力+ K!W)]的计算结果 在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数,这里的 最大迭代次数为1000。相应的matlab算法实现可在http:〃www.psi.toronto.edu/affinitvpropagation/ a。cluster 02Feb2007.m下载得至lj 。所述的以X'作为相似度传播数据聚类方法的初始可用性矩阵A。。"2。。。,得到最终聚类结果用步骤4)得到的矩阵^'作为相似度传播数据聚类方法的初始可 用性矩阵,艮P:设输入的相似度矩阵S和初始可用性矩阵(的大小都为2000x2000 :1) 创建大小为2000x2000可用性矩阵4和责任矩阵A,将J初始化为J,,将 i 全部初始化为0;2) 对于所有的Z e {1,A ,2000},根据公式-<formula>formula see original document page 12</formula>更新矩阵A的所有元素;3) 对于所有_/ e {1,A ,2000},根据公式<formula>formula see original document page 12</formula>更新矩阵j的所有元素;4) 根据公式<formula>formula see original document page 12</formula> 来确定每个数据对象/的代表点;5) 重复步骤2到步骤4,直至步骤4中公式<formula>formula see original document page 12</formula>的计算结果 在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数,这里的最大迭代次数为1000。使用本发明对这2000个数据进行聚类,在以i作为相似度传播数据聚类方 法的初始可用性矩阵,得到最终聚类结果的过程中,总共迭代162次,整个聚 类过程耗时147秒,得到58个聚类;而使用相似度传播数据聚类方法对同样的 这2000个数据聚类,总共迭代302次,耗时266秒,得到58个聚类。由此可 见,在处理大数据量关系密集型数据集合时,本发明速度要比原始方法AP快。图1是使用相似度传播数据聚类方法得到的聚类结果,图2是使用本发明的 方法得到的聚类结果。在图1中,正上方出现的错误聚类在图2中被纠正了, 由此可见,本发明得到的聚类结果与相似度传播数据聚类方法相似,甚至更佳。
权利要求
1.一种相似度传播数据聚类方法的加速方法,其特征在于包括如下步骤1)输入需要聚类的具有N个数据对象的集合的相似度矩阵SN×N,s[i,j]≤0,i∈{1,Λ,N},j∈{1,Λ,N};2)将矩阵SN×N分割成k部分<!--img id="icf0001" file="S2008100591237C00011.gif" wi="178" he="102" img-content="drawing" img-format="tif"/-->其中k必须大于1,小于N/(4×C),C是聚类结果中的类的个数的最大值,子矩阵S11,S22,Λ,Skk都是方阵,子矩阵S11,S22,Λ,Sk-1,k-1的大小是N/k×N/k,子矩阵Skk的大小是[N-(k-1)×N/k]×[N-(k-1)×N/k];3)把子矩阵S11,S22,Λ,Skk作为相似度传播数据聚类方法的输入,得到k个可用性矩阵A11,A22,Λ,Akk;4)将步骤3)中的可用性矩阵A11,A22,Λ,Akk合并,得到整个数据集合的可用性矩阵A′
2.根据权利要求1所述的一种相似度传播数据聚类方法的加速方法,其特 征在于所述的输入需要聚类的具有7V个数据对象的集合的相似度矩阵Swxw,小',y]S0,/e {1,A e {1,A ,w:不同的数据对象z'和_/之间相似度S(7》的度量取决于待聚类的数据对象的类别;对于二维空间中的点,采用负欧氏距离度量任 意两个对象之间的相似度,负欧氏距离的公式如下<formula>formula see original document page 3</formula>其中p和g是两个二维的矢量; 自相似度^^》代表了对象M乍为聚类中心的合适程度,其值越接近于0,则 说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度s"^统一 设成所有不同数据对象之间相似度啦力,/Ml,A ,7VWe{l,A ,iV},"y的中值。
3.根据权利要求1所述的一种相似度传播数据聚类方法的加速方法,其特征 在于所述的把子矩阵^,S22,7V 分别作为相似度传播数据聚类方法的输入,得 到A:个可用性矩阵^,h,A ,* :设输入相似度矩阵S的大小为iVxiV :(1) 创建大小为iVxiV可用性矩阵v4和责任矩阵及,并将它们全部初始化为0;(2) 对于所有的^仏A,W,根据公式-<formula>formula see original document page 3</formula>更新矩阵7 的所有元素;(3) 对于所有^(l,A,in,根据公式<formula>formula see original document page 3</formula> 3更新矩阵^的所有元素;(4) 根据公式<formula>formula see original document page 3</formula> 4 来确定每个数据对象/的代表点;(5) 重复步骤2到步骤4,直至步骤4中公式argmaxX/,力+ ',力]的计算结果 在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对于数 据规模为2000的数据集合,这个最大迭代次数为1000。
4.根据权利要求1所述的一种相似度传播数据聚类方法的加速方法,其特 征在于所述的以^作为相似度传播数据聚类方法的初始可用性矩阵^u ,得到 最终聚类结果用步骤4)得到的矩阵i作为相似度传播数据聚类方法的初始可用性矩阵,即设输入的相似度矩阵S和初始可用性矩阵J '的大小都为iVx iV :1) 创建大小为iVxiV可用性矩阵J和责任矩阵及,将^初始化为(,将^ 全部初始化为0;2) 对于所有的;e(l,A,A^,根据公式-更新矩阵i 的所有元素;3) 对于所有乂e仏A,W,根据公式<formula>formula see original document page 4</formula>3 更新矩阵^(的所有元素;4) 根据公式<formula>formula see original document page 4</formula>来确定每个数据对象z'的代表点;5)重复步骤2到步骤4,直至步骤4中公式argmaxX/,力+ KW)]的计算结果 在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对 于数据规模为2000的数据集合,这个最大迭代次数为1000。
全文摘要
本发明公开了一种相似度传播数据聚类方法的加速方法。首先,分块输入的数据集合的相似度矩阵,并在每个子矩阵上使用相似度传播数据聚类方法对子数据集合进行聚类;然后,把子数据集合的聚类结果以某种方式组合在一起,以此为初始状态,再次使用相似度传播数据聚类方法对整个数据集合进行聚类。本发明处理大数据量的关系密集型数据集合,可以在更短的时间内得到与相似度传播数据聚类方法基本相同的结果。在保持聚类结果的精度基本不变的前提下,本发明对于大数据量的关系密集型数据集合的聚类,与相似度传播数据聚类方法相比,有着明显的加速效果。
文档编号G06F17/30GK101216858SQ20081005912
公开日2008年7月9日 申请日期2008年1月14日 优先权日2008年1月14日
发明者飞 吴, 夏丁胤, 庄越挺, 张绪青, 郭同强 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1