论文部分内容阅读
聚类分析是对数据的探索性分析的重要环节,在电力、医学、金融、生物、图像分割、模式识别、社会学等许多领域都得到广泛运用。随着信息技术的发展,数据量呈指数级增长,为了适应数据量变大且数据集中类的形状变复杂的趋势,本文提出了能发现任意形状的类且复杂度低的Snake算法和Grid-SL算法。
本文提出的第一个算法是Snake算法。它是分裂与融合的聚类算法。算法首先将样本空间进行划分;然后在分裂过程中,生成了一条连接所有的点的简单路径,然后依据简单路径上的边长分布,获得边长阈值的信息,依据边长的阈值,将数据集分割成多个小簇;在融合过程中,提出了一个新的簇间距离计算公式,用簇的代表点的最短距离作为簇间距离,减少簇间距离的计算量,然后通过网格结构进一步减少不必要的簇间距离的计算,最终获得融合后的聚类结果。该算法能发现非球形类,也可以在聚类过程中通过网格密度的阈值识别出噪音,而且算法复杂度为O(n),在生成的数据集上验证了Snake算法的有效性。
我们提出的第二个算法是Grid-SL算法,它用Snake算法中的技术改进了SL(single-link)算法时间复杂度高的缺点。而且相较于SL算法,Grid-SL算法没有引入新的参数。通过实验发现,Grid-SL算法通过网格结构,使得算法的运行时间相较于SL算法有了显著的提升,在SL算法的多种改进算法中,Grid-SL算法的运行速度是最快的。Grid-SL聚类的输出与SL算法的一致,SL算法的其他改进算法不能保证聚类结果保持一致。
本文提出的第一个算法是Snake算法。它是分裂与融合的聚类算法。算法首先将样本空间进行划分;然后在分裂过程中,生成了一条连接所有的点的简单路径,然后依据简单路径上的边长分布,获得边长阈值的信息,依据边长的阈值,将数据集分割成多个小簇;在融合过程中,提出了一个新的簇间距离计算公式,用簇的代表点的最短距离作为簇间距离,减少簇间距离的计算量,然后通过网格结构进一步减少不必要的簇间距离的计算,最终获得融合后的聚类结果。该算法能发现非球形类,也可以在聚类过程中通过网格密度的阈值识别出噪音,而且算法复杂度为O(n),在生成的数据集上验证了Snake算法的有效性。
我们提出的第二个算法是Grid-SL算法,它用Snake算法中的技术改进了SL(single-link)算法时间复杂度高的缺点。而且相较于SL算法,Grid-SL算法没有引入新的参数。通过实验发现,Grid-SL算法通过网格结构,使得算法的运行时间相较于SL算法有了显著的提升,在SL算法的多种改进算法中,Grid-SL算法的运行速度是最快的。Grid-SL聚类的输出与SL算法的一致,SL算法的其他改进算法不能保证聚类结果保持一致。