一种非独立同分布下针对数值型数据的PAM改进算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种非独立同分布下针对数值型数据的PAM改进算法
韩冰;姜合
【摘要】PAM算法是K-中心点算法中最具代表性的算法。
在此算法中,相似性度量的计算方法仅假设数据对象属性之间是独立同分布,采用欧几里得距离公式来进行计算。
但现实数据集中,数据对象属性之间是非独立同分布的,即它们之间都是相关联的。
因此,本文针对数值型数据,在PAM算法中引入了数值型数据非独立同分布计算公式,将原本的皮尔森相关系数替换为斯皮尔曼等级相关系数,并进行了实验验证。
结果显示,数值型数据非独立同分布计算公式的引入很好地提高了PAM算法的聚类精度。
【期刊名称】《齐鲁工业大学学报:自然科学版》
【年(卷),期】2019(033)002
【总页数】6页(P56-61)
【关键词】聚类;PAM算法;相似性;非独立同分布
【作者】韩冰;姜合
【作者单位】[1]齐鲁工业大学(山东省科学院)计算机科学与技术学院,济南250353;[1]齐鲁工业大学(山东省科学院)计算机科学与技术学院,济南250353;【正文语种】中文
【中图分类】TP301.6
数据挖掘是要将一些隐含的、先前未知的、有潜在价值的信息从大量的数据中提取
出来。
针对于未知数据的划分,聚类分析则是数据挖掘中重要的研究手段,是一种无监督学习方法,在数据挖掘的各个方面都有着较为广泛的应用[1]。
主要的聚类
算法包括基于层次的聚类算法、基于划分的聚类算法、基于密度的聚类算法、基于网格的聚类算法等[2]。
聚类的特点是将大量的数据分成若干个簇,使得每个簇内
的数据之间尽可能相似,不同簇之间则尽可能相异。
随着时代的发展,人们面对的数据增多,数据挖掘的重要性不断凸显,其中聚类分析对于实现高效快速的信息检索有着重要的价值[3]。
K-中心点算法[4]的主要思想是用最接近于簇的中心的数据对象来代表中心点,其
中最具代表性的K-中心点算法为PAM(Partitioniong Around Medoids) 算法[5]。
PAM算法的设计理念克服了K-均值算法对于噪声点敏感的局限性,鲁棒性得到了提高,聚类效果较K-均值算法更为精确[6]。
PAM算法的用靠近簇中心点的数据
对象作为中心点的思想,虽然提高了算法的精度,但是相似度的计算方式往往还是采用欧几里得距离等假设数据对象属性之间是独立同分布的计算方式。
在真实数据中,数据对象属性之间存在着潜在的联系,独立同分布的计算方式没有将数据对象属性之间的联系加入到相似度的计算当中,忽略了其中的相关性。
因此,非独立同分布的计算公式的引入将更加符合实际。
本文引入数值型非独立同分布计算公式,将提高PAM算法在针对数值型数据时的聚类精度。
1 PAM算法
1.1 PAM算法基本概念
PAM算法的具体思想为:首先随机选取K个初始中心点,然后将剩余数据对象根据相似度划分到每个中心点对应的簇中;接下来便根据代价函数不断地评估一个非代表对象是否可以替换一个代表对象,若可以,便对中心点进行替换,并根据相似度将簇进行重新划分;经过反复迭代,最终输出K个划分完成的簇。
1.2 PAM算法描述
输入:所需划分完成的簇数K,所需划分数据对象集合。
输出:K个聚类完成的簇,目标为簇内尽可能的相似,簇间相异。
1)从所有的数据对象中选出K个数据对象作为初始中心点,可随机选择;
2)将所剩数据对象根据相似度划分到相应的中心点所在簇中;
3)从数据对象中选取一个还未曾选过的中心点与未曾选过的非中心点;
4)选择的非中心点代替选择的中心点时会产生代价,然后将总代价保存至S中;
5)不断进行循环,直至所有的中心点与非中心点都被选择过;
6)如果S中保存的总代价有小于0的情况,则找出代价最小的非中心点进行相应的替换。
7)替换完成后,将除中心点外的其余对象重新根据相似度划分到相应的簇中。
8)若S均大于0,簇不再进行重新的分配,则PAM聚类算法完成。
1.3 PAM算法的缺陷
PAM算法虽然对噪声点与孤立点不敏感,但需要不断迭代与替换。
随着数据量的不断增大,需要迭代与替换的次数也将不断增大。
PAM算法对小量数据具有较好的聚类效果与较快的聚类速度,但对于较大数据量的数据集而言,聚类效果与聚类效率将大大降低。
并且在现有的PAM算法中,相似度的计算方法都仅仅使用距离进行计算,均是假设数据对象属性之间是独立同分布的。
但在现实当中,数据对象的属性之间都存在相关性,因为对数据对象属性之间相关性的忽略,所以算法的聚类精度还有待提升。
1.4 PAM算法的研究现状
PAM算法[7]于1990年由 Kaufman和Rousseeuw提出,是最早的K-中心点算法中的一种。
许多学者都对包括PAM算法在内的K-中心点算法进行了改进,使聚类精度与运算效率得到了提高,并且在各个方面都对包括PAM算法在内的K-中心点算法进行了应用。
2002年,Chu[8]等人提出的降低计算复杂度的方法使算法效率得到了提高;2005年,高小梅[9]等人提出的增量式K-中心点算法使传统算法伸缩性以及数据定期更新时所面临的问题得到了很好的解决;2007年,张钊、王锁柱[10]等人提出了一种自组织映射算法和PAM算法相结合的聚类算法,有着更高的聚类效率和更好的聚类质量;2008年,Gullo[11]等人提出了针对不确定数据的K-中心点算法,克服了算法面对不确定数据是的问题;为优化初始中心点的选择,2009年Park[12]等人提出了一种快速K-中心点算法,使中心点的选择方法得到了很大的突破,效率得到了提高;2011年,李静滨[13]等人提出的基于多核平台并行的K-中心点算法,使算法获得了较好的运行效率;同年,针对算法容易陷入死循环的问题,罗德超[14]等人提出了一种K-均值预处理回溯方法;2012年谢娟英[15]等人提出的基于邻域与密度的PAM聚类算法,2014年路浩、倪世宏[16]等人提出的运用递减概率改进后的 K-中心点算法、2016年赵湘民[17]等人提出的根据稠密区的K-中心点算法,均优化了初始中心点的选择,使算法的效率得到了提高;2017年,周恩波[18]等人提出了根据GPU计算的并行模拟退火PAM法,提高了算法的有效性和时间效率;2017年,余冬华[19]等人提出了根据距离不等式的K-中心点算法,降低了算法的时间复杂度。
非独立同分布的概念由Cao[20]在2011年提出,对数据对象等各个方面的非独立同分布进行了介绍与分析。
同年,Wang、Cao[21]等人针对类别型数据,利用属性值频率提出了无监督学习中的名义耦合相似性计算方法。
2013年Wang等人提出了数值型数据的耦合相似性计算公式,将数值型数据对象属性之间相似性计算加入到了数据对象之间相似度的计算当中,利用皮尔森相关性系数与泰勒展开公式,计算非独立同分布下的耦合相似度。
2 N-NI-PAM算法
在PAM算法的改进方法中,相似性度量方式大部分都采用距离计算方法,此种方
法均是假设数据对象属性之间是非独立同分布的,但是这与真实的情况并不相符。
实际上,数据对象属性之间是存在着潜在联系的,需要将数据对象属性之间的相似性加入到相似性度量的计算方法中去,以此来提高算法的聚类精度。
因此,针对数值型数据,本文在相似性度量计算时引入了数值型非独立同分布计算公式,将数据对象属性之间的相似性加入到了相似性度量计算当中,并将原本的皮尔森相关系数替换为斯皮尔曼等级相关系数,设计了N-NI-PAM(Numerical-Non-IID Partitioniong Around Medoids)算法,以次来提高算法的聚类效果。
2.1 相关公式
给定数据集合定义为 X={x1,x2,…,xn},表示包含n个数据对象,并且任意一个数据对象均包含p个属性,A={a1,…,ap};聚类个数为k,满足k<n;用xij 来表示第i个数据对象的第j个属性。
任选其中的两个属性,它们之间的斯皮尔曼等级相关系数公式表示如下:
其中m表示秩次差,本文用修改后的相关性系数,当 P<0.05时,相关性系数为其他情况为0。
本文所引入的文献属性之间相似度计算公式:
δ信息函数表示Aj属性列自身扩展后相互之间的斯皮尔曼等级相关系数矩阵代表函数,α信息函数表示Aj属性列扩展后与其他属性间的斯皮尔曼等级相关系数矩阵代表函数,f信息函数则表示数据集扩展之后所得矩阵的代表函数。
任选其中的两个数据对象,它们之间的欧式距离公式表示如下:
2.2 N-NI-PAM算法描述
输入:所需划分完成的簇数k,所需划分数据对象集合,扩展参数L。
输出:k个聚类完成的簇,目标为簇内尽可能相似,簇间相异。
1)视情况将每一列数据进行归一化。
2)将输入的数据集根据L参数进行扩展。
例如L=2时,对每列属性值进行平方,得到L∗Q列的矩阵data1。
3)计算属性ai列与自身属性扩展列之间的相关性矩阵Ra。
4)计算属性ai列与其他属性及其扩展列之间的相关性矩阵Re。
5)根据泰勒展开公式与Ra、Re矩阵计算出非独立同分布数据矩阵Data。
6)在所有的数据对象中选出K个数据对象作为初始中心点,可随机选择。
7)将所剩数据对象根据距离划分到相应的中心点所在簇中。
8)从数据对象中选取一个还未曾选过的中心点与一个未曾选过的非中心点。
9)选择的非中心点代替选择的中心点时会产生代价,然后将总代价保存至S中。
10)不断进行循环,直至所有的中心点与非中心点都被选择过。
11)如果S中保存的总代价有小于0的情况,则找出代价最小的非中心点进行相应的替换。
12)替换完成后,将除中心点外的其余对象重新根据相似度划分到相应的簇中。
13)若S均大于0,簇不再进行重新分配,则PAM聚类算法完成。
3 实验结果
3.1 实验描述
Wine和Iris数据集为UCI数据集中较为有代表性的数据集,因此本文选择这两个数据集进行实验验证。
实验环境为:MATLAB 2016a,Intel(R)Core(TM)i7-6700CPU、3.40 GHz、8.0 GB,Microsoft Windows 7。
将数据集分别在传统PAM算法中与NNI-PAM算法中于相同环境下分别运行10次,然后分别记录Wine数据集与Iris数据集在N-NI-PAM算法中的运行结果,
并将结果进行比较,证实了N-NI-PAM算法的有效性。
3.2 实验结果
将传统PAM算法与N-NI-PAM算法分别运行10次,对比结果如表1所示。
表1 Wine数据集实验结果对比传统PAM算法文献[22]算法 N-NI-PAM算法70.79% 72.12% 94.94%
表2 Iris数据集实验结果对比传统PAM算法文献[22]算法 N-NI-PAM算法
89.87% 91.21% 93.33%
所选的Wine数据集共拥有178个数据对象、13个属性,需要分为3类。
传统PAM算法的平均正确率为70.79%,文献[22]PAM算法的平均正确率为72.12%,本文的N-NI-PAM算法的平均正确率为94.94%。
所选Iris数据集共拥有150个
数据对象、4个属性值,同样需要分为3类。
传统PAM算法的平均正确率为
89.87%,文献[22]PAM算法的平均正确率为91.21%,本文的N-NIPAM算法的平均正确率为93.33%。
4 结论
PAM算法的相似性度量大多采用距离的度量方式,这些度量方式大多建立在假设
数据对象属性之间是独立同分布的,但是这与真实情况并不相符。
因此,本文引入了Wang等人提出的数值型数据下的非独立同分布公式,将其中的皮尔森相关性
系数换为斯皮尔曼等级相关系数,然后再利用泰勒展开公式进行计算。
实验证明,将数据对象属性之间的相关性系数加入到相似度的计算当中,可以提高聚类效果,使聚类结果更加符合实际情况。
参考文献:
【相关文献】
[1] XU R,WUNSCH D.Survey of clustering algorithms[J].IEEE Transactions on Neural Networks,2005,16(3):645-678.
[2] 蔡元萃,陈立潮.聚类算法研究综述[J].图书情报导刊,2007,17(1):145-146.
[3] 贺玲,吴玲达,蔡益朝.数据挖掘中的聚类算法综述[J]. 计算机应用研究,2007,24(1):10-13.
[4] ESTIVILL-CASTRO V,YANG J.Fast and robust general purpose clustering algorithms[C]. Pacific Rim International Conference on Artificial Intelligence.Springer,Berlin,Heidelberg,2000: 208-218.
[5] 周涛,陆惠玲.数据挖掘中聚类算法研究进展[J].计算机工程与应用,2012,48(12):100-111.
[6] 何云斌,张志超,万静,等.不确定数据聚类的 UPAM算法和UM-PAM算法的研究[J].计算机
科学,2016,43(6): 263-269.
[7] AUFMAN L,ROUSSEEUW P J.Agglomerative Nesting(Program AGNES)[M].Finding Groups in Data:An Introduction to Cluster Analysis.1990.
[8] CHU S C,RODDICK J F,PAN J S.An efficient kmedoids-based algorithm using previous medoid index,triangular inequality elimination criteria,and partial distance search[C].International Conference on Data Warehousing and Knowledge
Discovery.Springer,Berlin,Heidelberg,2002: 63-72.
[9] 高小梅,冯云,冯兴杰.增量式 K-Medoids聚类算法[J]. 计算机工程,2005,31(7):181-183.
[10] 张钊,王锁柱,张雨.一种基于SOM和PAM的聚类算法[J]. 计算机应用,2007,27(6):1400-1402.
[11] GULLO F,PONTI G,TAGARELLI A.Clustering uncertain data via K-
medoids[C].International Conference on Scalable Uncertainty Management. Springer-Verlag,2008:229-242.
[12] PARK H S,JUN C H.A simple and fast algorithm for K-medoids clustering[J]. ExpertSystems with Applications,2009,36(2): 3336-3341.
[13] 李静滨,杨柳,华蓓.基于多核平台并行K-Medoids算法研究[J].计算机应用研究,2011,
28(2):498-500.
[14] 罗德超,吴文亮,姬应江,等.一种基于K均值预处理回溯的PAM算法[J].软件,2011,
32(4):95-99.
[15] 谢娟英,郭文娟,谢维信.基于邻域的K中心点聚类算法[J].陕西师范大学学报(自科版),2012,40(4):22-28.
[16] 路浩,倪世宏,查翔,等.基于递减概率初始点选择K中心点进化算法[J].计算机仿真,2014,31(9):314-318.
[17] 赵湘民,陈曦,潘楚.基于稠密区域的 K-medoids聚类算法[J].计算机工程与应用,2016,
52(16):85-89.
[18] 周恩波,毛善君,李梅,等.GPU加速的改进PAM聚类算法研究与应用[J].地球信息科学学报,2017,19(6):782-791.
[19] 余冬华,郭茂祖,刘扬,等.基于距离不等式的 K-medoids 聚类算法[J].软件科学,2017,
28(12):3115-3128.
[20] CAO L B.Non-IID learning/Non-IIDness learning:Learning from Non-IID
data[D].Sydney,Australia:University of Technology Sydney,2011.
[21] WANG C,CAO L B,WANG M C,et al.Coupled nominal similarity in unsupervised learning[C].CIKM,Glasgow,United Kingdom,2011(1):973-978.
[22] 宋红海,颜宏文.基于优化粒计算下微粒子动态搜索的K-medoids聚类算法[J].智能计算机与应用,2016,6(2):9-13.。