CN101216858B - 分割式相似度传播数据聚类方法 - Google Patents
分割式相似度传播数据聚类方法 Download PDFInfo
- Publication number
- CN101216858B CN101216858B CN2008100591237A CN200810059123A CN101216858B CN 101216858 B CN101216858 B CN 101216858B CN 2008100591237 A CN2008100591237 A CN 2008100591237A CN 200810059123 A CN200810059123 A CN 200810059123A CN 101216858 B CN101216858 B CN 101216858B
- Authority
- CN
- China
- Prior art keywords
- matrix
- prime
- similarity
- data
- clustering method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种相似度传播数据聚类方法的加速方法。首先,分块输入的数据集合的相似度矩阵,并在每个子矩阵上使用相似度传播数据聚类方法对子数据集合进行聚类;然后,把子数据集合的聚类结果以某种方式组合在一起,以此为初始状态,再次使用相似度传播数据聚类方法对整个数据集合进行聚类。本发明处理大数据量的关系密集型数据集合,可以在更短的时间内得到与相似度传播数据聚类方法基本相同的结果。在保持聚类结果的精度基本不变的前提下,本发明对于大数据量的关系密集型数据集合的聚类,与相似度传播数据聚类方法相比,有着明显的加速效果。
Description
技术领域
本发明涉及海量多媒体数据处理领域,尤其涉及一种数据聚类方法。
背景技术
在信息大爆炸的年代,人们所面对的数据是海量的。在GoogleTM上搜索“汽车”这个关键词,你会得到217,000,000个结果;搜索“赛车”这个关键词,你的结果数量就只有13,600,000了;搜索“蓝色赛车”这个关键词,你的结果数量将进一步下降,只有455,000。由此可见,对已有数据进行聚类分组,使每组内的数据都具有某些共同的特征,将为你对数据的进一步处理带来很大的方便。
目前的聚类方法有很多种,最常用的是k-均值聚类方法。k-均值聚类方法实现起来很方便,但是它对初始聚类中心的选取很敏感——如果初始聚类中心选取不当,将导致错误的聚类结果。对于海量的结构未知的数据集合,我们通常采用随机采样的方法来产生这个初始聚类中心集合。当k值越来越大时,初始聚类中心集合选择正确的几率会越来越小。而且,对于k-均值聚类方法而言,我们需事先指定类的个数。而对于海量的结构未知的数据集合,我们究竟应该把它分成几类是不知道的。
相似度传播数据聚类方法AP(Affinity Propagation,AP,Brendan J.Frey andDelbert Dueck,“Clustering by passing messages between data points,”Science,315(5814):972-951,2007)就没有以上缺点。它将两两数据对象之间的相似度作为输入,而且此相似度可以是非对称的,即数据对象A到数据对象B的相似度可以不等于数据对象B到数据对象A的相似度。实值信息在数据对象之间交换传播直至一组高质量的聚类中心和相应的聚类产生。它的工作过程如下:
输入需要聚类的具有N个数据对象的集合的相似度矩阵SN×N,不同的数据对象i和j之间相似度s(i,j)的度量取决于待聚类的数据对象的类别;对于二维空间中的点,采用负欧氏距离度量任意两个对象之间的相似度,负欧氏距离的公式如下:
其中
p和q是两个二维的矢量;
自相似度s(i,i)代表了对象i作为聚类中心的合适程度,其值越接近于0,则说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度s(i,i)统一设成所有不同数据对象之间相似度s(i,j),i∈{1,Λ,N},j∈{1,Λ,N},i≠j的中值。
1)创建大小为N×N可用性矩阵A和责任矩阵R,并将它们全部初始化为0;
2)对于所有的i∈{1,Λ,N},根据公式:
更新矩阵R的所有元素;
3)对于所有j∈{1,Λ,N},根据公式:
更新矩阵A的所有元素;
4)根据公式:
arg maxj[a(i,j)+r(i,j)] 4
来确定每个数据对象i的代表点;
5)重复步骤2到步骤4,直至步骤4中公式arg maxj[a(i,j)+r(i,j)]的计算结果在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对于数据规模为2000的数据集合,这个最大迭代次数为1000。
但是,对于关系密集型数据集合,即任意两个对象之间的相似度都是有限的数据集合,用相似度传播数据聚类方法AP进行聚类时,其运行时间会随着数据量的增大成三次多项式增长。
发明内容
本发明的目的是提高相似度传播数据聚类方法AP在处理关系密集型数据集合时的效率,提供一种相似度传播数据聚类方法的加速方法。
相似度传播数据聚类方法的加速方法包括如下步骤:
1)输入需要聚类的具有N个数据对象的集合的相似度矩阵SN×N,
s[i,j]≤0,i∈{1,Λ,N},j∈{1,Λ,N};
2)将矩阵SN×N分割成k部分:
其中
C是聚类结果中的类的个数的最大值,
子矩阵S11,S22,Λ,Skk都是方阵,
3)把子矩阵S11,S22,Λ,Skk作为相似度传播数据聚类方法的输入,得到k个可用性矩阵A11,A22,Λ,Akk;
4)将步骤3)中的可用性矩阵A11,A22,Λ,Akk合并,得到整个数据集合的可用性矩阵A′:
其中
除去A11,A22,Λ,Akk,可用性矩阵A′的其余部分为0;
5)以A′作为相似度传播数据聚类方法的初始可用性矩阵AN×N,得到最终聚类结果。
所述的输入需要聚类的具有N个数据对象的集合的相似度矩阵SN×N,s[i,j]≤0,i∈{1,Λ,N},j∈{1,Λ,N}:不同的数据对象i和j之间相似度s(i,j)的度量取决于待聚类的数据对象的类别;对于二维空间中的点,采用负欧氏距离度量任意两个对象之间的相似度,负欧氏距离的公式如下:
其中
p和q是两个二维的矢量;
自相似度s(i,i)代表了对象i作为聚类中心的合适程度,其值越接近于0,则说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度s(i,i)统一设成所有不同数据对象之间相似度s(i,j),i∈{1,Λ,N},j∈{1,Λ,N},i≠j的中值。
所述的把子矩阵S11,S22,Λ,Skk分别作为相似度传播数据聚类方法的输入,得到k个可用性矩阵A11,A22,Λ,Akk:设输入相似度矩阵S的大小为N×N:
1)创建大小为N×N可用性矩阵A和责任矩阵R,并将它们全部初始化为0;
2)对于所有的i∈{1,Λ,N},根据公式:
更新矩阵R的所有元素;
3)对于所有j∈{1,Λ,N},根据公式:
更新矩阵A的所有元素;
4)根据公式:
arg maxj[a(i,j)+r(i,j)] 4
来确定每个数据对象i的代表点;
5)重复步骤2到步骤4,直至步骤4中公式arg maxj[a(i,j)+r(i,j)]的计算结果在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对于数据规模为2000的数据集合,这个最大迭代次数为1000。
所述的以A′作为相似度传播数据聚类方法的初始可用性矩阵AN×N,得到最终聚类结果:用步骤4)得到的矩阵A’作为相似度传播数据聚类方法的初始可用性矩阵,即:
设输入的相似度矩阵S和初始可用性矩阵A’的大小都为N×N:
1)创建大小为N×N可用性矩阵A和责任矩阵R,将A初始化为A’,将R全部初始化为0;
2)对于所有的i∈{1,Λ,N},根据公式:
更新矩阵R的所有元素;
3)对于所有j∈{1,Λ,N},根据公式:
更新矩阵A的所有元素;
4)根据公式:
arg maxj[a(i,j)+r(i,j)] 4
来确定每个数据对象i的代表点;
5)重复步骤2到步骤4,直至步骤4中公式arg maxj[a(i,j)+r(i,j)]的计算结果在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数。对于数据规模为2000的数据集合,这个最大迭代次数为1000。
本发明的有益效果:
1)该方法先将原始数据集合分组进行相似度传播数据聚类AP,然后把分组聚类的结果合并,并以此为初始状态再次使用相似度传播数据聚类方法AP进行聚类。在数据量达到一定规模时,比如1000,在整个数据集合上进行相似度传播数据聚类方法AP的迭代次数要比一开始就在整个数据集上使用相似度传播数据聚类方法AP迭代次数要少。同时,由于在本方法的最后一个步骤中,相似度传播过程运行在整个数据集上,所以得到的聚类结果与原始方法相似,甚至更佳。
2)当数据量很大时,由于在步骤把子矩阵S11,S22,ΛSkk作为相似度传播数据聚类方法的输入,得到k个可用性矩阵A11,A22,Λ Akk中,子矩阵Sii只有原始矩阵S的1/k2大,而相似度传播数据聚类方法AP的运行时间会随着数据量的增大成三次多项式增长,所以此步骤的运行时间此时可以忽略不计。
3)结合(1),分割式相似度传播数据聚类方法在处理大数据量关系密集型数据集合时,速度要比原始方法AP快。
附图说明
图1是相似度传播数据聚类方法在对2000个随机产生的呈流形分布的三维数据进行聚类得到的结果;
图2是本发明取k值为8在对同图1一样的2000个随机产生的呈流形分布的三维数据进行聚类得到的结果;
图3是本发明对随机产生的呈流形分布的三维数据集合进行聚类的流程图。
具体实施方式
如附图3所示,给出了对随机产生的呈流形分布的三维数据点数据集合进行聚类的流程图。下面结合本发明的方法详细说明该实例实施的具体步骤,如下:
1)输入需要聚类的具有2000个随机产生的呈流形分布的三维数据对象的集合的相似度矩阵S2000×2000,s(i,j),i ∈{1,Λ,2000},j∈{1,Λ,2000},i≠j;
2)将矩阵S2000×2000分割成8部分:
其中
子矩阵S11,S22,Λ,S88都是方阵,
3)把子矩阵S11,S22,Λ,S88作为相似度传播数据聚类方法的输入,得到8个可用性矩阵A11,A22,Λ,A88;
4)将步骤3)中的可用性矩阵A11,A22,Λ,A88合并,得到整个数据集合的可用性矩阵A′:
其中
除去A11,A22,Λ,A88,可用性矩阵A′的其余部分为0;
5)以A′作为相似度传播数据聚类方法的初始可用性矩阵A2000×2000,得到最终聚类结果。
所述的输入需要聚类的具有2000个数据对象的集合的相似度矩阵S2000×2000,s(i,j),i∈{1,Λ 2000},j∈{1,Λ,2000},i≠j:对于三维空间中的点,采用负欧氏距离度量任意两个对象之间的相似度,对三维空间中的点用负欧氏距离公式计算距离的公式如下:
其中
p和q是两个三维的矢量;
自相似度s(i,i)代表了对象i作为聚类中心的合适程度,其值越接近于0,则说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度s(i,i)统一设成所有不同数据对象之间相似度s(i,j),i∈{1,Λ 2000},j∈{1,Λ,2000},i≠j的中值。
所述的把子矩阵S11,S22,Λ,S88分别作为相似度传播数据聚类方法的输入,得到8个可用性矩阵A11,A22,Λ,A88:设输入相似度矩阵S的大小为250×250:
1)创建大小为250×250可用性矩阵A和责任矩阵R,并将它们全部初始化为0;
2)对于所有的i∈{1,Λ,250},根据公式:
更新矩阵R的所有元素;
3)对于所有j∈{1,Λ,250},根据公式:
更新矩阵A的所有元素;
4)根据公式:
arg maxj[a(i,j)+r(i,j)] 4
来确定每个数据对象i的代表点;
5)重复步骤2到步骤4,直至步骤4中公式arg maxj[a(i,j)+r(i,j)]的计算结果在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数,这里的最大迭代次数为1000。
相应的matlab算法实现可在http://www.psi.toronto.edu/affinitypropagation/ apcluster 02Feb2007.m下载得到。
所述的以A′作为相似度传播数据聚类方法的初始可用性矩阵A2000×2000,得到最终聚类结果:用步骤4)得到的矩阵A’作为相似度传播数据聚类方法的初始可用性矩阵,即:
设输入的相似度矩阵S和初始可用性矩阵A’的大小都为2000×2000:
1)创建大小为2000×2000可用性矩阵A和责任矩阵R,将A初始化为A’,将R全部初始化为0;
2)对于所有的i∈{1,Λ,2000},根据公式:
更新矩阵R的所有元素;
3)对于所有j∈{1,Λ,2000},根据公式:
更新矩阵A的所有元素;
4)根据公式:
arg maxj[a(i,j)+r(i,j)] 4
来确定每个数据对象i的代表点;
5)重复步骤2到步骤4,直至步骤4中公式arg maxj[a(i,j)+r(i,j)]的计算结果在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数,这里的最大迭代次数为1000。
使用本发明对这2000个数据进行聚类,在以A′作为相似度传播数据聚类方法的初始可用性矩阵,得到最终聚类结果的过程中,总共迭代162次,整个聚类过程耗时147秒,得到58个聚类;而使用相似度传播数据聚类方法对同样的这2000个数据聚类,总共迭代302次,耗时266秒,得到58个聚类。由此可见,在处理大数据量关系密集型数据集合时,本发明速度要比原始方法AP快。
图1是使用相似度传播数据聚类方法得到的聚类结果,图2是使用本发明的方法得到的聚类结果。在图1中,正上方出现的错误聚类在图2中被纠正了,由此可见,本发明得到的聚类结果与相似度传播数据聚类方法相似,甚至更佳。
Claims (4)
1.一种相似度传播数据聚类方法的加速方法,其特征在于包括如下步骤:
1)输入需要聚类的具有N个数据对象的集合的相似度矩阵SN×N,s[i,j]≤0,i ∈{1,…,N},j∈{1,…,N};
2)将矩阵SN×N分割成k部分:
其中
C是聚类结果中的类的个数的最大值,
子矩阵S11,S22,…,Skk都是方阵,
3)把子矩阵S11,S22,…,Skk作为相似度传播数据聚类方法的输入,得到k个可用性矩阵A11,A22,…,Akk;
4)将步骤3)中的可用性矩阵A11,A22,…,Akk合并,得到整个数据集合的可用性矩阵A′:
其中
除去A11,A22,…,Akk,可用性矩阵A′的其余部分为0;
5)以A′作为相似度传播数据聚类方法的初始可用性矩阵AN×N,得到最终聚类结果。
2.根据权利要求1所述的一种相似度传播数据聚类方法的加速方法,其特征在于所述的输入需要聚类的具有N个数据对象的集合的相似度矩阵SN×N,s[i,j]≤0,i∈{1,…,N},j∈{1,…,N}:不同的数据对象i和j之间相似度s(i,j)的度量取决于待聚类的数据对象的类别;对于二维空间中的点,采用负欧氏距离度量任意两个对象之间的相似度,负欧氏距离的公式如下:
其中
p和q是两个二维的矢量;
自相似度s(i,i)代表了对象i作为聚类中心的合适程度,其值越接近于0,则说明其越适合作为聚类中心;在数据分布未知的情况下,将自相似度s(i,i)统一设成所有不同数据对象之间相似度s(i,j),i∈{1,…,N},j∈{1,…,N},i≠j的中值。
3.根据权利要求1所述的一种相似度传播数据聚类方法的加速方法,其特征在于所述的把子矩阵S11,S22,…,Skk分别作为相似度传播数据聚类方法的输入,得到k个可用性矩阵A11,A22,…,Akk,设输入相似度矩阵S的大小为N×N:
1)创建大小为N×N可用性矩阵A和责任矩阵R,并将它们全部初始化为0;
2)对于所有的i∈{1,…,N},根据公式:
更新矩阵R的所有元素;
3)对于所有j∈{1,…,N},根据公式:
更新矩阵A的所有元素;
4)根据公式:
argmaxj[a(i,j)+r(i,j)] 4
来确定每个数据对象i的代表点;
5)重复步骤2)到步骤4),直至步骤4)中公式argmaxj[a(i,j)+r(i,j)]的计算结果在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数,对于数据规模为2000的数据集合,这个最大迭代次数为1000。
4.根据权利要求1所述的一种相似度传播数据聚类方法的加速方法,其特征在于所述的以A′作为相似度传播数据聚类方法的初始可用性矩阵AN×N,得到最终聚类结果,用步骤4)得到的矩阵A’作为相似度传播数据聚类方法的初始可用性矩阵,即:
设输入的相似度矩阵S和初始可用性矩阵A’的大小都为N×N:
1)创建大小为N×N可用性矩阵A和责任矩阵R,将A初始化为A’,将R全部初始化为0;
2)对于所有的i∈{1,…,N},根据公式:
更新矩阵R的所有元素;
3)对于所有j∈{1,…,N},根据公式:
更新矩阵A的所有元素;
4)根据公式:
argmaxj[a(i,j)+r(i,j)] 4
来确定每个数据对象i的代表点;
5)重复步骤2)到步骤4),直至步骤4)中公式argmaxj[a(i,j)+r(i,j)]的计算结果在连续的50次迭代中保持不变,或者总的迭代次数达到最大迭代次数,对于数据规模为2000的数据集合,这个最大迭代次数为1000。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100591237A CN101216858B (zh) | 2008-01-14 | 2008-01-14 | 分割式相似度传播数据聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100591237A CN101216858B (zh) | 2008-01-14 | 2008-01-14 | 分割式相似度传播数据聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101216858A CN101216858A (zh) | 2008-07-09 |
CN101216858B true CN101216858B (zh) | 2011-12-07 |
Family
ID=39623290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100591237A Expired - Fee Related CN101216858B (zh) | 2008-01-14 | 2008-01-14 | 分割式相似度传播数据聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101216858B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049581B (zh) * | 2013-01-21 | 2015-10-07 | 北京航空航天大学 | 一种基于一致性聚类的Web文本分类方法 |
CN103942318B (zh) * | 2014-04-25 | 2017-05-17 | 湖南化工职业技术学院 | 一种并行ap传播的xml大数据聚类集成方法 |
CN104240507B (zh) * | 2014-09-18 | 2016-08-24 | 银江股份有限公司 | 一种基于多视角融合的交通小区划分方法 |
CN104867206A (zh) * | 2014-12-05 | 2015-08-26 | 讯美电子科技有限公司 | 门禁控制系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260038B1 (en) * | 1999-09-13 | 2001-07-10 | International Businemss Machines Corporation | Clustering mixed attribute patterns |
US6681060B2 (en) * | 2001-03-23 | 2004-01-20 | Intel Corporation | Image retrieval using distance measure |
CN1731401A (zh) * | 2005-08-26 | 2006-02-08 | 清华大学 | 数据挖掘中一种基于混合互信息的特征选择方法 |
-
2008
- 2008-01-14 CN CN2008100591237A patent/CN101216858B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260038B1 (en) * | 1999-09-13 | 2001-07-10 | International Businemss Machines Corporation | Clustering mixed attribute patterns |
US6681060B2 (en) * | 2001-03-23 | 2004-01-20 | Intel Corporation | Image retrieval using distance measure |
CN1731401A (zh) * | 2005-08-26 | 2006-02-08 | 清华大学 | 数据挖掘中一种基于混合互信息的特征选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101216858A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Norros et al. | On a conditionally Poissonian graph process | |
Berman et al. | Varieties with few subalgebras of powers | |
CN101216858B (zh) | 分割式相似度传播数据聚类方法 | |
Alon et al. | Sign rank versus VC dimension | |
CN106096066A (zh) | 基于随机近邻嵌入的文本聚类方法 | |
CN102646097B (zh) | 一种聚类方法及装置 | |
CN101339553A (zh) | 面向海量数据近似快速聚类和索引方法 | |
Chen et al. | Coarsening the granularity: Towards structurally sparse lottery tickets | |
CN104899607B (zh) | 一种传统云纹图案的自动分类方法 | |
CN101882150B (zh) | 一种基于核密度估计的三维模型比较和检索方法 | |
CN103427791B (zh) | 一种基于粒子群优化的信号分离方法 | |
CN103020979B (zh) | 基于稀疏遗传聚类的图像分割方法 | |
CN103605985A (zh) | 一种基于张量全局-局部保持投影的数据降维方法 | |
CN105139031A (zh) | 一种基于子空间聚类的数据处理方法 | |
CN105631469A (zh) | 一种多层稀疏编码特征的鸟类图像识别方法 | |
CN102208033A (zh) | 基于数据聚类的鲁棒sift特征匹配方法 | |
Iwata et al. | Separator-based pruned dynamic programming for Steiner tree | |
Grigorchuk et al. | Schreier spectrum of the Hanoi Towers group on three pegs | |
CN101540061B (zh) | 基于模拟退火的无序图像拓扑有序化匹配方法 | |
Ceccherini-Silberstein et al. | The Myhill property for strongly irreducible subshifts over amenable groups | |
CN104063518A (zh) | 一种针对大数据的分解组合聚类方法 | |
CN107908853A (zh) | 基于先验信息和大数据的汽车运行工况设计方法 | |
CN106951501A (zh) | 一种基于多图匹配的三维模型检索方法 | |
US20140343945A1 (en) | Method of visual voice recognition by following-up the local deformations of a set of points of interest of the speaker's mouth | |
US20140343944A1 (en) | Method of visual voice recognition with selection of groups of most relevant points of interest |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111207 Termination date: 20150114 |
|
EXPY | Termination of patent right or utility model |