论文部分内容阅读
聚类算法是指将具有多个属性的数据集分组成多个类的一种方法,在相同的类中,数据的相似性较大,而在不同的类中,其差异性较大,所以通常在应用时,可以将同一个类中的数据看作统一的整体。在大数据时代的今天,每天都在产生着海量的数据,对这些数据的适当处理和合理应用变得尤为重要。聚类分析是数据挖掘的重要手段之一,被广泛应用于各个领域。例如在商务上,聚类能帮助发现购买模式相近的顾客从而挖掘消费群体特征;聚类还广泛应用在基因和蛋白质的分类上,能发现表达相似的基因或蛋白质,这样便于研究它们的内在结构,给生物医疗、植物学、动物学等带来了很大的进展;在金融领域,利用聚类分析发现离群点,可以识别欺诈和金融犯罪行为。如今,聚类分析已是一个十分重要的研讨课题,不少学者在这方面做出了意义非凡的成果。聚类不同于分类,是没有训练过程的,事先并不清楚要分成几个组和什么样的组,其类别在聚类过程中生成。其中比较常用的有系统聚类法和基于蚂蚁成堆的蚁群聚类算法。但是在实际操作中,往往可以通过一些先验知识或者假定事先确定类别数,这样便于算法实现。最为经典的聚类算法莫过于K-Means方法,它的收敛速度极快并且非常易于实现,但是其最大的弱点是容易陷入局部最优和对初始聚类中心敏感。XK-Means方法对K-Means做了改进,对聚类中心加了随机探测向量进行扰动,这样可以适当地减轻其容易陷入局部最优的缺点,但是,扰动操作可能在聚类过程中产生空类继而导致运算过程中断。为此,本文针对这些缺点,提出一种填补空类的IXK-Means方法,结合了K-Means和XK-Means的优势,算法又可操作,然而这样的改进还是不够,IXK-Means仍然有陷入局部最优的可能。考虑到遗传机制可以达到全局最优,本文提出将遗传算法与IXK-Means方法混合,即用IXK-Means操作代替遗传算法中的交叉操作,从而得到一种新的遗传IXK-Means算法,简称GIXK算法。该算法收敛到全局最优解,并且与另一种全局最优的遗传K均值算法相比,其收敛速度更快。然而,该算法需要事先确定类别数,若对于一个没有先验知识的数据集,往往因为不确定其类别数而难以恰当操作。在此基础上,本文提出一种设想,将蚁群聚类算法混合到GIXK算法中,即先利用蚁群聚类确定大致类别数,再用GIXK算法快速聚类,这样不仅能收敛到全局最优,而且对于任何数据集都可操作。本文通过数值实验和理论证明验证了GIXK算法相比其他几种算法能得到更好的聚类结果并且收敛到全局最优解。