CN106845536B - 一种基于图像缩放的并行聚类方法 - Google Patents
一种基于图像缩放的并行聚类方法 Download PDFInfo
- Publication number
- CN106845536B CN106845536B CN201710011989.XA CN201710011989A CN106845536B CN 106845536 B CN106845536 B CN 106845536B CN 201710011989 A CN201710011989 A CN 201710011989A CN 106845536 B CN106845536 B CN 106845536B
- Authority
- CN
- China
- Prior art keywords
- sub
- cluster
- data
- points
- density
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于图像缩放的并行聚类方法,涉及模式识别及数据挖掘领域,将二维数据集划分为若干子数据集,每一子数据集由一个从计算节点单独利用图像缩放法进行聚类,之后各个从计算节点将其聚类结果传递给主计算节点进行融合,完成聚类过程,本发明由于采用了将聚类数据集分割并使用多个计算节点同时对子数据集进行局部聚类,之后对局部聚类结果进行融合形成最终结果的方法,可处理比传统聚类方法更大规模的数据集,且本发明为基于密度的聚类,可发现任意形状的簇,聚类时无须指定任何参数,在融合阶段,首先采用边缘检测法对子簇进行简化,使得子簇融合可以高效地进行,消除了模式识别和数据挖掘等领域中聚类数据集规模的瓶颈。
Description
技术领域
本发明涉及模式识别及数据挖掘领域,尤其是一种基于密度的并行聚类方法。
背景技术
聚类,是指将物理或抽象的集合分成由类似的对象组成的多个类的过程。由聚类生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。在自然科学和社会科学中,存在着大量的分类问题,聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。在商业上,聚类可以帮助市场分析人员从消费者数据库中区分出不同的消费群体来,并且概括出每一类消费者的消费模式或者说习惯。它作为数据挖掘中的一个模块,可以作为一个单独的工具以发现数据库中分布的一些深层的信息,并且概括出每一类的特点,或者把注意力放在某一个特定的类上以作进一步的分析;并且,聚类分析也可以作为数据挖掘算法中其他分析算法的一个预处理步骤。
聚类的算法可以分为划分法、层次法、基于密度的方法、基于网格的方法和基于模型的方法等。划分法指给定一个有N个元组或者记录的数据集,采用分裂法构造K(K<N)个分组,每一个分组就代表一个聚类,以后采用启发式方法反复迭代以改变分组,使得每一次改进之后的分组方案都较前一次好;层次法对给定的数据集按照“自底向上”或“自顶向下”进行层次似的分解,直到满足某种条件为止;基于密度的方法从数据对象的分布密度出发,将密度足够大的相邻区域连接起来,从而可以发现具有任务形状的簇,并能有效处理异常数据;基于网格的聚类从对数据空间划分的角度出发,利用属性空间的多维网格数据结构,将空间划分为有限数目的单元以构成一个可以进行聚类分析的网格结构,该方法可以处理任意类型的数据,但以降低聚类的质量和准确性为代价;基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好地满足这个模型的数据集。这样一个模型可能是数据点在空间中的密度分布函数或者其它。它的一个潜在的假定就是:目标数据集是由一系列的概率分布所决定的。
上述聚类方法各有优缺点,但它们有一个共同的缺点,即它们采用单个计算结点进行聚类,无法对超过单个计算结点存储容量限制的大规模数据集进行快速聚类。近年来,有学者针对此问题提出了一些并行化聚类方法,如基于消息传输模型和MapReduce模型的K-means并行聚类方法,但在该方法中,各计算节点耦合严重,在每一个迭代步骤都要进行大量通信,且具有不能发现任意形状簇等继承自原始K-means聚类方法的缺点。
发明内容
为了克服现有技术的不足,本发明提出一种基于密度的并行聚类方法来实现对大规模二维数据集的聚类,该方法将二维数据集划分为若干子数据集,每一子数据集可由一个从计算节点单独利用图像缩放法进行聚类,之后各个从计算节点将其聚类结果传递给主计算节点进行融合,完成聚类过程。
本发明解决其技术问题所采用的技术方案具体包括如下步骤:
步骤1:将需要进行聚类分析的二维数据作为一个数据集,并表示为S={s1,s2,…,sp,…,sn},其中sp表示第p个样本,n是数据集包含样本的个数,其中sp=(xp,yp),xp,yp分别为第p个样本在两个维度上的坐标分量,利用5个计算节点对二维数据集S进行聚类分析,其中1个计算节点为主计算节点,其余4个计算节点为从计算节点,主计算节点按照空间位置将二维数据集S分为4个子数据集,即将二维数据集S在两个维度上分别在数值范围中点处一分为二,得到4个子数据集,并将这四个子数据集表示为 表示第j个数据集的第p个样本,N(j)表示第j个子数据集包含的数据点的个数,主计算节点将4个子数据集分别传送给4个从计算节点;
步骤2:4个从计算节点各自对于相应子数据集S(j)(j=1,2,3,4)进行局部聚类,具体步骤如下:
(1)根据数据集特征确定相关参数
根据子数据集S(j)的统计特性确定扫描半径Eps(j),密度限λ(j)和最大簇内间距ε(j),扫描半径Eps(j)表示计算子数据集各点密度时所选取的范围,确定扫描半径Eps(j)后需计算S(j)中各数据点的密度ρj,数据点的密度为该数据点在Eps(j)邻域内包含的子数据集中其它数据点的个数,根据密度限确定各数据点是否为核心点,即密度大于密度限的数据点为核心点,否则数据点为噪音点,最大簇内间距ε(j)为两个数据点隶属于同一个簇的最大距离,具体确定参数的步骤如下:
(a)构造距离矩阵其中
其中表示第j个子数据集中第p个点和第q个点之间的距离,和分别为的横坐标和纵坐标,和分别为的横坐标和纵坐标,dist为距离函数,采用欧拉距离;
(b)计算扫描半径Eps(j),按公式(2)进行计算:
(c)计算子数据集各点的密度
首先定义邻域函数,二值邻域函数Nei(sp,sq,Eps)表示数据点sq是否在sq的Eps邻域内,按公式(3)计算:
计算子数据集内各点的密度,计算方法如公式(4)所示:
其中,表示数据点的密度,即在Eps(j)领域内包含该子数据点的数目;
(d)计算子数据集S(j)的平均密度ρ(j)和密度标准差平均密度表示子数据集密度的整体水平,密度标准差表示子数据集密度的分布情况,计算方法如公式(5)所示:
(e)计算子数据集S(j)的平均最邻近距离τ(j)和最近邻距离标准差
首先计算S(j)内各点的最邻近距离最邻近距离表示数据集内其它点距该点最近的距离,即:
然后用公式(7)计算数据集的平均最邻近距离和最近邻距离标准差
(f)计算子数据集S(j)的密度限λ(j),密度限为确定数据点为核心点或噪音点的界限,即密度高于密度限的数据点为核心点,否则为噪音点,密度限计算方法如公式(8)所示:
(g)计算最大簇内间距ε(j),最大簇内间距为子数据集内任意两个点归为一簇的最大距离,计算方法如公式(9)所示:
(2)确定子数据集的核心点集
子数据集S(j)的核心点集记为且其中为数据点的密度,简记为 为Cor(j)中第p个核心点的下标,nj为Cor(j)中核心点的数目,其中表示Cor(j)中第p个核心点;
子数据集核心点集进行聚合,即对核心点分配簇编号,簇编号用于区分不同的簇,在同一个子数据集内编号相同的核心点隶属于同一个簇,否则隶属于不同的簇,本发明用正整数表示簇编号,即1,2,3,……,在对子数据集进行聚合时,若两个核心点为一簇,则它们的编号相同,否则不同,采用深度遍历算法,对子数据集核心点集进行聚合,使得聚合后产生的簇满足如下三个条件:
a)若则划为一簇,即分配相同的编号;
b)若且x≠p且x≠q使得为一簇,为一簇,则均同为一簇,即簇编号相同;
c)若不满足a)和b)两个条件,则隶属于不同的簇,即簇编号不同;
经过深度遍历,将Cor(j)划分为R(j)个子簇,各个子簇编号为1,2,…,R(j);
步骤3:融合子簇
通过步骤2,数据集S的核心点集Cor被划分为了m=R(1)+R(2)+R(3)+R(4)个子簇,表示为C(1),C(2),…,C(j),…,C(m),每个簇由原数据集S中的若干点组成,即n(j)为子簇C(j)中包含数据点的个数,记 和分别为数据点的横坐标和纵坐标;
对核心点集Cor中的簇进行重新编号以使各子簇编号不重复,来自S(1)的子簇的编号保持不变,来自S(2)的各子簇编号在原编号的基础上加上R(1),即分别修改为R(1)+1,R(1)+2,…,R(1)+R(2),来自S(3)的各子簇编号在原编号的基础上均加上R(1)+R(2),即分别修改为R(1)+R(2)+1,R(1)+R(2)+2,…,R(1)+R(2)+R(3),来自S(4)的各子簇编号在原编号的基础上均加上R(1)+R(2)+R(3),即分别修改为R(1)+R(2)+R(3)+1,R(1)+R(2)+R(3)+2,…,m;
利用边缘检测法对每个子簇进行去冗余操作,对子簇C(j)(j=1,2,…,m)去冗余操作具体包括如下步骤:
(1)对于子簇C(j),构造与之对应的集合其中为二维向量, 为整数,且具体计算公式如下:
其中,floor为向下取整函数;
(2)构造一个零矩阵M=(mij)100×100,根据集合F(j)进行填充1操作,即即将矩阵M中第行第列的元素置1;
(3)对于M中的元素mij(i,j=2,3,…,99),若同时满足如下5个条件:
a.mij=1
b.使得
c.使得
d.使得
e.使得
即mij=1且在mij的上、下、左、右方向至少有一个为1,则将mij置0即mij=0,对于不满足以上任一条件的元素则保持原值;
(4)将矩阵M中为1的元素的坐标反映射到子簇C(j)的坐标空间,得到简化的子簇其中 和分别为数据点的两个坐标值,nsc(j)为简化子簇SC(j)包含的数据点的个数,反映射按照如下公式进行:
根据各子数据集的统计特性计算整体数据集的聚类密度限Λ和子簇融合间距E,计算方法如下:
(a)计算简化子簇间的距离矩阵其中为简化子簇SC(p)和SC(q)内数据点最近的距离,即
(b)计算各簇C(j)的簇密度Ρ(j)
P(p)=n(j) (13)
(c)计算全局近似平均密度Ρ和近似密度标准差ΣΡ:
(d)计算全局近似平均邻近距离T和邻近距离标准差ΣT:
(e)计算子簇密度限Λ
(f)计算子簇融合间距E
E=1.152T+2.704ΣT (17)
采用深度遍历算法融合子簇,即任意两个简化子簇,若它们之间的距离小于簇融合间距E,则将产生这两个简化子簇的原来的子簇融合,即其中一个子簇内所有数据点的编号修改为另一个子簇内数据点的编号;
步骤4:为噪声点分配簇编号
每个噪声点分配简化子簇中距离噪声点最近的核心点所在的聚类,完成整个聚类过程。
本发明的有益效果是由于采用了将聚类数据集分割并使用多个计算节点同时对子数据集进行局部聚类,之后对局部聚类结果进行融合形成最终结果的方法,可处理比传统聚类方法更大规模的数据集,且本聚类方法为基于密度的聚类,因此可以发现任意形状的簇,聚类时无须指定任何参数,在融合阶段,首先采用边缘检测法对子簇进行简化,使得子簇融合可以高效地进行,本发明消除了模式识别和数据挖掘等领域中聚类数据集规模的瓶颈。
附图说明
图1为本发明并行聚类方法的整体流程图。
图2为本发明子数据集局部聚类的流程图。
图3为本发明对数据集的划分示意图,图中1,2,3,4分别表示四个子数据集。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明解决了传统聚类方法只能由单个计算节点聚类、聚类速度慢、必须指定参数的问题,使得大规模数据集背景下的聚类问题得到很好的解决。
本发明的目的在于提供一种基于图像缩放的并行聚类方法,聚类流程如图1所示。将原始二维数据集划分为若干个子数据集,每个子数据集由单个计算节点利用图像缩放法进行聚类,得到若干簇数据,这些簇数据利用本发明提出的边缘检测法从中选择代表点,并将代表点坐标发送到主计算节点,主计算节点接收所有从计算节点的代表点信息,并对这些代表点所表示的簇进行融合并为融合后的簇分配唯一编号,主计算节点将融合信息和唯一编号反馈给从计算节点,完成聚类过程。图像缩放聚类法无须指定参数,可自动根据数据集统计特性自主确定参数,极大地方便了聚类过程;边缘检测法可将各簇数据中冗余点进行移除,提高了簇融合的效率。
在模式识别和数据挖掘领域,聚类分析是一种常用的分析方法,其基本形式是对于一组来自于实际问题的一组包含多个属性的数据,通过一定的方法,将属性相近的数据划分为一簇,属性不同的数据划分为不同的簇。其结果就是在各个划分的簇的内部,数据点间属性相近,而在不同类之间的数据点属性差别较大。通过对簇的划分,可以发现隐藏在数据点间的信息。在聚类分析中,以对二维数据集的聚类最为典型,在二维聚类的基础上可以衍生出高维数据的聚类方法。目前常用聚类分析方法主要是针对单个节点进行的,存在聚类数据量小、无法满足大规模数据聚类的缺点。基于K-means的并行聚类方法虽然可以利用多个节点进行聚类,但无法发现任意形状的簇。本发明提出的一种针对二维数据集的基于图像缩放的并行聚类方法不仅可以对大规模数据进行聚类,而且可以发现数据中任意形状的簇。
步骤1:将需要进行聚类分析的二维数据作为一个数据集,并表示为S={s1,s2,…,sp,…,sn},其中sp表示第p个样本,n是数据集包含样本的个数,其中sp=(xp,yp),xp,yp分别为第p个样本在两个维度上的坐标分量,利用5个计算节点对二维数据集S进行聚类分析,其中1个计算节点为主计算节点,其余4个计算节点为从计算节点,主计算节点按照空间位置将二维数据集S划分为4个子数据集,划分方式如图3所示,即将二维数据集S在两个维度上分别在数值范围中点处一分为二,得到4个子数据集,并将这四个子数据集表示为 表示第j个数据集的第p个样本,N(j)表示第j个子数据集包含的数据点的个数,主计算节点将4个子数据集分别传送给4个从计算节点;
步骤2:4个从计算节点各自对于相应子数据集S(j)(j=1,2,3,4)进行局部聚类,局部聚类流程如图2所示,具体步骤如下:
(1)根据数据集特征确定相关参数
根据子数据集S(j)的统计特性确定扫描半径Eps(j),密度限λ(j)和最大簇内间距ε(j),扫描半径Eps(j)表示计算子数据集各点密度时所选取的范围,确定扫描半径Eps(j)后需计算S(j)中各数据点的密度ρj,数据点的密度为该数据点在Eps(j)邻域内包含的子数据集中其它数据点的个数,根据密度限确定各数据点是否为核心点,即密度大于密度限的数据点为核心点,否则数据点为噪音点,最大簇内间距ε(j)为两个数据点隶属于同一个簇的最大距离,具体确定参数的步骤如下:
(a)构造距离矩阵其中
其中表示第j个子数据集中第p个点和第q个点之间的距离,和分别为的横坐标和纵坐标,和分别为的横坐标和纵坐标,dist为距离函数,采用欧拉距离;
(b)计算扫描半径Eps(j),按公式(2)进行计算:
(c)计算子数据集各点的密度
首先定义邻域函数,二值邻域函数Nei(sp,sq,Eps)表示数据点sq是否在sq的Eps邻域内,按公式(3)计算:
计算子数据集内各点的密度,计算方法如公式(4)所示:
其中,表示数据点的密度,即在Eps(j)领域内包含该子数据点的数目;
(d)计算子数据集S(j)的平均密度ρ(j)和密度标准差平均密度表示子数据集密度的整体水平,密度标准差表示子数据集密度的分布情况,计算方法如公式(5)所示:
(e)计算子数据集S(j)的平均最邻近距离τ(j)和最近邻距离标准差
首先计算S(j)内各点的最邻近距离最邻近距离表示数据集内其它点距该点最近的距离,即:
然后用公式(7)计算数据集的平均最邻近距离和最近邻距离标准差
(f)计算子数据集S(j)的密度限λ(j),密度限为确定数据点为核心点或噪音点的界限,即密度高于密度限的数据点为核心点,否则为噪音点,密度限计算方法如公式(8)所示:
(g)计算最大簇内间距ε(j),最大簇内间距为子数据集内任意两个点归为一簇的最大距离,计算方法如公式(9)所示:
(2)确定子数据集的核心点集
子数据集S(j)的核心点集记为且其中为数据点的密度,简记为 为Cor(j)中第p个核心点的下标,nj为Cor(j)中核心点的数目,其中表示Cor(j)中第p个核心点;
子数据集核心点集进行聚合,即对核心点分配簇编号,簇编号用于区分不同的簇,在同一个子数据集内编号相同的核心点隶属于同一个簇,否则隶属于不同的簇,本发明用正整数表示簇编号,即1,2,3,……,在对子数据集进行聚合时,若两个核心点为一簇,则它们的编号相同,否则不同,采用深度遍历算法,对子数据集核心点集进行聚合,使得聚合后产生的簇满足如下三个条件:
a)若则划为一簇,即分配相同的编号;
b)若且x≠p且x≠q使得为一簇,为一簇,则均同为一簇,即簇编号相同;
c)若不满足a)和b)两个条件,则隶属于不同的簇,即簇编号不同;
经过深度遍历,将Cor(j)划分为R(j)个子簇,各个子簇编号为1,2,…,R(j);
步骤3:融合子簇
通过步骤2,数据集S的核心点集Cor被划分为了m=R(1)+R(2)+R(3)+R(4)个子簇,表示为C(1),C(2),…,C(j),…,C(m),每个簇由原数据集S中的若干点组成,即n(j)为子簇C(j)中包含数据点的个数,记 和分别为数据点的横坐标和纵坐标;
对核心点集Cor中的簇进行重新编号以使各子簇编号不重复,来自S(1)的子簇的编号保持不变,来自S(2)的各子簇编号在原编号的基础上加上R(1),即分别修改为R(1)+1,R(1)+2,…,R(1)+R(2),来自S(3)的各子簇编号在原编号的基础上均加上R(1)+R(2),即分别修改为R(1)+R(2)+1,R(1)+R(2)+2,…,R(1)+R(2)+R(3),来自S(4)的各子簇编号在原编号的基础上均加上R(1)+R(2)+R(3),即分别修改为R(1)+R(2)+R(3)+1,R(1)+R(2)+R(3)+2,…,m;
利用边缘检测法对每个子簇进行去冗余操作,对子簇C(j)(j=1,2,…,m)去冗余操作具体包括如下步骤:
(1)对于子簇C(j),构造与之对应的集合其中为二维向量, 为整数,且具体计算公式如下:
其中,floor为向下取整函数;
(2)构造一个零矩阵M=(mij)100×100,根据集合F(j)进行填充1操作,即即将矩阵M中第行第列的元素置1;
(3)对于M中的元素mij(i,j=2,3,…,99),若同时满足如下5个条件:
a)mij=1
b)使得
c)使得
d)使得
e)使得
即mij=1且在mij的上、下、左、右方向至少有一个为1,则将mij置0即mij=0,对于不满足以上任一条件的元素则保持原值;
(4)将矩阵M中为1的元素的坐标反映射到子簇C(j)的坐标空间,得到简化的子簇其中 和分别为数据点的两个坐标值,为简化子簇SC(j)包含的数据点的个数,反映射按照如下公式进行:
根据各子数据集的统计特性计算整体数据集的聚类密度限Λ和子簇融合间距E,计算方法如下:
(a)计算简化子簇间的距离矩阵其中为简化子簇SC(p)和SC(q)内数据点最近的距离,即
(b)计算各簇C(j)的簇密度Ρ(j)
P(p)=n(j) (30)
(c)计算全局近似平均密度Ρ和近似密度标准差ΣΡ:
(d)计算全局近似平均邻近距离T和邻近距离标准差ΣT:
(e)计算子簇密度限Λ
(f)计算子簇融合间距E
E=1.152T+2.704ΣT (34)
采用深度遍历算法融合子簇,即任意两个简化子簇,若它们之间的距离小于簇融合间距E,则将产生这两个简化子簇的原来的子簇融合,即其中一个子簇内所有数据点的编号修改为另一个子簇内数据点的编号;
步骤4:为噪声点分配簇编号
每个噪声点分配简化子簇中距离噪声点最近的核心点所在的聚类,完成整个聚类过程。
具体来说,用且表示第j个子数据集中的所有噪音点的集合,用Noi=Noi(1)∪Noi(2)∪Noi(3)∪Noi(4)表示所有噪音点的集合,简记Noi={r1,r2,…,rp,…,rm},其中rp为噪音点集中第p个噪音点,m为噪音点数目。同样Cor=Cor(1)∪Cor(2)∪Cor(3)∪Cor(4)表示所有核心点的集合,简记为Cor={c1,c2,…,cq,…,cn},其中cq为噪音点集中第q个噪音点,n为噪音点数目。对于每一个噪音点rp(p=1,2,…,m),计算距离其最近的核心点的下标ap,即:
其中argmin为数学函数,表示使得某个函数取得最小值时自变量的取值,dist表示距离函数,然后确定噪音点rp的簇编号,即rp的簇编号与核心点的簇编号相同。
所有核心点与噪音点的簇编号确定后,聚类完成,所有簇编号相同的数据点(包括核心点和噪音点)隶属于同一个簇,否则隶属于不同的簇。
Claims (1)
1.一种基于图像缩放的并行聚类方法,其特征在于包括下述步骤:
步骤1:将需要进行聚类分析的二维数据作为一个数据集,并表示为S={s1,s2,…,sp,…,sn},其中sp表示第p个样本,n是数据集包含样本的个数,其中sp=(xp,yp),xp,yp分别为第p个样本在两个维度上的坐标分量,利用5个计算节点对二维数据集S进行聚类分析,其中1个计算节点为主计算节点,其余4个计算节点为从计算节点,主计算节点按照空间位置将二维数据集S分为4个子数据集,即将二维数据集S在两个维度上分别在数值范围中点处一分为二,得到4个子数据集,并将这四个子数据集表示为 表示第j个数据集的第p个样本,N(j)表示第j个子数据集包含的数据点的个数,主计算节点将4个子数据集分别传送给4个从计算节点;
步骤2:4个从计算节点各自对于相应子数据集S(j)(j=1,2,3,4)进行局部聚类,具体步骤如下:
(1)根据数据集特征确定相关参数
根据子数据集S(j)的统计特性确定扫描半径Eps(j),密度限λ(j)和最大簇内间距ε(j),扫描半径Eps(j)表示计算子数据集各点密度时所选取的范围,确定扫描半径Eps(j)后需计算S(j)中各数据点的密度ρj,数据点的密度为该数据点在Eps(j)邻域内包含的子数据集中其它数据点的个数,根据密度限确定各数据点是否为核心点,即密度大于密度限的数据点为核心点,否则数据点为噪音点,最大簇内间距ε(j)为两个数据点隶属于同一个簇的最大距离,具体确定参数的步骤如下:
(a)构造距离矩阵其中
其中表示第j个子数据集中第p个点和第q个点之间的距离,和分别为的横坐标和纵坐标,和分别为的横坐标和纵坐标,dist为距离函数,采用欧拉距离;
(b)计算扫描半径Eps(j),按公式(2)进行计算:
(c)计算子数据集各点的密度
首先定义邻域函数,二值邻域函数Nei(sp,sq,Eps)表示数据点sp是否在sq的Eps邻域内,按公式(3)计算:
计算子数据集内各点的密度,计算方法如公式(4)所示:
其中,表示数据点的密度,即在Eps(j)领域内包含该子数据点的数目;
(d)计算子数据集S(j)的平均密度ρ(j)和密度标准差平均密度表示子数据集密度的整体水平,密度标准差表示子数据集密度的分布情况,计算方法如公式(5)所示:
(e)计算子数据集S(j)的平均最邻近距离τ(j)和最近邻距离标准差
首先计算S(j)内各点的最邻近距离最邻近距离表示数据集内其它点距该点最近的距离,即:
然后用公式(7)计算数据集的平均最邻近距离和最近邻距离标准差
(f)计算子数据集S(j)的密度限λ(j),密度限为确定数据点为核心点或噪音点的界限,即密度高于密度限的数据点为核心点,否则为噪音点,密度限计算方法如公式(8)所示:
(g)计算最大簇内间距ε(j),最大簇内间距为子数据集内任意两个点归为一簇的最大距离,计算方法如公式(9)所示:
(2)确定子数据集的核心点集
子数据集S(j)的核心点集记为其中为数据点的密度,简记为 为Cor(j)中第p个核心点的下标,nj为Cor(j)中核心点的数目,其中表示Cor(j)中第p个核心点;
子数据集核心点集进行聚合,即对核心点分配簇编号,簇编号用于区分不同的簇,在同一个子数据集内编号相同的核心点隶属于同一个簇,否则隶属于不同的簇,本发明用正整数表示簇编号,即1,2,3,……,在对子数据集进行聚合时,若两个核心点为一簇,则它们的编号相同,否则不同,采用深度遍历算法,对子数据集核心点集进行聚合,使得聚合后产生的簇满足如下三个条件:
a)若则划为一簇,即分配相同的编号;
b)若使得为一簇,为一簇,则均同为一簇,即簇编号相同;
c)若不满足a)和b)两个条件,则隶属于不同的簇,即簇编号不同;
经过深度遍历,将Cor(j)划分为R(j)个子簇,各个子簇编号为1,2,…,R(j);
步骤3:融合子簇
通过步骤2,数据集S的核心点集Cor被划分为了m=R(1)+R(2)+R(3)+R(4)个子簇,表示为C(1),C(2),…,C(j),…,C(m),每个簇由原数据集S中的若干点组成,即n(j)为子簇C(j)中包含数据点的个数,记 和分别为数据点的横坐标和纵坐标;
对核心点集Cor中的簇进行重新编号以使各子簇编号不重复,来自S(1)的子簇的编号保持不变,来自S(2)的各子簇编号在原编号的基础上加上R(1),即分别修改为R(1)+1,R(1)+2,…,R(1)+R(2),来自S(3)的各子簇编号在原编号的基础上均加上R(1)+R(2),即分别修改为R(1)+R(2)+1,R(1)+R(2)+2,…,R(1)+R(2)+R(3),来自S(4)的各子簇编号在原编号的基础上均加上R(1)+R(2)+R(3),即分别修改为R(1)+R(2)+R(3)+1,R(1)+R(2)+R(3)+2,…,m;
利用边缘检测法对每个子簇进行去冗余操作,对子簇C(j)(j=1,2,…,m)去冗余操作具体包括如下步骤:
(1)对于子簇C(j),构造与之对应的集合其中为二维向量, 为整数,且具体计算公式如下:
其中,floor为向下取整函数;
(2)构造一个零矩阵M=(mij)100×100,根据集合F(j)进行填充1操作,即即将矩阵M中第行第列的元素置1;
(3)对于M中的元素mij(i,j=2,3,…,99),若同时满足如下5个条件:
a.mij=1
b.使得
c.使得
d.使得
e.使得
即mij=1且在mij的上、下、左、右方向至少有一个为1,则将mij置0即mij=0,对于不满足以上任一条件的元素则保持原值;
(4)将矩阵M中为1的元素的坐标反映射到子簇C(j)的坐标空间,得到简化的子簇其中 和分别为数据点的两个坐标值,为简化子簇SC(j)包含的数据点的个数,反映射按照如下公式进行:
根据各子数据集的统计特性计算整体数据集的聚类密度限Λ和子簇融合间距E,计算方法如下:
(a)计算简化子簇间的距离矩阵其中为简化子簇SC(p)和SC(q)内数据点最近的距离,即
(b)计算各簇C(j)的簇密度Ρ(j)
P(p)=n(j) (13)
(c)计算全局近似平均密度Ρ和近似密度标准差∑Ρ:
(d)计算全局近似平均邻近距离T和邻近距离标准差∑T:
(e)计算子簇密度限Λ
(f)计算子簇融合间距E
E=1.152T+2.704∑T (17)
采用深度遍历算法融合子簇,即任意两个简化子簇,若它们之间的距离小于簇融合间距E,则将产生这两个简化子簇的原来的子簇融合,即其中一个子簇内所有数据点的编号修改为另一个子簇内数据点的编号;
步骤4:为噪声点分配簇编号
每个噪声点分配简化子簇中距离噪声点最近的核心点所在的聚类,完成整个聚类过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710011989.XA CN106845536B (zh) | 2017-01-09 | 2017-01-09 | 一种基于图像缩放的并行聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710011989.XA CN106845536B (zh) | 2017-01-09 | 2017-01-09 | 一种基于图像缩放的并行聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106845536A CN106845536A (zh) | 2017-06-13 |
CN106845536B true CN106845536B (zh) | 2019-12-27 |
Family
ID=59118071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710011989.XA Active CN106845536B (zh) | 2017-01-09 | 2017-01-09 | 一种基于图像缩放的并行聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106845536B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189732A (zh) * | 2018-08-03 | 2019-01-11 | 成都四方伟业软件股份有限公司 | 一种中位数分析方法及装置 |
CN109672451B (zh) * | 2018-12-24 | 2023-06-23 | 哈尔滨工业大学(深圳) | demura数据压缩方法、mura补偿方法与装置 |
CN110580510B (zh) * | 2019-09-12 | 2023-07-25 | 深圳力维智联技术有限公司 | 一种聚类结果评价方法和系统 |
CN110781815B (zh) * | 2019-10-25 | 2022-09-27 | 四川东方网力科技有限公司 | 视频数据处理方法及系统 |
CN112015937B (zh) * | 2020-08-31 | 2024-01-19 | 核工业北京地质研究院 | 一种图片地理定位方法及系统 |
CN115661495B (zh) * | 2022-09-28 | 2023-04-18 | 中国测绘科学研究院 | 一种紧凑划分及多层次合并策略的大规模SfM方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537279A (zh) * | 2014-12-22 | 2015-04-22 | 中国科学院深圳先进技术研究院 | 一种序列聚类方法及装置 |
CN105469118A (zh) * | 2015-12-04 | 2016-04-06 | 浙江鸿程计算机系统有限公司 | 基于核函数的融合主动学习和非参半监督聚类的稀有类别检测方法 |
CN105718935A (zh) * | 2016-01-25 | 2016-06-29 | 南京信息工程大学 | 一种适宜于视觉大数据的词频直方图计算方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582895B2 (en) * | 2015-05-22 | 2017-02-28 | International Business Machines Corporation | Real-time object analysis with occlusion handling |
-
2017
- 2017-01-09 CN CN201710011989.XA patent/CN106845536B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537279A (zh) * | 2014-12-22 | 2015-04-22 | 中国科学院深圳先进技术研究院 | 一种序列聚类方法及装置 |
CN105469118A (zh) * | 2015-12-04 | 2016-04-06 | 浙江鸿程计算机系统有限公司 | 基于核函数的融合主动学习和非参半监督聚类的稀有类别检测方法 |
CN105718935A (zh) * | 2016-01-25 | 2016-06-29 | 南京信息工程大学 | 一种适宜于视觉大数据的词频直方图计算方法 |
Non-Patent Citations (3)
Title |
---|
A Tie-Breaking Strategy for Processor Allocation in Meshes;Christopher R. Johnson 等;《2010 39th International Conference on Parallel Processing Workshops》;20101231;第331-338页 * |
Distributed Clustering Based on Node Density and Distance in Wireless Sensor Networks;Sasikumar P 等;《TELKOMNIKA》;20160930;第14卷(第3期);第916-922页 * |
基于 SVC 的云服务化作战资源聚类重组研究;赵仁君 等;《第四届中国指挥控制大会论文集》;20161231;第383-389页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106845536A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106845536B (zh) | 一种基于图像缩放的并行聚类方法 | |
CN106682116B (zh) | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 | |
Ran et al. | Comprehensive survey on hierarchical clustering algorithms and the recent developments | |
Wu et al. | Effective hierarchical clustering based on structural similarities in nearest neighbor graphs | |
El Agha et al. | Efficient and fast initialization algorithm for k-means clustering | |
CN111259933B (zh) | 基于分布式并行决策树的高维特征数据分类方法及系统 | |
Zhou et al. | A robust clustering algorithm based on the identification of core points and KNN kernel density estimation | |
Cheng et al. | A local cores-based hierarchical clustering algorithm for data sets with complex structures | |
CN111626321B (zh) | 一种图像数据的聚类方法及装置 | |
CN112800115B (zh) | 数据处理方法及数据处理装置 | |
Kaur | A survey of clustering techniques and algorithms | |
CN108416381B (zh) | 一种面向三维点集的多密度聚类方法 | |
Li et al. | Fast density peaks clustering algorithm based on improved mutual K-nearest-neighbor and sub-cluster merging | |
CN114386466B (zh) | 一种用于脉冲星搜寻中候选体信号挖掘的并行的混合聚类方法 | |
CN106022359A (zh) | 基于有序信息熵的模糊熵空间聚类分析方法 | |
CN110781943A (zh) | 一种基于毗邻网格搜索的聚类方法 | |
Cheng et al. | A local cores-based hierarchical clustering algorithm for data sets with complex structures | |
CN111259964B (zh) | 一种不平衡数据集的过采样方法 | |
CN108510010A (zh) | 一种基于预筛选的密度峰值聚类方法及系统 | |
Ding et al. | Density peaks clustering algorithm based on improved similarity and allocation strategy | |
Wang et al. | A neighborhood-based three-stage hierarchical clustering algorithm | |
Zhang et al. | Bow pooling: a plug-and-play unit for feature aggregation of point clouds | |
Tsai et al. | GF-DBSCAN; a new efficient and effective data clustering technique for large databases | |
CN111651501B (zh) | 一种面向地理大数据的空间聚合尺度选择方法 | |
CN111080351A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |