论文部分内容阅读
近年来随着信息技术的快速发展,各行各业都积累了越来越多的数据,如何从这些海量数据中挖掘出有用的信息便成了一个很大的困难。随着人工智能技术的发展,数据挖掘技术逐渐被提出来了,用以发掘隐含的信息和数据的内在模式。聚类分析是数据挖掘的经典内容,聚类算法的应用领域包括商务决策、基因分类、图像识别、语义识别、字符识别和数据压缩。聚类技术目前已有的方法有划分的、层次的、密度的、网格的、模型的、统计学的、高维的和约束的方法。本文对聚类分析中的K-均值算法和K-中心点算法进行了研究,具体工作如下:首先,对前人在K-均值算法和K-中心点算法方面所做的工作进行了详细的分析和归纳,提出了要研究的问题。其次,对K-均值算法进行了研究,K-均值算法具有简单和快速的特点,在现实生活中得到广泛的应用。但K-均值算法存在一些缺陷,针对K-均值算法中存在的K值难以确定、K个中心的位置难以选取、孤立点影响聚类效果和只能处理球状类数据等四个缺陷,提出了改进的K-均值算法,该算法可同时克服这些问题;针对K-均值算法中需要人工输入K值的问题,提出了自动获取K-均值聚类参数K值的算法,该算法不再需要人工输入K值,提高了算法的自动化处理能力。通过实验,对算法进行了验证,实验结果表明改进的算法有效的提高了算法的性能。最后,对K-中心点算法中的代表算法PAM(Partitioning Around Medoids,围绕中心点的划分)算法进行了研究,K-中心点算法是在K-均值算法对离群点敏感这样的背景下提出来的一类算法。该类算法具有很好的鲁棒性,但随着数据的增多计算代价显著增高,且其代价函数是通过平均相异度来评估的,当出现两个负代价相等时,容易陷入死循环。针对K-中心点算法容易陷入局部最优的缺陷,提出了采用K-均值预处理回溯法对其进行改进,得到了基于K-均值预处理回溯法的PAM算法(K-means Data Preprocessing Backward Search PAM ,简称KDPBS-PAM)。用回溯的方法使得出现负代价相等情况时,能够跳出死循环,通过预处理方法来加快计算速度。用C语言对算法进行了仿真,仿真结果表明,所提算法能够克服死循环的缺陷而且运算速度得到了加快。