CN104217015B - 基于互为共享最近邻的层次聚类方法 - Google Patents
基于互为共享最近邻的层次聚类方法 Download PDFInfo
- Publication number
- CN104217015B CN104217015B CN201410488243.4A CN201410488243A CN104217015B CN 104217015 B CN104217015 B CN 104217015B CN 201410488243 A CN201410488243 A CN 201410488243A CN 104217015 B CN104217015 B CN 104217015B
- Authority
- CN
- China
- Prior art keywords
- sub
- nearest neighbor
- cluster
- points
- matrix
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 title abstract 9
- 239000011159 matrix material Substances 0.000 claims abstract description 97
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000005192 partition Methods 0.000 abstract 1
- 239000002131 composite material Substances 0.000 description 8
- 241000122205 Chamaeleonidae Species 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 235000010469 Glycine max Nutrition 0.000 description 3
- 244000068988 Glycine max Species 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 235000018185 Betula X alpestris Nutrition 0.000 description 1
- 235000018212 Betula X uliginosa Nutrition 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于互为共享最近邻的层次聚类方法,首先计算整个数据集D的最近邻矩阵T1和最近邻矩阵T2;由最近邻矩阵T1和最近邻矩阵T2计算出最近邻排名矩阵M;通过最近邻排名矩阵M计算出局部密度,得到子簇集合;最后计算子簇间的相似度,凝聚子簇得到最终划分结果。本发明的基于互为共享最近邻的层次聚类方法,解决了现有的基于K近邻图聚类在稀疏化和图划分过程中产生子簇集合时存在的点划分错误导致聚类精度低的问题。
Description
技术领域
本发明属于计算机科学与技术的数据挖掘技术领域,涉及一种基于互为共享最近邻的层次聚类方法。
背景技术
在数据挖掘领域中聚类分析是一项重要的研究课题。聚类技术已经被广泛应用到电信业、零售业、生物学、市场营销等领域。聚类是一种无监督的分类,是用来发现数据集中于对象本身特征而聚集成簇的数据点,并且保证簇内具有尽可能大的相似度、簇间具有尽可能大的相异度。现有的聚类算法一般分为:1.以K-means、Fuzzy K-means、k中心点为代表的基于划分的聚类算法;2.以QROCK、CURE、BIRCH、为代表的基于层次的聚类算法;3. 以DBSCAN、OPTICS为代表的基于密度的聚类算法;4.其他类型的聚类算法,例如基于子空间的聚类算法或者基于模型的聚类算法。
基于k近邻图的聚类算法如Chameleon算法在稀疏化和图划分的过程中产生的子簇集合时,一个子簇包含的全部或者大部分的点是属于同一个真正的簇。但是,其中包含的错误数据可能会导致下个阶段的凝聚层次聚类结果混合这些错误,导致更大的偏差。基于SNN相似度的Jarvis-Patrick算法存在着***一个真正的簇,合并本该***的簇。这两类算法的共同点是构建了 k近邻图,或基于k近邻的共享最近邻的相似度图,在稀疏化相似度图或K 最近邻图时,就可能会将数据点划分错误,并且在凝聚簇的过程中会将错误放大。
发明内容
本发明的目的是提供一种基于互为共享最近邻的层次聚类方法,解决了现有的基于K近邻图聚类在稀疏化和图划分过程中产生子簇集合时存在的点划分错误导致聚类精度低的问题。
本发明所采用的技术方案是,基于互为共享最近邻的层次聚类方法,将待处理的数据集设为D,设聚类数为K,设最近邻值一为K1,设最近邻值二为K2,具体按照以下步骤实施:
步骤1,分别通过最近邻值一K1和最近邻值二K2计算数据集D的最近邻矩阵,得到最近邻矩阵T1和最近邻矩阵T2;
步骤2,依次查找数据集D中每一个数据点i的最近邻矩阵T2中的每一个邻域点的最近邻矩阵T1 ’ ,如果最近邻矩阵T1 ’ 中包含数据点i,则将最近邻矩阵T2中的该数据点i保留,否则将其删除,得到数据点i的最近邻排名矩阵Mi,遍历数据集D中的所有数据点,得到最近邻排名矩阵M;
步骤3,通过最近邻排名矩阵M计算出数据集D中每一个数据点i的局部密度Di,并且将这些数据点按照局部密度Di的大小进行降序排列;
步骤4,取排序后的前K×10个数据点作为子簇中心点,并以子簇中心点和子簇中心点的最近邻排名矩阵中的最近邻域点组成子簇;将未进行划分的数据点划分到该数据点的最近邻中最先出现的子簇中,得到若干子簇;
步骤5,计算步骤4最终得到的各子簇两两之间的相似度,将相似度最大的子簇对进行合并;
步骤6,合并后的子簇数目如果小于K,则执行步骤5;合并后的子簇数目如果等于K,则执行步骤7;
步骤7,将数据集D中从未被分配的数据点i划分到离未被分配的数据点最近的子簇中,得到最终的划分结果,划分结果为K个子簇。
本发明的特点还在于,
步骤3中局部密度Di按照以下公式计算:
Di=count(Mi),i∈n (1)
其中,Mi为最近邻排名矩阵M中第i个数据点的最近邻排名矩阵。
步骤5中子簇两两之间的相似度按照以下方法计算:
设有子簇Ci,子簇Cj,0<i,j≤n,最近邻排名矩阵M,则:子簇两两之间的相似度为:
其中,NumNeighborCi(Cj)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻域中,出现属于子簇Cj的点的次数;
NumNeighborCi(Ci)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻域中,出现属于子簇Ci的点的次数;
CountNeighbor(Ci)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数;
CountNeighbor(Cj)是子簇Cj中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数。
步骤4中将未进行划分的数据点划分到该数据点的最近邻中最先出现的子簇中,是指该数据点的最近邻排名矩阵Mi中的所有最近邻域点中如果包含有子簇中心点,就将该数据点i划分到该子簇中;如果该数据点i的最近邻排名矩阵中的所有最近邻域点中包含有多个子簇中心点,则将该数据点i 划分到排名靠前的那个子簇中心点的子簇中。
步骤7中离未被分配的数据点最近的子簇,指数据集D中从未被分配的数据点与步骤6中得到的K个子簇之间的欧几里得距离最小的子簇。
本发明的有益效果是:
1.聚类效果好。本发明在合成数据集DB1、DB2、DB3以及UCI标准数据集Iris、Wine、Soybean、Unbalanced上具有明显的优势结果,能得到具有较高聚类总纯度及较低信息熵的聚类结果。
2.聚类精度高。本发明的相似度函数对于已合并的错误的簇,会将合并错误的簇推放到更晚的时刻来进行下一步的合并,能够有效的避免错误的一步步累积扩大,得到更好的聚类精度。
附图说明
图1是本发明基于互为共享最近邻的层次聚类方法的流程示意图;
图2是本发明基于互为共享最近邻的层次聚类方法聚类过程中数据集的初始状态图;
图3是本发明基于互为共享最近邻的层次聚类方法为选取数据集中局部密度值最大的数据点形成的候选中心点图;
图4是本发明实验中用到的合成数据集DB1;
图5是本发明实验中用到的合成数据集DB2;
图6是本发明实验中用到的合成数据集DB3;
图7是本发明实验中用到的合成数据集DB4;
图8是本发明基于互为共享最近邻的层次聚类方法对合成数据集DB1 的聚类结果图;
图9是本发明基于互为共享最近邻的层次聚类方法对合成数据集DB2 的聚类结果图;
图10是本发明基于互为共享最近邻的层次聚类方法对合成数据集DB3 的聚类结果图;
图11是本发明基于互为共享最近邻的层次聚类方法对合成数据集DB4 的聚类结果图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明中的相关定义如下:
定义1 最近邻排名矩阵,是指以数据点及其互为最近邻数据点为行构建的矩阵。
定义2 局部密度,是数据点所在的局部区域在整个数据集中稠密程度的表示,大小等于该数据点最近邻域的点的个数。
定义3 一个类簇Ci的纯度:聚类结果的总纯度是:
其中,pi是指类簇Ci的纯度;
mi指类簇Ci中数据点的个数;
m指数据集中数据点的总数;
k指数据集D中类簇的个数;
定义4 聚类结果的熵:
首先,需要计算类簇Ci中数据点属于类簇Cj的概率:
其中,mi是类簇Ci中数据点的个数;
mij是类簇Ci中属于类簇Cj的点的个数。
然后,计算每个类簇Ci的熵
L是类簇的个数。
最后,计算聚类结果的熵
K为簇的个数;
mi是类簇Ci中数据点的个数;
m为数据集中数据点的总数。
定义5 F度量是精度和召回率的组合。
类簇Ci关于类簇Cj的精度:
precision(i,j)=pij (7)
类簇Ci关于类簇Cj的召回率
由此得:类簇Ci关于类簇Cj的F度量
本发明提供了一种基于互为共享最近邻的层次聚类方法,将待处理的数据集设为D,设聚类数为K,设最近邻值一为K1,设最近邻值二为K2,如图1所示,具体按照以下步骤实施:
步骤1,分别通过最近邻值一K1和最近邻值二K2计算数据集D的最近邻矩阵,得到最近邻矩阵T1和最近邻矩阵T2;
步骤2,依次查找数据集D中每一个数据点i的最近邻矩阵T2中的每一个邻域点的最近邻矩阵T1 ’ ,如果最近邻矩阵T1 ’ 中包含数据点i,则将最近邻矩阵T2中的该数据点i保留,否则将其删除,得到数据点i的最近邻排名矩阵Mi,遍历数据集D中的所有数据点,得到最近邻排名矩阵M;
步骤3,通过最近邻排名矩阵M计算出数据集D中每一个数据点i的局部密度Di,并且将这些数据点按照局部密度Di的大小进行降序排列;局部密度Di按照以下公式计算:
Di=count(Mi),i∈n (1)
其中,Mi为最近邻排名矩阵M中第i个数据点的最近邻排名矩阵;
步骤4,取排序后的前K×10个数据点作为子簇中心点,并以子簇中心点和子簇中心点的最近邻排名矩阵中的最近邻域点组成子簇;将未进行划分的数据点划分到该数据点的最近邻中最先出现的子簇中,得到若干子簇;将未进行划分的数据点划分到该数据点的最近邻中最先出现的子簇中,是指该数据点的最近邻排名矩阵Mi中的所有最近邻域点中如果包含有子簇中心点,就将该数据点i划分到该子簇中;如果该数据点i的最近邻排名矩阵中的所有最近邻域点中包含有多个子簇中心点,则将该数据点i划分到排名靠前的那个子簇中心点的子簇中;
步骤5,计算步骤4最终得到的若干子簇两两之间的相似度,将相似度最大的子簇对进行合并;子簇两两之间的相似度按照以下方法计算:
设有子簇Ci,子簇Cj,0<i,j≤n,最近邻排名矩阵M,则:子簇两两之间的相似度为:
其中,NumNeighborCi(Cj)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻域中,出现属于子簇Cj的点的次数;
NumNeighborCi(Ci)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻域中,出现属于子簇Ci的点的次数;
CountNeighbor(Ci)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数;
CountNeighbor(Cj)是子簇Cj中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数;
步骤6,合并后的子簇数目如果小于K,则执行步骤5;合并后的子簇数目如果等于K,则执行步骤7;
步骤7,将数据集D中从未被分配的数据点i划分到离未被分配的数据点最近的子簇中,得到最终的划分结果,划分结果为K个类簇;其中,离未被分配的数据点最近的子簇,指数据集D中从未被分配的数据点与步骤6 中得到的K个子簇之间的欧几里得距离最小的子簇。
实施例:
本发明基于互为共享最近邻的层次聚类方法,由三个关键步骤组成:计算最近邻域矩阵、矩阵划分、层次聚类。首先计算整个数据集D的最近邻矩阵T1和最近邻矩阵T2,(参数k1,k2是输入参数,k2>k1);由最近邻矩阵 T1和最近邻矩阵T2计算出最近邻排名矩阵M;通过最近邻排名矩阵M计算出局部密度,得到子簇集合;最后计算子簇间的相似度,凝聚子簇得到K 个类簇。
首先,计算最近邻域矩阵,具体过程如下:
假设数据集D的k1最近邻域矩阵为k1为输入参数,0<i≤n, 0<j≤k1;数据集D的k2最近邻域矩阵为k2为算法输入参数,0<i≤n, 0<j≤k2,k1<k2,则:最近邻排名矩阵M=[xij],且0<i≤n,0<j≤k2。通过控制参数k1,k2的大小(减小k1,增大k2),可以得到更大且更稠密的子簇。条件中的为的前k1 列。
以图2中的数据集X为例,首先计算出图2中数据集X的最近邻矩阵 T1和最近邻矩阵T2,如表1所示;然后以最近邻矩阵T2为基础,对每个数据点xi的最近邻进行过滤,如果最近邻中的点在T1最近邻中包含xi,则保留这个邻域点,否则删除邻域点。例如,点0的k2最近邻(k2=10)为 {4,2,1,3,5,6,11,9,7,10},点4的T1最近邻(k1=3)为{2,3,0},包含点0,则保留下来,按照上述方法依次查询邻域中的点,最终得到点0的最近邻排名为 {4,2}。遍历所有数据点,得到最终的最近邻排名矩阵,如表2所示。
表1 图1中数据集X的K最近邻,K=10
数据点 | K最近邻列表 |
0 | 4,2,1,3,5,6,9,11,10,7 |
1 | 3,5,4,0,2,6,9,10,7,14 |
2 | 4,0,3,1,5,11,6,15,14,9 |
3 | 4,1,2,0,5,11,6,14,15,10 |
4 | 2,0,3,1,5,6,11,14,9,15 |
5 | 6,1,9,10,3,7,8,14,4,0 |
6 | 9,7,5,8,10,1,14,3,0,4 |
7 | 8,9,6,10,5,1,14,3,0,4 |
8 | 9,7,10,6,5,14,1,3,12,15 |
9 | 8,10,6,7,5,14,1,3,15,12 |
10 | 9,8,6,7,5,14,1,12,15,3 |
11 | 13,15,14,12,3,2,4,1,5,0 |
12 | 15,14,13,11,10,9,5,8,3,6 |
13 | 15,11,12,14,3,10,5,4,2,1 |
14 | 15,12,10,5,9,13,11,8,6,3 |
15 | 13,12,14,11,10,3,5,1,9,4 |
表2 最近邻排名矩阵
数据点 | 互为最近邻列表 |
0 | 4,2 |
1 | 3,5,0 |
2 | 4,0,3 |
3 | 4,1,2 |
4 | 2,0,3,1 |
5 | 6,1 |
6 | 9,7,5,10 |
7 | 8,6 |
8 | 9,7,10 |
9 | 8,10,6,7,5 |
10 | 9,8,14 |
11 | 13 |
12 | 15,14,13 |
13 | 15,11,12 |
14 | 15,12,11 |
15 | 13,12,14,11 |
其次,通过邻域矩阵计算出局部密度,得到子簇集合。
设有最近邻排名矩阵M,Mi表示第i个数据点的最近邻矩阵,则局部密度
Di=count(Mi),i∈n (1)
即一个数据点的最近邻域的点的个数越多,则这一数据点所在的局部区域在整个数据集中越稠密。因此,当一个数据点的局部密度很大时,就被认为是它的这一邻域的中心点。
例如:通过表2可以计算出每个点的局部密度并排序,得到结果如表3 所示。这里,选取K*2个点作为候选簇的中心点(K为数据集的聚类数)。并且,从图2可以看出由11-15号点组成的类的密度远远小于图上方的两个类的密度,但是也可以求出它的中心点15号,这是由于基于最近邻的排名矩阵并不是直接依赖距离函数作为度量,而是使用相互的距离排名关系作为度量依据,由此来计算局部密度,获得局部密度的极大点,使得能够处理不同密度的簇。
表3 局部密度的排序结果
数据点 | 局部密度 |
9 | 5 |
4 | 4 |
6 | 4 |
15 | 4 |
1 | 3 |
2 | 3 |
3 | 3 |
8 | 3 |
10 | 3 |
12 | 3 |
13 | 3 |
0 | 2 |
5 | 2 |
7 | 2 |
14 | 2 |
11 | 1 |
最后,根据类簇相似度进行聚类。
设有Ci,Cj,0<i,j≤n,最近邻排名矩阵M,则:子簇相似度为:
其中,NumNeighborCi(Cj)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻域中,出现属于子簇Cj的点的次数;
NumNeighborCi(Ci)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻域中,出现属于子簇Ci的点的次数;
CountNeighbor(Ci)是子簇Ci中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数;
CountNeighbor(Cj)是子簇Cj中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数。
对于类Ci和类Cj的相似度定义,包含两个部分,一部分是子簇Ci,它对子簇Cj的相似度;另一部分是子簇Cj,它对子簇Ci的相似度,即它们之间的相似度不是对等的。例如,对于人与人之间的关系来说,PersonA的最好朋友是PersonB,并且只有一个,而对于PersonB来说可能有最好的朋友有很多个,PersonA只是其中一个,因此如果用数值衡量好友度的话,他们之间的好友度并不相等。所以,对于合并子簇对来说,我们采取这样一种策略来合并:每个子簇的邻近的子簇数目最小,并且子簇对之间的最近邻的点的数目最多。
例如在图3中所示结果,进一步将所有的数据点按照最近邻排名矩阵划分到最近的候选中心点的子簇中,得到结果如表4所示。接下来,根据最近邻排名矩阵,统计出子簇邻接其他子簇的次数,得到结果如表5所示。计算 6个子簇两两之间的相似度。例如:簇1的邻接簇有两个(使用代表簇的中心点的编号来表示簇),分别是簇4和簇9,得similarity(C1→C4)=2/2,同样,计算similarity(C4→C1)=2/3,两者相加得到簇1和簇4的相似度similarity(C1,C4)=similarity(C1→C4)+similarity(C4→C1)≈1.667。
表4 将所有的点划分到候选中心点的子簇后,得到的子簇
簇标号 | 簇中数据点 |
1 | 1 |
2 | 2 |
4 | 4,2,0,3,1 |
6 | 6 |
9 | 9,8,10,6,7,5 |
15 | 15,13,12,14,11 |
表5 子簇和其邻接子簇的次数统计
簇标号 | 邻接簇及出现次数 |
1 | 4=2,9=1 |
2 | 4=3 |
4 | 1=2,2=3,9=1 |
6 | 9=3 |
9 | 1=1,6=4 |
15 | 9=1 |
本发明聚类方法性能评测:
为了验证本发明聚类方法的有效性,选择两种算法来进行对比:基于图的Chameleon方法和Jarvis-Patrick(JP)方法。Chameleon方法具有较强的发现任意大小和形状的簇的能力。JP方法擅长发现强相关对象的紧密的簇。这两种方法与本发明基于互为共享最近邻的层次聚类方法相同的地方在于都需要计算K最近邻,然后通过各自不同的方法计算得到最终结果。
本发明采用四个人工数据集和6个UCI标准数据集来测试算法性能。四个人工数据集DB1,DB2,DB3,DB4,数据分布分别如图4、图5、图6、图7 所示。6个UCI标准数据集为:cpu-with-vendor,glass,iris,soybean,unbalanced, wine。4个人工数据集和6个UCI标准数据集的属性如表6和表7所示。
表6 人工数据集属性
表7 UCI数据集属性
实验结果对比:
本文使用聚类结果总纯度Purity,精度与召回率组合函数F-measure,聚类结果熵Entropy三种评价函数来评价聚类结果的有效性,三种评价函数的具体定义如上述定义4、定义5和定义6所示。
表8为本发明的基于互为共享最近邻的层次聚类方法与Chameleon方法和JP方法在对比数据集上的实验结果,从图8、图9、图10、图11和表8 中可以看出,本发明的基于互为共享最近邻的层次聚类方法在合成数据集 DB1、DB2、DB3以及UCI标准数据集Iris、Wine、Soybean、Unbalanced 上具有明显的优势结果。通过聚类有效性外部评价指标显示,Chameleon方法和JP方法在某些UCI数据集上有着非常糟糕的结果,其原因是数据集中混合着分类属性的变量,导致由于算法参数设置的原因使得聚类结果非常差。对于一些较小的数据集,例如,Cpu-with-vendor、Glass,本发明的基于互为共享最近邻的层次聚类方法通过相似度函数,能够对于已合并的错误的簇,将其推放到更晚的时刻来进行下一步的合并,这样可以有效的避免错误的一步步累积扩大。
表8 三种方法实验结果对比
Claims (4)
1.基于互为共享最近邻的层次聚类方法,其特征在于,将待处理的数据集设为D,设聚类数为K,设最近邻值一为K1,设最近邻值二为K2,且K1<K2,具体按照以下步骤实施:
步骤1,分别通过最近邻值一K1和最近邻值二K2计算数据集D的最近邻矩阵,得到最近邻矩阵T1和最近邻矩阵T2;
步骤2,依次查找数据集D中每一个数据点i的最近邻矩阵T2中的每一个邻域点的最近邻矩阵T1’,如果T1’中包含数据点i,则将最近邻矩阵T2中的该数据点i保留,否则将其删除,得到数据点i的最近邻排名矩阵Mi,最近邻排名矩阵Mi是指以数据点i及其互为最近邻数据点为行构建的矩阵,遍历数据集D中的所有数据点,得到最近邻排名矩阵M;
步骤3,通过最近邻排名矩阵M计算出数据集D中每一个数据点i的局部密度Di,局部密度Di是数据点i所在的局部区域在整个数据集中稠密程度的表示,并且将这些数据点按照局部密度Di的大小进行降序排列;
其中,局部密度Di按照以下公式计算:
Di=count(Mi),i∈n (1)
Mi为最近邻排名矩阵M中第i个数据点的最近邻排名矩阵;
步骤4,取排序后的前K×10个数据点作为子簇中心点,并以子簇中心点和子簇中心点的最近邻排名矩阵中所包含的数据点组成子簇;将未进行划分的数据点划分到该数据点的最近邻中最先出现的子簇中,得到若干子簇;
步骤5,计算步骤4最终得到的各子簇两两之间的相似度,将相似度最大的子簇对进行合并;
步骤6,合并后的子簇数目如果小于K,则执行步骤4;合并后的子簇数目如果等于K,则执行步骤7;
步骤7,将数据集D中从未被分配的数据点i划分到离未被分配的数据点最近的子簇中,得到最终的划分结果,所述划分结果为K个类簇。
2.根据权利要求1所述的基于互为共享最近邻的层次聚类方法,其特征在于,步骤5中子簇两两之间的相似度按照以下方法计算:
设有子簇Cx,子簇Cy,0<x,y≤z,最近邻排名矩阵M,则:子簇两两之间的相似度为:
<mrow>
<mi>S</mi>
<mi>i</mi>
<mi>m</mi>
<mi>i</mi>
<mi>l</mi>
<mi>a</mi>
<mi>r</mi>
<mi>i</mi>
<mi>t</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<mi>y</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>NumNeighbor</mi>
<msub>
<mi>C</mi>
<mi>x</mi>
</msub>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<mi>y</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>C</mi>
<mi>o</mi>
<mi>u</mi>
<mi>n</mi>
<mi>t</mi>
<mi>N</mi>
<mi>e</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>b</mi>
<mi>o</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<mi>x</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<msub>
<mi>NumNeighbor</mi>
<msub>
<mi>C</mi>
<mi>x</mi>
</msub>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<mi>x</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>C</mi>
<mi>o</mi>
<mi>u</mi>
<mi>n</mi>
<mi>t</mi>
<mi>N</mi>
<mi>e</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>b</mi>
<mi>o</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<mi>y</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,是子簇Cx中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻排名矩阵中,出现属于子簇Cy的点的次数;
是子簇Cx中的点在最近邻排名矩阵M中的所有最近邻的点,在这些最近邻点的最近邻排名矩阵中,出现属于子簇Cx的点的次数;
CountNeighbor(Cx)是子簇Cx中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数;
CountNeighbor(Cy)是子簇Cy中的点在最近邻排名矩阵M中的所有最近邻的点,这些最近邻点分属不同子簇的子簇数。
3.根据权利要求1中所述的基于互为共享最近邻的层次聚类方法,其特征在于,步骤4中所述将未进行划分的数据点划分到该数据点的最近邻中最先出现的子簇中,是指该数据点的最近邻排名矩阵中如果包含有子簇中心点,就将该数据点划分到该子簇中;如果该数据点的最近邻排名矩阵中包含有多个子簇中心点,则将该数据点划分到排名靠前的那个子簇中心点的子簇中。
4.根据权利要求1所述的基于互为共享最近邻的层次聚类方法,其特征在于,步骤7中离未被分配的数据点最近的子簇,指数据集D中从未被分配的数据点与步骤6中得到的K个子簇之间的欧几里得距离最小的子簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410488243.4A CN104217015B (zh) | 2014-09-22 | 2014-09-22 | 基于互为共享最近邻的层次聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410488243.4A CN104217015B (zh) | 2014-09-22 | 2014-09-22 | 基于互为共享最近邻的层次聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104217015A CN104217015A (zh) | 2014-12-17 |
CN104217015B true CN104217015B (zh) | 2017-11-03 |
Family
ID=52098505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410488243.4A Expired - Fee Related CN104217015B (zh) | 2014-09-22 | 2014-09-22 | 基于互为共享最近邻的层次聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104217015B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682052B (zh) * | 2015-11-11 | 2021-11-12 | 恩智浦美国有限公司 | 使用映射和归并的数据聚集 |
CN105787520B (zh) * | 2016-03-25 | 2019-09-20 | 中国农业大学 | 一种基于自然共享最近邻居搜索的发现簇和离群点的算法 |
CN106570178B (zh) * | 2016-11-10 | 2020-09-29 | 重庆邮电大学 | 一种基于图聚类的高维文本数据特征选择方法 |
CN108337226A (zh) * | 2017-12-19 | 2018-07-27 | 中国科学院声学研究所 | 嵌入式智能终端异常数据的检测方法和嵌入式智能终端 |
CN108510615A (zh) * | 2018-04-02 | 2018-09-07 | 深圳智达机械技术有限公司 | 一种半导体制造设备和工艺的控制*** |
CN108596737A (zh) * | 2018-05-07 | 2018-09-28 | 山东师范大学 | 基于电子商务评论数据的非聚类中心节点分配方法及装置 |
CN108932528B (zh) * | 2018-06-08 | 2021-08-31 | 哈尔滨工程大学 | 变色龙算法中相似性度量及截断方法 |
CN108765954B (zh) * | 2018-06-13 | 2022-05-24 | 上海应用技术大学 | 基于snn密度st-optics改进聚类算法的道路交通安全状况监测方法 |
CN109871768B (zh) * | 2019-01-18 | 2022-04-29 | 西北工业大学 | 基于共享最近邻的高光谱最优波段选择方法 |
CN113850995B (zh) * | 2021-09-14 | 2022-12-27 | 华设设计集团股份有限公司 | 一种基于隧道雷视数据融合的事件检测方法、装置及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478090B2 (en) * | 2005-01-14 | 2009-01-13 | Saffron Technology, Inc. | Methods, systems and computer program products for analogy detection among entities using reciprocal similarity measures |
CN101963995A (zh) * | 2010-10-25 | 2011-02-02 | 哈尔滨工程大学 | 基于特征场景的图像标注方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100191731A1 (en) * | 2009-01-23 | 2010-07-29 | Vasile Rus | Methods and systems for automatic clustering of defect reports |
-
2014
- 2014-09-22 CN CN201410488243.4A patent/CN104217015B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478090B2 (en) * | 2005-01-14 | 2009-01-13 | Saffron Technology, Inc. | Methods, systems and computer program products for analogy detection among entities using reciprocal similarity measures |
CN101963995A (zh) * | 2010-10-25 | 2011-02-02 | 哈尔滨工程大学 | 基于特征场景的图像标注方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104217015A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104217015B (zh) | 基于互为共享最近邻的层次聚类方法 | |
Chen et al. | KNN-BLOCK DBSCAN: Fast clustering for large-scale data | |
CN106682116B (zh) | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 | |
CN105930862A (zh) | 一种基于密度自适应距离的密度峰聚类算法 | |
CN106845536B (zh) | 一种基于图像缩放的并行聚类方法 | |
Abbas et al. | Cmune: A clustering using mutual nearest neighbors algorithm | |
Nayini et al. | A novel threshold-based clustering method to solve K-means weaknesses | |
Carbonera et al. | An entropy-based subspace clustering algorithm for categorical data | |
Cheng et al. | A local cores-based hierarchical clustering algorithm for data sets with complex structures | |
Shan et al. | A density peaks clustering algorithm with sparse search and Kd tree | |
CN110781943A (zh) | 一种基于毗邻网格搜索的聚类方法 | |
Chehreghani | Efficient computation of pairwise minimax distance measures | |
Yin et al. | Finding the informative and concise set through approximate skyline queries | |
Abbas et al. | Clustering using shared reference points algorithm based on a sound data model | |
Wang et al. | A neighborhood-based three-stage hierarchical clustering algorithm | |
Ding et al. | Density peaks clustering algorithm based on improved similarity and allocation strategy | |
KR20200051300A (ko) | Cf 트리를 활용한 범위 질의 기반의 데이터 클러스터링 장치 및 방법 | |
Qi et al. | I-cfsfdp: A robust and high accuracy clustering method based on cfsfdp | |
Gupta et al. | On the unification of k-harmonic means and fuzzy c-means clustering problems under kernelization | |
Safdari-Vaighani et al. | Detecting Non-Spherical Clusters Using Modified CURE Algorithm | |
Alnaji et al. | A novel clustering algorithm using k-means (CUK) | |
Mythili et al. | Research Analysis on Clustering Techniques in Wireless Sensor Networks | |
Lu et al. | K-nearest neighbor based clustering with shape alternation adaptivity | |
Horzyk et al. | ASA-graphs for efficient data representation and processing | |
Maalel et al. | Belief hierarchical clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171103 Termination date: 20200922 |