目录
1 背景
2 聚类算法与遗传算法
2.1 聚类算法
2.2 遗传算法
3 国内外研究状况
3.1 国外研究
3.2 国内研究
4 基于遗传算法的聚类算法的应用研究
(1)遗传算法与K-means聚类算法的结合
(2)遗传算法与模糊c-均值(FCM)算法的结合
参考文献
基于遗传算法的聚类算法
1 背景
在研究样品或指标分类问题时,往往需要用到聚类算法,同时作为一种重要的统计分析算法,聚类算法也常常在数据挖掘中被使用到。
聚类分析最早起源于分类学,起初人们面对分类问题时,很少使用数学工具,更多凭借经验或者专业知识来为样品或指标划分类别。但随着科学技术的发展,对于分类的要求越来越高,通过经验或者专业知识划分的类别往往不够准确,难以满足要求。因此,在分类问题中人们逐渐引入数学工具帮助分类,这便产生了数值分类学,等到多元分析再被引入到数值分类学后,聚类分析正式产生。
聚类分析的用途十分广泛,比如许多网站会分析用户浏览数据,并从中为用户划分类别,它们概括出每一类用户的浏览习惯,针对不同类别的用户,推送不同的内容。而随着互联网的快速发展,网络信息的迅速膨胀,大数据逐渐走进人们的视野,作为如今火热的大数据重要算法之一,聚类算法具有很高的研究价值。
遗传算法最早由John holland于20世纪70年代提出,该算法模拟自然界生物遗传优胜劣汰原则,是一种利用遗传算子解决复杂优化问题的算法。遗传算法主要具有以下几个特点:同时处理群体中的多个个体,对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时使算法本身易于实现并行化;算法从问题解的串集开始搜索,而不是单个解开始,利于全局择优;遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用于适应度函数值来评估个体,在此基础上操作,适应度函数不受连续可微的操作,而且其定义域也可以任意设定,使其具有应用范围大的特点。
基于遗传算法的聚类算法的核心思想是将遗传算法和传统聚类算法有机结合起来,使传统聚类算法具备遗传算法的优势,从而达到改进传统聚类算法的目的。
2 聚类算法与遗传算法
2.1 聚类算法
聚类是对物理的或抽象的样本集合分组的过程,是将数据划分成有意义或有用的组或子集,也称为簇。簇(Cluster)是数据样本的集合,聚类分析使得每个簇内部的样本之间的相关性比其他簇中样本之间的相关性更紧密,即簇内部的样本之间具有较高的相似度,而不同簇的样本之间具有较高的相异度。样本间的距离通常是描述样本间相似度的度量指标。
聚类分析作为数据挖掘的一个重要功能,聚类分析能作为一个独立的工具来获取数据的分布情况,观察每个类的特点,集中对某些特定的类做进一步的分析。此外,聚类分析也可以作为其他算法(如关联分析和分类)的预处理步骤,这些算法再在生成的类上进行处理,这样可以大大提高这些算法的执行效率。因此聚类分析已经成为数据挖掘领域中一个非常活跃的研究课题,已经开发了许多有效的聚类算法,新的算法还在不断涌现。[1]
2.2 遗传算法
Holland创建的遗传算法是一种概率搜索算法,它是利用某种编码技术作用于称为染色体的二进制数串,其基本思想是模拟由这些串组成的群体的进化过程。遗传算法通过有组织的然而是随机的信息交换来重新结合那些适应性好的串,在每一代中,利用上一代串结构中适应性好的位和段来生成一个新的串的群体;作为额外增添,偶尔也要在串结构中尝试新的位和段来代替原来的部分。遗传算法是一类随机算法,但它不是随机的简单走动,它可以有效地利用已有的信息来搜寻那些有希望改善解质量的串。类似于自然进化,遗传算法通过作用于染色体上的基因,寻找好的染色体来求解问题。与自然界相似,遗传算法对求解问题的本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应值来选择染色体,使适应性好的染色体比适应性差的染色体有更多的繁殖机会。
遗传算法利用简单的编码技术和繁殖机制来表现复杂的现象,从而解决非常困难的问题。特别是由于它不受搜索空间的限制性假设的约束,不必要求诸如连续性、导数存在和单峰等假设,以及其固有的并行性,遗传算法目前已经在最优化、机器学习和并行处理等领域得到了越来越广泛的应用。[2]