CN105469114A - 一种提高K-means收敛速度的方法 - Google Patents
一种提高K-means收敛速度的方法 Download PDFInfo
- Publication number
- CN105469114A CN105469114A CN201510829755.7A CN201510829755A CN105469114A CN 105469114 A CN105469114 A CN 105469114A CN 201510829755 A CN201510829755 A CN 201510829755A CN 105469114 A CN105469114 A CN 105469114A
- Authority
- CN
- China
- Prior art keywords
- cluster
- bunch
- cluster centre
- data object
- division
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种提高K-means收敛速度的方法,解决了K-means聚类因迭代次数过多而导致聚类效率偏低的问题。考虑到K-means的迭代次数取决于重构误差函数的收敛速度,如果收敛速度低,那么迭代次数就会多,为此,本发明的新方法通过提高重构误差函数收敛速度来减少迭代的次数。新方法将传统K-means聚类过程中每划分完数据集一次才更新聚类中心一次(每次迭代只更新一次聚类中心)的处理策略加以改进,在每次迭代过程中增加聚类中心的更新频度,即在划分过程中,当簇每增加一个数据对象时就将该簇的聚类中心更新一次。该方法通过一次划分多次更新聚类中心的新策略来提升重构误差函数的收敛速度,以实现减少迭代次数,达到提高K-means聚类效率的目的。
Description
技术领域
本方法涉及数据挖掘领域,具体涉及一种能提高K-means收敛速度的方法。
背景技术
聚类(clustering)能够根据数据集中各个对象之间相似程度的大小自动发现数据集隐含的结构,并找到数据集内部存在的自然分组(group)或者簇(cluster)。本质上,聚类也是分类的过程。所谓“物以类聚,人以群分”,被聚在一起的数据对象形成簇,簇内的数据对象相似度大,簇间数据对象相似度小。每个簇相当于一个分类(class),只不过还没有人为的类别标签,参见图1。
相对于传统的分类(classification)而言,聚类采用的是无监督的学习策略,不要求数据对象带有任何人工标记的先验信息。聚类无需提供精心加工的训练样本,成本低,易实现,所以在数据分析与处理上,聚类方法被更加广泛地使用。
K-means是一种应用十分广泛的划分聚类方法,它的优点很多,例如方法本身简单高效,复杂度低,伸缩性强,容易处理规模很大的数据。特别是随着大数据时代的来临,K-means更加引人关注。
但是K-means的缺点也很明显,主要表现在以下三个方面:
1.迭代寻优过程容易陷入局部极值,导致无法全局寻优,参见图2;
2.聚类结果不稳定,严重依赖初始聚类中心的选择;
3.迭代次数多,收敛速度慢,处理的数据规模越大,收敛越困难。
在众多聚类方法中,K-means备受关注的原因在于它具有的良好伸缩性。对于数据规模为n(n∈N)数据集X={xt}n t=1,K-means聚类所需的空间开销为O(n),时间开销为O(k×d×m×n),其中k为分组的数量,m为迭代的次数,d为数据对象的维度,通常2≤k<<n,1≤m<<n,1≤d<<n,时间复杂度的总体水平为O(n)。也就是说K-means空间复杂度和时间复杂度都是线性的,在数据处理上具有很强的伸缩性,这是K-means最令人看重的一个特点。
然而,迭代次数m是一个无法固定的参量,人们希望m很小,以便K-means能快速地收敛,早一些给出聚类结果。但实际上,m有时会很大,寻优函数无法短时间收敛,甚至存在需要强制终止迭代的情况,这显然对聚类的效率不利。
当前,大数据时代已经到来,人们面对的数据规模,已经不是过去那种袖珍级别,许多传统方法在大数据的处理面前暴露出来的问题越来越多,也越来越严重。
K-means作为当前伸缩性最强的一种聚类方法,人们期待它能在大数据处理上发挥更大的作用。对于K-means收敛速度慢的不足需要引起更多、更大的重视。
发明内容
本发明提供了一种提高K-means收敛速度的方法。
最优的K-means聚类中心应该是距离各个自然簇均值中心(means)最近的数据对象,参见图3。不管是通过随机抽取的方法,还是通过某种特殊策略实现的初始聚类中心的选择方法,都不容易找到这样的数据对象。
K-means通过重构误差来衡量聚类中心的质量。重构误差E(X)函数定义为:
其中为k个聚类中心,||xt-Oi||2是数据对象xt到聚类中心Oi的欧氏距离,是二值函数,定义如下:
K-means聚类的每一次对数据集的划分都是对数据集分组的一次重构,重构后需要对更新聚类中心(重新计算簇的均值中心)。
更新K-means的聚类中心也就是重新计算k个簇的均值中心:
其中,Oi对应第i个簇的均值中心,也就是第i个聚类中心。
最优的聚类中心对应的重构误差最小,而初始聚类中心对应的重构误差通常会很大。为了让重构误差下降,需要通过多次重新划分数据集来更新聚类中心。每次通过重新划分获得的新聚类中心,通常都会趋近于最优的聚类中心,参见图4。
理想情况下,每次更新聚类中心后,新的划分带来的重构误差都会下降。如此不断更新,一直到重构误差降到最小值,数据集不需要再划分,此时聚类中心是最优的,对应的划分就是最终的聚类结果。
每次数据集的划分都是对分组(簇)的一次重构,每次分组的重构都对应一个迭代过程。迭代过程的次数取决于重构误差函数的收敛速度。
为了减少K-means的迭代次数,需要研究提高K-means收敛速度的方法。
K-means每次迭代过程里面的数据集划分,其本质上是以聚类中心为类模板均值中心的最小距离分类过程。这里的聚类中心可以看作已知类别的训练样本的均值中心。对于分类,其精度在一定的范围内通常与训练样本的规模成正比关系。也就是增加训练样本的规模对提高分类精度有好处。
K-means的初始聚类中心一般会偏离自然簇的均值中心(即最优聚类中心),对于分类而言,这样的分类别不会有好的分类结果。
理想情况下,K-means聚类通过多次的最小距离分类实现多次更新聚类中心,使得分类模板的质量不断得以改善,最终找到自然簇的均值中心,从而实现最优的无监督分类。
在K-means传统的实现方法上,聚类中心的更新过程放在数据集一次完整的划分结束后进行,也就是数据集每划分完一次,才更新聚类中心一次。这样的处理,可以概括为“一划分,一更新”,其结果是:聚类中心的偏差(bias)会毫无保留地全部传递到整个数据集的划分结果上。这个偏差直到更新聚类中心时才能得到某种程度上的纠正,对应的重构误差函数也得到进一步的收敛。
如果能在不明显增加额外计算量的情况下增加K-means聚类中心更新的频度,就会改善聚类中心的纠偏水平,从而有效提高K-means聚类的收敛速度。
对于K-means的聚类中心偏离最佳中心的情况,可以看作是训练样本规模过小造成的欠拟合问题。简单而有效的解决办法是增加训练样本的规模,可是没有额外可提供的训练样本,解决办法只能寄希望于待分类的样本。
为此,需要考虑采取半监督的学习策略来改善机器学习的效果。
数据集划分前,任何一个初始的簇只有一个聚类中心(可看作虚拟的数据对象)。在划分时,把聚类中心作为类别模板,按照最小距离法判断每一个数据对象的类别(与簇对应)归属。当某个簇增加一个数据对象后,簇在变大的同时,也增加了簇的信息量,信息的增量应该在后续的划分决策上体现出来。
如何让不断增加的信息量在划分过程中有所作为呢?
可以考虑这样的处理策略:在划分数据集的时候,如果簇增加了一个数据对象,那么就随即将该簇的聚类中心(即均值中心)更新一次。随着簇内数据对象的不断增多,聚类中心也不断地被更新,相当于训练样本的规模也不断地增大,对类别归属的判断也会越来越精准。
划分过程对数据对象的类别归属的决策结果如果是正确的,那么这个数据对象带给所属簇的聚类中心更新带来的贡献就是正向的;如果决策结果是错误的,那么也不会当然加重聚类中心的偏差。因为在最终聚类结果出来之前,聚类中心本来就存在偏差,而这个偏差偏离最佳中心位置的方向是不确定的。聚类中心趋近最佳中心位置即便是很小一步,对纠偏的累积效应也会有所贡献。随着累积效应的显现,决策的正确率会逐渐提高,进而不断改善纠偏的效果。聚类中心通过一次次的更新,渐进地向最佳中心位置靠拢移动。
本发明的方法可以加速重构误差函数的快速收敛,其可以观测到的表现就是迭代的次数会有效减少,对于K-means的O(k×d×m×n)时间复杂度来说,m值的降低会明显降低总的时间开销。
附图说明
图1是具有四个自然簇的二维数据集。
图2是K-means聚类陷入局部极值的结果。
图3是具有三个自然簇的二维数据集,园点代表最佳聚类中心位置。
图4是K-means迭代过程中,聚类中心向最佳中心位置移动的示意图。
具体实施方式
对于规模为n数据集X,设置k个聚类中心。
令ΣXi代表第i个簇的数据对象的和:
Oi代表第i个簇的均值中心,也就是聚类中心,Ni表示第i个簇的大小,即第i个簇包含数据对象的数量。
在划分之前,各个簇还没有数据对象。k个聚类中心看做虚拟的数据对象,每个簇用1个虚拟化的数据对象进行初始化。
划分时要记录Ni和ΣXi。
每次划分前要对Ni和ΣXi进行初始化:Ni=1,ΣXi=Oi。
当的时候,第i个簇增加一个数据对象xj,此时做如下更新:
Ni=Ni+1,(1-6)
ΣXi=ΣXi+xj.(1-7)
所有的数据对象被划分完后,每个簇的聚类中心(均值中心)都被更新了多次,例如,第i个簇的均值中心被更新Ni次。
数据集的一次完整划分后,如果重构误差函数还没有收敛到极小值,则当前的k个聚类中心作为下一次数据集划分的初始聚类中心。
Claims (1)
1.一种提高K-means收敛速度的方法
对于规模为n数据集X,设置k个聚类中心
令ΣXi代表第i个簇的数据对象的和:
Oi代表第i个簇的均值中心,也就是聚类中心,Ni表示第i个簇的大小,即第i个簇包含数据对象的数量。
在划分之前,各个簇还没有数据对象。k个聚类中心看做虚拟的数据对象,每个簇用1个虚拟化的数据对象进行初始化。
划分时要记录Ni和ΣXi。
每次划分前要对Ni和ΣXi进行初始化:Ni=1,ΣXi=Oi。
当的时候,第i个簇增加一个数据对象xj,做如下更新:
Ni=Ni+1,(2-3)
ΣXi=ΣXi+xj.(2-4)
所有的数据对象被划分完后,每个簇的聚类中心都被更新了多次
数据集的一次完整划分后,如果重构误差函数还没有收敛到极小值,则当前的k个聚类中心作为下一次数据集划分的初始聚类中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510829755.7A CN105469114A (zh) | 2015-11-25 | 2015-11-25 | 一种提高K-means收敛速度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510829755.7A CN105469114A (zh) | 2015-11-25 | 2015-11-25 | 一种提高K-means收敛速度的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105469114A true CN105469114A (zh) | 2016-04-06 |
Family
ID=55606785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510829755.7A Pending CN105469114A (zh) | 2015-11-25 | 2015-11-25 | 一种提高K-means收敛速度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105469114A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649536A (zh) * | 2016-11-01 | 2017-05-10 | 四川用联信息技术有限公司 | 基于改进的k‑means算法实现搜索引擎关键词优化 |
CN107305637A (zh) * | 2016-04-21 | 2017-10-31 | 华为技术有限公司 | 基于K-Means算法的数据聚类方法和装置 |
CN108919363A (zh) * | 2018-08-07 | 2018-11-30 | 哈尔滨工业大学 | 一种自适应依航向航磁数据处理方法 |
CN109242680A (zh) * | 2018-08-21 | 2019-01-18 | 甲骨文科技时代(深圳)有限公司 | 一种区块链共识动态调整的方法 |
CN112597820A (zh) * | 2020-12-10 | 2021-04-02 | 南京长峰航天电子科技有限公司 | 一种基于雷达信号分选的目标聚类方法 |
CN112800253A (zh) * | 2021-04-09 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 数据聚类方法、相关设备及存储介质 |
-
2015
- 2015-11-25 CN CN201510829755.7A patent/CN105469114A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107305637A (zh) * | 2016-04-21 | 2017-10-31 | 华为技术有限公司 | 基于K-Means算法的数据聚类方法和装置 |
CN106649536A (zh) * | 2016-11-01 | 2017-05-10 | 四川用联信息技术有限公司 | 基于改进的k‑means算法实现搜索引擎关键词优化 |
CN108919363A (zh) * | 2018-08-07 | 2018-11-30 | 哈尔滨工业大学 | 一种自适应依航向航磁数据处理方法 |
CN108919363B (zh) * | 2018-08-07 | 2019-09-13 | 哈尔滨工业大学 | 一种自适应依航向航磁数据处理方法 |
CN109242680A (zh) * | 2018-08-21 | 2019-01-18 | 甲骨文科技时代(深圳)有限公司 | 一种区块链共识动态调整的方法 |
CN112597820A (zh) * | 2020-12-10 | 2021-04-02 | 南京长峰航天电子科技有限公司 | 一种基于雷达信号分选的目标聚类方法 |
CN112800253A (zh) * | 2021-04-09 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 数据聚类方法、相关设备及存储介质 |
CN112800253B (zh) * | 2021-04-09 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 数据聚类方法、相关设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105469114A (zh) | 一种提高K-means收敛速度的方法 | |
Bilen et al. | Weakly supervised object detection with convex clustering | |
CN102508907B (zh) | 一种基于训练集优化的推荐系统的动态推荐方法 | |
CN109697469A (zh) | 一种基于一致性约束的自学习小样本遥感图像分类方法 | |
CN101620615B (zh) | 一种基于决策树学习的自动图像标注与翻译的方法 | |
CN103488662A (zh) | 基于图形处理单元的自组织映射神经网络聚类方法及系统 | |
CN106874478A (zh) | 基于Spark的并行化随机标签子集多标签文本分类方法 | |
CN102141977A (zh) | 一种文本分类的方法及装置 | |
CN105389583A (zh) | 图像分类器的生成方法、图像分类方法和装置 | |
CN109697289A (zh) | 一种改进的用于命名实体识别的主动学习方法 | |
CN103020167B (zh) | 一种计算机中文文本分类方法 | |
CN107832458A (zh) | 一种字符级的基于嵌套深度网络的文本分类方法 | |
CN109299263A (zh) | 文本分类方法、电子设备及计算机程序产品 | |
CN104091038A (zh) | 基于大间隔分类准则的多示例学习特征加权方法 | |
CN106156805A (zh) | 一种样本标签缺失数据的分类器训练方法 | |
CN103593674A (zh) | 一种颈部淋巴结超声图像特征选择方法 | |
CN112883722B (zh) | 一种基于云数据中心分布式文本摘要方法 | |
CN102693321A (zh) | 一种跨媒体间信息分析与检索的方法 | |
CN104318271A (zh) | 一种基于适应性编码和几何平滑汇合的图像分类方法 | |
CN103198052B (zh) | 一种基于支持向量机的主动学习方法 | |
CN104573331A (zh) | 一种基于MapReduce的K近邻数据预测方法 | |
CN103605631A (zh) | 一种基于支持向量几何意义的增量学习方法 | |
CN107133348A (zh) | 大规模图片集中基于语义一致性的近似搜索方法 | |
CN116910210A (zh) | 基于文档的智能问答模型训练方法、装置及其应用 | |
CN108733702B (zh) | 用户查询上下位关系提取的方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160406 |