CN106919955A - 一种基于密度划分准则的二分k均值算法 - Google Patents
一种基于密度划分准则的二分k均值算法 Download PDFInfo
- Publication number
- CN106919955A CN106919955A CN201710131273.3A CN201710131273A CN106919955A CN 106919955 A CN106919955 A CN 106919955A CN 201710131273 A CN201710131273 A CN 201710131273A CN 106919955 A CN106919955 A CN 106919955A
- Authority
- CN
- China
- Prior art keywords
- cluster
- points
- data set
- point
- divided
- 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)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于密度划分准则的二分K均值算法,通过二分K均值算法,将数据集划分成两个簇,并利用dbscan算法,得到所有簇可以划分成的子簇数目,将子簇最多的簇通过二分K均值算法进一步划分,通过不断迭代,最终完成聚类;本发明克服了”sse最小化划分准则”对簇的形状不敏感的缺点,能够更科学地选择需要划分的簇,有效地提高了聚类准确度,同时,只需要比较相同邻域半径和点数阈值条件下每个簇的子簇数目,消除了邻域半径和点数阈值设置不当对聚类准确度的影响,另外,本发明克服了划分聚类不能去除噪声点的缺点,具有重要的现实意义。
Description
技术领域
本发明涉及数据聚类技术领域,具体涉及一种基于密度划分准则的二分K均值聚类方法。
背景技术
聚类又称聚类分析,是指将数据分配到不同的簇中,使得同一个簇中的数据差异尽可能小,不同簇中的数据差异尽可能大。聚类算法是一种非监督学习方法,被广泛应用于数据挖掘、推荐系统等领域。聚类的方法目前可大致分为划分聚类、层次聚类、密度聚类、网格聚类和模型聚类等方法。
其中,划分聚类是一种易于理解的聚类方法,也是最常见的聚类算法。著名的k-means算法就是个中典型,Kmeans算法由于便于理解,时间复杂度低,被广泛使用。然而,由于kmeans的代价函数(SSE)是非凸函数,所以经常只能求得局部最优解。为了解决这个问题,有人提出了二分K均值算法,实验表明,二分K均值算法在聚类准确度上确实有所提升,但仍然会出现陷入局部最优解的情况。为了解决二分K均值算法的局部最优问题,陆续有文章提出了各种初始聚类中心的选取方法,对于如何选择进一步划分簇,却少有提及和改进。现有的二分K均值算法及其变种都是选择sse最大的簇进行划分,或者分别划分每一个簇,找出能使总sse最小化的簇进行划分。
另一种比较直观的聚类方法就是基于密度的聚类,它是以数据集在空间分布上的稠密程度为依据进行聚类,无需预先设定簇的数量,因此特别适合对于未知内容的数据集进行聚类。DBSCAN就是一个比较有代表性的基于密度聚类的算法,它能够在空间数据库中发现任意形状的聚类,能够发现并去除噪声点,但是它对与邻域半径和邻域内最少包含的对象数却非常敏感,若设置不当,将造成聚类质量的下降。
本发明利用dbscan算法遍历操作每一个簇,得到每个簇中能产生子簇的多少,将可以产生子簇最多的簇作为二分K均值中进一步划分的簇。克服了“sse最小化”划分准则对于簇形状不敏感以及基于密度的算法对参数设定过于依赖的缺点,提高了聚类准确度。
发明内容
针对“sse最小化”划分准则对于簇形状不敏感的问题,本发明提供了一种基于密度划分准则的二分K均值算法,利用DBSCAN算法算出每个簇可划分出的子簇数目,以子簇最多的簇作为二分K均值算法进一步划分的簇,使得划分更加科学,聚类准确度更高。
为了实现上述目的,本发明具体技术方案如下:一种基于密度划分准则的二分K均值算法,包括如下步骤:
1)初始化点数阈值M和变化量阈值δ,其中,M表示核心点邻域内至少应包含的点的个数,即核心点邻域内包含的点数必须大于或等于M,δ代表SSE(误差平方和)的变化量阈值;
2)计算数据集P的邻域半径R,其中,数据集P={p(1),p(2)…p(n)};
3)利用“最大最小距离”方法选择数据集的初始聚类中心;
4)将数据集划分成两个子簇,即利用步骤3)的两个初始聚类中心,执行二分K均值算法,将数据集划分成两个簇;
5)判断SSE的变化量是否小于δ,如果小于δ,转步骤7),否则,转步骤6);其中SSE为误差平方和(sum of the squared errors):
其中k是簇的个数,ci是第i个簇的聚类中心,x是数据点,Si是第i个簇中所有数据点的集合,d是距离函数;
6)选择可进一步划分的簇,即利用参数M和R对每一个簇遍历执行dbscan算法,得到所有簇可以划分成的子簇数目,将子簇最多的簇作为二分K均值算法进一步划分的簇;转步骤3);
7)完成聚类。
进一步的,上述步骤2)中,计算数据集P的邻域半径R包含如下步骤:
2.1)初始化计数变量i=1;
2.2)计算数据集P中p(i)点到其它点的距离,得到p(i)点的距离序列,记为N(i);
2.3)将N(i)的元素值按由小到大排序,排序后的距离序列记为D(i)={d1,d2,…,dM,…,dn-1};
2.4)根据D(i),计算p(i)点的DM(i),DM(i)为p(i)点的距离序列中的第M小元素,即DM(i)=dM;
2.5)如果i<n,则i=i+1,转步骤2.2,否则,转步骤2.6;
2.6)将数据集P中的所有点的DM由小到大排列,得到排序后的DM序列,记为E={e(1),e(2),…,e(n)};
2.7)将E中急剧发生变化的元素值,确定为数据集P的邻域半径R的值。
进一步的,上述步骤3)中,选择初始聚类中心包含如下步骤:
3.1)找出数据集中相距最远的两个点,分别记为点a和点b;
3.2)从数据集P中找出离点a最近的点记为点c,从数据集P中找出离点b最近的点记为点d,则点c和点d即为初始聚类中心。
本发明的有益效果在于:本发明克服了”sse最小化划分准则”对簇的形状不敏感的缺点,能够更科学地选择需要划分的簇,有效地提高了聚类准确度,同时,只需要比较相同邻域半径和点数阈值条件下每个簇的子簇数目,消除了邻域半径和点数阈值设置不当对聚类准确度的影响,另外,本发明克服了划分聚类不能去除噪声点的缺点,具有重要的现实意义。
附图说明
图1为两种不同形状簇的示意图。
图2为本发明的算法流程图。
图3计算邻域半径的算法流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
如图1所示,展示了两种不同形状的簇,按照传统的“sse最小化划分准则”,则必定要选择簇B进行进一步划分,然而我们可以很明显的察觉,需要进一步划分的是簇A而不是簇B,如果选择簇B进行划分,则会造成聚类精度的缺失。这就是上文提到的“sse最小化划分准则”对簇形状不敏感的问题。
如图2所示,本发明实施例公开的一种基于密度划分准则的二分K均值算法,包括如下步骤:
1)初始化点数阈值M和变化量阈值δ,其中,M表示核心点邻域内至少应包含的点的个数,即核心点邻域内包含的点数必须大于或等于M,δ代表SSE(误差平方和)的变化量阈值;在具体实施例中,M初始化为4,δ初始化为0.2;
2)计算数据集P的邻域半径R,其中,数据集P={p(1),p(2)…p(n)};方法流程如图3所示,有如下步骤:
2.1)初始化计数变量i=1;
2.2)计算数据集P中p(i)点到其它点的距离,得到p(i)点的距离序列,记为N(i);
2.3)将N(i)的元素值按由小到大排序,排序后的距离序列记为D(i)={d1,d2,…,dM,…,dn-1};
2.4)根据D(i),计算p(i)点的DM(i),DM(i)为p(i)点的距离序列中的第M小元素,即DM(i)=dM;
2.5)如果i<n,则i=i+1,转步骤2.2,否则,转步骤2.6;
2.6)将数据集P中的所有点的DM由小到大排列,得到排序后的DM序列,记为E={e(1),e(2),…,e(n)};
2.7)将E中急剧发生变化的元素值,确定为数据集P的邻域半径R的值;
3)利用“最大最小距离”方法选择数据集的初始聚类中心,步骤如下:
3.1)找出数据集中相距最远的两个点,分别记为点a和点b;即从数据集P的所有点的距离序列中,找出最大的距离值以及这个值对应的两个点a和b,这样可以确保两个初始聚类中心分布在两个不同的簇;
3.2)从数据集P中找出离点a最近的点记为点c,从数据集P中找出离点b最近的点记为点d,则点c和点d即为初始聚类中心,这样可以预防点a和b是孤立点的情况;
4)将数据集划分成两个子簇,即利用步骤3)的两个初始聚类中心,执行二分K均值算法,将数据集划分成两个簇;
5)判断SSE的变化量是否小于δ,如果小于δ,转步骤7),否则,转步骤6);其中SSE为误差平方和(sum of the squared errors):
k是簇的个数,ci是第i个簇的聚类中心,x是数据点,Si是第i个簇中所有数据点的集合,d是距离函数;
6)选择可进一步划分的簇,即利用参数M和R对每一个簇遍历执行dbscan算法,得到所有簇可以划分成的子簇数目,将子簇最多的簇作为二分K均值算法进一步划分的簇;转步骤3);
7)完成聚类。
本发明在具体实施中,通过多次迭代执行后,聚类准确率提升至89%,相对于用“sse最小化准则”作为划分准则的K均值算法的72%的准确率,提升了17个百分点。可以看出,基于密度的划分准则确实可以克服“sse最小化准则”对于簇形状不敏感的缺点,具有现实意义。
Claims (3)
1.一种基于密度划分准则的二分K均值算法,其特征在于包括如下步骤:
1)初始化点数阈值M和变化量阈值δ,其中,M表示核心点邻域内至少应包含的点的个数,即核心点邻域内包含的点数必须大于或等于M,δ代表SSE(误差平方和)的变化量阈值;
2)计算数据集P的邻域半径R,其中,数据集P={p(1),p(2)…p(n)};
3)利用“最大最小距离”方法选择数据集的初始聚类中心;
4)将数据集划分成两个子簇,即利用步骤3)的两个初始聚类中心,执行二分K均值算法,将数据集划分成两个簇;
5)判断SSE的变化量是否小于δ,如果小于δ,转步骤7),否则,转步骤6),其中SSE为误差平方和:
其中k是簇的个数,ci是第i个簇的聚类中心,x是数据点,Si是第i个簇中所有数据点的集合,d是距离函数;
6)选择可进一步划分的簇,即利用参数M和R对每一个簇遍历执行dbscan算法,得到所有簇可以划分成的子簇数目,将子簇最多的簇作为二分K均值算法进一步划分的簇;转步骤3);
7)完成聚类。
2.如权利要求1所述的基于密度划分准则的二分K均值算法,其特征在于:所述步骤2)中,计算数据集P的邻域半径R包含如下步骤:
2.1)初始化计数变量i=1;
2.2)计算数据集P中p(i)点到其它点的距离,得到p(i)点的距离序列,记为N(i);
2.3)将N(i)的元素值按由小到大排序,排序后的距离序列记为D(i)={d1,d2,…,dM,…,dn-1};
2.4)根据D(i),计算p(i)点的DM(i),DM(i)为p(i)点的距离序列中的第M小元素,即DM(i)=dM;
2.5)如果i<n,则i=i+1,转步骤2.2,否则,转步骤2.6;
2.6)将数据集P中的所有点的DM由小到大排列,得到排序后的DM序列,记为E={e(1),e(2),…,e(n)};
2.7)将E中急剧发生变化的元素值,确定为数据集P的邻域半径R的值。
3.如权利要求1所述的基于密度划分准则的二分K均值算法,其特征在于:所述步骤3)中,选择初始聚类中心包含如下步骤:
3.1)找出数据集中相距最远的两个点,分别记为点a和点b;
3.2)从数据集P中找出离点a最近的点记为点c,从数据集P中找出离点b最近的点记为点d,则点c和点d即为初始聚类中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710131273.3A CN106919955A (zh) | 2017-03-07 | 2017-03-07 | 一种基于密度划分准则的二分k均值算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710131273.3A CN106919955A (zh) | 2017-03-07 | 2017-03-07 | 一种基于密度划分准则的二分k均值算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106919955A true CN106919955A (zh) | 2017-07-04 |
Family
ID=59461852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710131273.3A Pending CN106919955A (zh) | 2017-03-07 | 2017-03-07 | 一种基于密度划分准则的二分k均值算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106919955A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960738A (zh) * | 2018-07-17 | 2018-12-07 | 重庆大学 | 一种仓库通道环境下的激光雷达数据聚类方法 |
CN110728309A (zh) * | 2019-09-27 | 2020-01-24 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种基于铁路信号与北斗定位的行车轨迹聚类方法 |
CN111881951A (zh) * | 2020-07-13 | 2020-11-03 | 广联达科技股份有限公司 | 工程图纸中的曲线分类方法和分类装置 |
CN115359016A (zh) * | 2022-08-26 | 2022-11-18 | 湖南科技大学 | 基于改进YOLOv5的PCB小目标缺陷检测方法和系统 |
-
2017
- 2017-03-07 CN CN201710131273.3A patent/CN106919955A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960738A (zh) * | 2018-07-17 | 2018-12-07 | 重庆大学 | 一种仓库通道环境下的激光雷达数据聚类方法 |
CN108960738B (zh) * | 2018-07-17 | 2022-02-15 | 重庆大学 | 一种仓库通道环境下的激光雷达数据聚类方法 |
CN110728309A (zh) * | 2019-09-27 | 2020-01-24 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种基于铁路信号与北斗定位的行车轨迹聚类方法 |
CN110728309B (zh) * | 2019-09-27 | 2023-05-02 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种基于铁路信号与北斗定位的行车轨迹聚类方法 |
CN111881951A (zh) * | 2020-07-13 | 2020-11-03 | 广联达科技股份有限公司 | 工程图纸中的曲线分类方法和分类装置 |
CN115359016A (zh) * | 2022-08-26 | 2022-11-18 | 湖南科技大学 | 基于改进YOLOv5的PCB小目标缺陷检测方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108320511B (zh) | 基于谱聚类的城市道路交通子区划分方法 | |
CN106919955A (zh) | 一种基于密度划分准则的二分k均值算法 | |
Elbatta et al. | A dynamic method for discovering density varied clusters | |
CN105930862A (zh) | 一种基于密度自适应距离的密度峰聚类算法 | |
CN106096727A (zh) | 一种基于机器学习的网络模型构造方法及装置 | |
CN106600059A (zh) | 基于改进rbf神经网络的智能电网短期负荷预测方法 | |
CN110598061A (zh) | 一种多元图融合的异构信息网嵌入方法 | |
CN103810261A (zh) | 一种基于商空间理论的K-means聚类方法 | |
CN109840558B (zh) | 基于密度峰值-核心融合的自适应聚类方法 | |
CN102789493A (zh) | 自适应双子和声优化方法 | |
WO2017201605A1 (en) | Large scale social graph segmentation | |
US8422802B2 (en) | Robust large-scale visual codebook construction | |
CN103390171A (zh) | 一种安全的半监督学习方法 | |
CN113378900B (zh) | 一种基于聚类的大规模不规则kpi时间序列的异常检测方法 | |
CN116720090A (zh) | 一种基于层次的自适应聚类方法 | |
WO2003075221A1 (en) | Mechanism for unsupervised clustering | |
CN108108883A (zh) | 一种基于聚类算法的车辆调度网络弹性简化方法 | |
CN114186518A (zh) | 一种集成电路良率估算方法及存储器 | |
CN110580252A (zh) | 多目标优化下的空间对象索引与查询方法 | |
CN114417095A (zh) | 一种数据集划分方法及装置 | |
CN109074348A (zh) | 用于对输入数据集进行迭代聚类的设备和迭代方法 | |
CN107423319B (zh) | 一种垃圾网页检测方法 | |
CN103164487A (zh) | 一种基于密度与几何信息的聚类算法 | |
CN108510010A (zh) | 一种基于预筛选的密度峰值聚类方法及系统 | |
CN111488903A (zh) | 基于特征权重的决策树特征选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |