基于语义的改进的k-means算法的搜索方法技术

技术编号:20622409 阅读:31 留言:0更新日期:2019-03-20 14:21
本发明专利技术提供一种基于语义的改进的k‑means算法的搜索方法,对数据集进行预处理,得到初始聚类数量k、聚类数据集D,与初始聚类中心集合C:C1、C2、C3…、Cs作为输入;将数据集中的样本分配到输入入参最近的簇中;计算聚类的每个类的质心点,并判断聚类中心点的改变量是否满足设定的条件,若满足则将其加入特征集中,同时,将其中数据集中删除;若数据集样本不为空,则遍历中心点个数,数据集为空时,结束并获得聚类信息;通过使用UCI数据库提供的6个常用数据集,进行仿真实验,结果显示该种基于语义的改进的k‑means算法的搜索方法,与现有技术相比,在数据迭代时间有所减少,聚类精度方面有所提高改善。

Search method of improved k-means algorithm based on semantics

The invention provides a search method of improved k_means algorithm based on semantics, preprocesses the data set, obtains the initial clustering number k, the clustering data set D, and the initial clustering center set C: C1, C2, C3. C and Cs are used as inputs; the samples in the data set are assigned to the nearest cluster; the centroid points of each cluster are calculated, and the change of the centroid points is judged to satisfy the set conditions. If it is satisfied, it is added to the feature set and deleted from the data set; if the data set samples are not empty, the number of centroid points is traversed and the data set is empty-time. Bundle and get clustering information. By using six common data sets provided by UCI database, the simulation results show that the search method of the improved k_means algorithm based on semantics has reduced the data iteration time and improved the clustering accuracy compared with the existing technology.

【技术实现步骤摘要】
基于语义的改进的k-means算法的搜索方法
本专利技术涉及一种基于语义的改进的k-means算法的搜索方法,属于数据挖掘中的聚类搜索领域。
技术介绍
现在由于越来越多的数量庞大的文件和内容存储在网络上,搜索相关内容的问题随之增加。获取相应内容和检索相应信息的能力依然成为一个大问题。检索系统缺乏效率的检索方法仍然是检索的主要问题。主要原因在于网络中的内容能被人类所理解,但被机器处理则会遇到处理信息不准备,效率不高等问题。传统的检索系统是基于关键字的搜索,在涉及用户需求和内容意义方面的检索能力有限,无法描述搜索词之间的关系。潜在语义索引对于自动生成的文档,利用统计关系来确定语义相关内容。使用潜在语义索引,查询与结果之间的匹配程度,在统计学方法上的排名比较高。k-means算法是聚类分析最常用的方法之一,最早由MacQueen提出,该算法的精妙之处在于简单、效率高且宜于处理大规模的数据,已经被应用到众多领域,包括:自然语言处理、天文、海洋、土壤等。以下说明传统的k-means及k-means++聚类算法的缺陷。k-means算法是一个在数据挖掘领域有很大影响力的聚类算法,对于许多领域,比如学校,不同学生群体每日的消费,转账,课程安排等,存在大量数据信息,可以利用k-means算法对大量数据进行处理,便于学校对学生的各个方面进行良好管理。然而传统的k-means算法对初始聚类中心的敏感性相对较高,聚类结果过度依赖于初始中心。K-means算法对初始聚类中心非常敏感,初始聚类中心不同将会使得聚类结果有很大的不同。如果数据中存在异常值,则初始聚类中心的计算会受到影响,导致聚类结果不准确。在样本数据聚类的过程中,不仅需要计算每个聚类对象与它们中心对象的距离,还需要重新计算中心对象发生变化的聚类的均值,且计算是在一次次迭代中重复完成,当数据样本较多时,过大的计算量会严重影响算法的性能。其次,由于k-means聚类是个动态变化的过程,聚类的过程中将产生一些冗余信息,会对聚类产生一些不必要的干扰。而k-means++算法是在初始聚类中心的选择上面进行了改进,k-means++算法通过计算每个样本与目前已有聚类中心的最短聚类来选择初始聚类中心,虽然提高了聚类精度,但是效果仍然不好。自K-means算法提出以来,大量有关K-means算法的研究如雨后春笋般涌现,算法的弊端纷纷暴露出来,主要包括以下4点:第一,必须事先确定K值;第二,聚类结果会受到初始聚类中心影响;第三,处理分类属性数据较为困难且易产生局部最优解;第四,当数据量过大时,不仅使算法的时间开销非常大,且由聚类的动态变化导致的冗余信息也将对算法产生影响。针对以上K-means算法的不足,国内外学者提出众多的解决方法:有的提出基于密度的改进K均值算法,该算法针对由初始中心点的随机产生导致的聚类结果的不稳定提出了改进算法;有的提出基于密度和最邻近的K-means文本聚类算法;有的提出聚类模式下一种优化的K-means文本特征选择算法,该算法针对K-means算法对类中心点初始值机孤立点过于敏感的问题提出的一种改进算法;有的提出基于信息熵的精确属性赋权K-means聚类算法;还有提出一种基于余弦值和K-means的植物叶片识别方法。但是上述算法的搜索效率均存在着相对不理想的问题。
技术实现思路
本专利技术的目的是提供一种基于语义的改进的k-means算法的搜索方法,对大量数据采用改进的k-means算法,在初始聚类中心点的选取,聚类过程中的信息动态变化方面进行改进,提高搜索效率,解决现有技术中存在的传统的k-means算法对初始聚类中心的敏感性相对较高,聚类结果过度依赖于初始中心,容易导致聚类结果不准确,搜索效率相对不理想的问题。本专利技术的技术解决方案是:一种基于语义的改进的k-means算法的搜索方法,包括以下步骤,S1、对数据集进行预处理,得到初始聚类数量k、聚类数据集D,其中聚类数据集D={d1,d2,...,di,...,dn},其中聚类数据集数量为n,与初始聚类中心集合C={C1,C2,...,Ci,...,Cs},其中初始聚类中心数量为s,作为输入;S2、将数据集中的样本根据公式(1)计算需要聚类的数据集D与预处理后的初始聚类中心的欧几里何距离,其中di是数据集样本,Ci是由预处理得到的初始聚类中心,根据计算结果,将数据样本分配到由预处理得到的作为入参的初始聚类中心最近的簇中;其中公式(1)为:其中did、Cid分别为二维坐标下数据集样本di与初始聚类中心Ci的坐标,n为聚类数据集的数量;S3、根据公式(2):其中|Ci|是初始聚类中心Ci中数据对象的个数,计算聚类的每个类的质心点,同时设定初始聚类中心点的改变量α1=0,并根据公式(3)判断聚类质心点的改变量x(Ci)是否满足小于初始设定的条件α1,若满足则将其加入特征集中,同时,将其中数据集中删除;其中公式(3)为:其中,r为算法的迭代次数,Cr,i代表第r次的算法迭代的第i个初始聚类中心;αr代表第r次算法迭代时的聚类中心点的改变量,di与Ci分别指代聚类数据集D中的第i个元素与初始聚类中心集合C中的第i个初始聚类中心;S4、设n为聚类数据空间中所有的数据点的个数,k为输入的初始聚类数量,若数据集样本不为空,遍历中心点个数n,若n小于k,则进入步骤S2,直到n等于k时,进入步骤S5;数据集为空时,进入步骤S6;S5、更新中心点,计算每个聚类中心点的改变量大于设定值的簇的质心,并将其作为新的聚类中心,并回到步骤S2;S6、结束,得到最终聚类结果簇。进一步地,步骤S1中,对数据集进行预处理,具体为,S11、对于给定需要聚类的数据集,根据公式(4)计算所有样本的密度,选择样本最大密度C1作为第一个聚类中心,并将C1加入聚类中心集合C中,有C={C1};其中公式(4)具体为,聚类数据集D中的样本元素i的密度定义为:其中,n为聚类数据集D中的样本个数,dij为聚类数据集样本D中第i个元素与第j个聚类中心的欧几里何距离,其中f(x)的定义如下公式表示;其中,若dij–MeansDis(D)小于0,f(x)赋值为1,若dij–MeansDis(D)大于等于0,f(x)赋值为0;其中,MeanDis(D)为聚类数据集D中的所有样本元素的平均距离:其中,n为聚类数据集D中的样本个数,di、dj为别为聚类数据集D中第i个元素与第j个元素;S12、根据步骤S11中公式(4)得到所有样本元素的样本密度ρ(i),根据公式(5):得到聚类簇的样本密度a(i);通过公式(6):得到簇间的紧密性s(i);S13、若计算得到的样本的ρ(i)小于s(i),则认为其值为异常值,并从数据集D中移除;S14、计算剩余数据集样本中的ρ(i)、a(i)和s(i),同时,根据公式(8):与步骤S11计算的样本最大密度比较,判断是否为最大权重值即是否大于其样本最大密度,若是,则进入步骤S15;若不是最大权重值,则进入步骤S12;S15、获取下一个聚类中心,将上面步骤中所有满足规定条件,即计算的样本数据的最大权重值大于其最大密度,将其样本数据从数据集中删除;S16、重复上述步骤S12-S15直到数据集为空,完成数据集的预处理,得到聚类数量k,作为初始聚类本文档来自技高网
...

【技术保护点】
1.一种基于语义的改进的k‑means算法的搜索方法,其特征在于:包括以下步骤,S1、对数据集进行预处理,得到初始聚类数量k、聚类数据集D,其中聚类数据集D={d1,d2,...,di,...,dn},其中聚类数据集数量为n,与初始聚类中心集合C={C1,C2,...,Ci,...,Cs},其中初始聚类中心数量为s,作为输入;S2、将数据集中的样本根据公式(1)计算需要聚类的数据集D与预处理后的初始聚类中心的欧几里何距离,其中di是数据集样本,Ci是由预处理得到的初始聚类中心,根据计算结果,将数据样本分配到由预处理得到的作为入参的初始聚类中心最近的簇中;其中公式(1)为:

【技术特征摘要】
1.一种基于语义的改进的k-means算法的搜索方法,其特征在于:包括以下步骤,S1、对数据集进行预处理,得到初始聚类数量k、聚类数据集D,其中聚类数据集D={d1,d2,...,di,...,dn},其中聚类数据集数量为n,与初始聚类中心集合C={C1,C2,...,Ci,...,Cs},其中初始聚类中心数量为s,作为输入;S2、将数据集中的样本根据公式(1)计算需要聚类的数据集D与预处理后的初始聚类中心的欧几里何距离,其中di是数据集样本,Ci是由预处理得到的初始聚类中心,根据计算结果,将数据样本分配到由预处理得到的作为入参的初始聚类中心最近的簇中;其中公式(1)为:其中did、Cid分别为二维坐标下数据集样本di与初始聚类中心Ci的坐标,n为聚类数据集的数量;S3、根据公式(2):其中|Ci|是初始聚类中心Ci中数据对象的个数,计算聚类的每个类的质心点,同时设定初始聚类中心点的改变量α1=0,并根据公式(3)判断聚类质心点的改变量x(Ci)是否满足小于初始设定的条件α1,若满足则将其加入特征集中,同时,将其中数据集中删除;其中公式(3)为:其中,r为算法的迭代次数,Cr,i代表第r次的算法迭代的第i个初始聚类中心;αr代表第r次算法迭代时的聚类中心点的改变量,di与Ci分别指代聚类数据集D中的第i个元素与初始聚类中心集合C中的第i个初始聚类中心;S4、设n为聚类数据空间中所有的数据点的个数,k为输入的初始聚类数量,若数据集样本不为空,遍历中心点个数n,若n小于k,则进入步骤S2,直到n等于k时,进入步骤S5;数据集为空时,进入步骤S6;S5、更新中心点,计算每个聚类中心点的改变量大于设定值的簇的质心,并将其作为新的聚类中心,并回到步骤S2;S6、结束,得到最终聚类结果簇。2.如权利要求1...

【专利技术属性】
技术研发人员:暴建民刘喆
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1