一种基于相邻点连接的数据聚类方法与流程

文档序号:20920350发布日期:2020-05-29 14:04阅读:624来源:国知局
一种基于相邻点连接的数据聚类方法与流程

本发明涉及一种基于相邻点连接的数据聚类方法,特别是涉及一种通过相邻点的连接生成连通域,通过计算数据点与不同连通域之间的欧式距离,决定数据点的聚类。该方法可以应用到机器学习,数据挖掘,模式识别,图像分析以及生物信息等领域。



背景技术:

信息技术的高速发展积累了大量的数据,而这些数据后面隐藏着许多重要的信息,为了对其进行更高层次的分析,数据聚类是核心技术。为了发现数据中存在的各种关系和规则,并且根据现有的数据预测未来的发展趋势,数据聚类分析至关重要。迄今为止,聚类分析方法在数据挖掘领域已取得了较好的应用效果。此外,聚类分析还成功地应用在了模式识别、图像处理、计算机视觉、模糊控制等应用领域,并在这些领域中取得了长足的发展。然而,聚类分析还有许多急待进一步解决的问题。(1),量大且复杂的数据的聚类结果的精确性问题。(2),数据对象分布形状不规则时的聚类问题。(3),噪声数据的聚类问题。(4),对数据输入顺序的独立性,也就是对于任意的数据输入顺序产生相同的聚类结果。(5),对先验知识或参数的依赖型等问题。这些问题的存在使得我们研究更加有效的聚类方法迫在眉睫。

目前比较有名的聚类方法包括基于密度的聚类算法,k均值算法,模糊c均值算法,k中心点算法,谱聚类算法以及均值漂移聚类算法等。这些方法都有这个各自优点与不足。在列举的这些典型聚类算法中,只有基于密度的聚类算法可以对于分布形状不规则的数据进行鲁棒地聚类。然而,当类间密度大于类内密度时,基于密度的聚类算法容易陷入类内数据的聚类。并且基于密度的聚类算法容易把数据点错误地归类为噪音。k均值算法可以对高维数据进行聚类,然而它容易受到数据分布形状的影响。此外,k均值算法是一种近似算法,因此在某些数据的聚类精度比较时,k均值算法往往比不过其他算法。模糊c均值算法,k中心点算法以及均值漂移聚类算法都是借鉴了k均值算法的思想,并且融合了新的聚类标准,从而在某些数据问题上,取得了比k均值算法更加鲁棒的精度。然而这些算法和k均值算法一样都容易受到数据分布形状的影响。谱聚类算法是另一类广泛使用的聚类算法,比起k均值算法,谱聚类对数据分布的适应性更强,同时聚类的计算量也小很多,因为对于量大且复杂的数据,基于迭代的均值聚类算法将相当耗时。然而,谱聚类算法的聚类精度也容易受到数据分布形状的影响。

本发明利用相同类中相邻数据点之间距离比不同类中相邻数据点之间的距离更近这一共有特性,开发了一种可以对任意分布形状的数据进行鲁棒聚类的通用方法。首先,所有数据被转换到一个正数范围的网格内,并且近似为整数。对每个近似的整数在网格中对应的位置赋值为1,其他位置赋值为0。对被赋值为1的位置的临近位置都赋值为1,直到相同类中数据位置连接成为一个连通域。再用连续整数对所有连通域进行自动标识。计算出某个数据点到每个连通域的距离,该数据点被标记为与距离其最近的连通域的标识整数。在所有的数据点被标记以后,再将它们转换回原来的区间范围内。实验结果证明本发明的聚类精度远远高于其他聚类算法。



技术实现要素:

本发明的目的是针对现有聚类算法的精度容易受到数据分布形状的影响,提供一种基于相邻点连接的数据聚类方法,该方法充分利用不同数据的共有特性,通过连接类内相邻数据点形成连通域,再通过数据点到不同连通域的欧式距离对数据点进行聚类。

为了实现上述发明的目的,本发明采用下述技术方案实现。

第一步,将所有数据转换到一个正数范围的网格内,并且近似为正整数。对于网格中每个转换数据近似的正整数所对应的位置赋值为1,其他位置赋值为0。

第二步,通过形态学膨胀的方法对被赋值为1的位置的临近位置也赋值为1,将相邻点连接成为连通域。计算网格中所有区域的面积,设置所有区域的面积平均值为面积阈值。

第三步,计算出所有面积大于面积阈值的区域的个数,如果个数与输入的聚类个数相同,那么跳到第四步。如果计算的大面积区域的个数不等于输入的聚类个数,那么跳到第二步。

第四步,用连续整数对所有连通域进行自动标识。计算出某个数据点到每个连通域的距离,该数据点被标记为与距离其最近的连通域的标识整数。

第五步,对于含有噪音的数据,设置噪音距离阈值,如果某个数据点到所有连通域的距离都大于噪音距离阈值,那么该数据点被标记为噪音。

第六步,在所有的数据点被标记以后,再将它们转换回原来的区间范围内。

本发明与现有技术相比,有如下优点:

本发明可以对任意形状分布的数据进行鲁棒的聚类。本发明利用数据的共有特性,通过计算数据点与连通域的距离进行聚类,因此具有很高的聚类精度。实验结果表明本发明的聚类精度远远高于任何一种现有的聚类算法。

附图说明

图1为本发明的基于邻近点连接的聚类方法流程图。

具体实施方式

下面根据附图与工作原理,对本发明进行详细说明。

附图1是本发明的基于邻近点连接的聚类方法流程图,具体实施如下。

对于输入的二维或者三维数据,通过如下公式将其变换至正数范围内:

(1)

其中,r表示变换范围,其默认值为10。pd表示变换后的数据。如果数据是二维数据,那么由下列公式生成正整数:

(2)

如果数据是三维数据,那么由下列公式生成正整数:

(3)

本发明将数据的第一维索引的集合表示为,将数据的第二维索引的集合表示为,将数据的第三维索引的集合表示为。如果数据是二维数据,那么由下列公式生成一个二维的网格,并且根据正整数数据对二维网格进行赋值:

(4)

(5)

如果数据是三维数据,那么由下列公式生成一个三维的网格,并且根据正整数数据对三维网格进行赋值:

(6)

(7)

对于网格中被赋值为1的位置,通过下列形态学膨胀的公式,将其邻近位置也赋值为1:

(8)

其中,b是结构元素,表示结构元素的反射。如果数据是二维的,那么结构元素选为单位圆。如果数据为三维的,那么结构元素选为单位球。

重复公式(8),直至同类中的相邻点连接生成一个连通域。

为了避免同一类中的数据点被分离为不同的面积很小的连通域,本发明专门设计了一个域滤波器,用来去除小面积的干扰区域。

在每一步通过公式(8)的形态学膨胀进行邻近点连接之后,自动标识网格中的所有区域,生成一个标识的网格。如果数据是二维的,那么被标识区域的坐标集合由下列公式计算:

(9)

如果数据是三维的,那么被标识区域的坐标集合由下列公式计算:

(10)

通过下列公式计算出区分小面积干扰区域与大面积连通区域的面积阈值:

(11)

其中,,表示集合,中包含位置为1元素的个数,也就是第j个标记区域中的总像素数。

如果数据是二维的,那么小面积干扰区域的坐标集合由下列公式计算:

(12)

如果数据是三维的,那么小面积干扰区域的坐标集合由下列公式计算:

(13)

二维网格通过下列公式去除小面积干扰区域:

(14)

三维网格通过下列公式去除小面积干扰区域:

(15)

在小面积干扰区域被去除之后,剩下的区域被重新标识。如果自动识别的连通域的总数与输入的聚类总数相同,那么终止邻近点及连通域连接过程。如果不相同,那么重复上述由公式(8)-(12)所描述的邻近点与连通域连接过程,直至自动识别的连通域的总数与输入的聚类总数相同。

如果数据是二维的,那么最后生成的自动标识的连通域内的点由表示。如果数据是三维的,那么最后生成的自动标识的连通域内的点由表示。其中l表示自动识别的连通域的总数,也就是输入的聚类总数。表示第l个连通域中正整数数据点的总数。

如果数据是二维的,那么它包含的第i个转换后正整数数据点到第l个连通域中的第k个点的欧式距离由下列公式计算:

(16)

如果数据是三维的,那么它包含的第i个转换后正整数数据点到第l个连通域中的第k个点的欧式距离由下列公式计算:

(17)

i个转换后正整数数据点,到第l个连通域的最短欧式距离由下列公式计算:

(18)

(19)

i个转换后正整数数据点的标识数字由下列公式计算:

(20)

当所有的正整数数据点被标记为之后,通过下列公式将其转换回原来的数据范围:

(21)

其中表示聚类后的数据点。

当数据中包含噪音时,本发明设置一个距离阈值td来区分数据点与噪音。相应的,转换后正整数数据点的标识数字由下列公式计算:

(22)

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1