遗传算法聚类分析

  • 遗传算法基本概念
  • 遗传算法的构成要素
  • 控制参数的选择
  • 基于遗传算法的聚类分析

一、遗传算法基本概念

**遗传算法**(Genetic Algorithms, GA)是一种搜索最优解方法,模拟生命进化机制。对于复杂的优化问题无须建模和进行复杂运算,只要利用遗传算法的三个算子就能得到最优解。
1、术语介绍:个休、群体、基因、选择、交叉、变异等
2、遗传算法进行问题求解过程:
     **编码**:将问题解空间的可行解表示成遗传空间的基因型串结构数据,串结构数据的不同组合构成了不同的可行解
     **生成初始群体**:随机产生n个初始串结构数据,每个串结构数据成为一个个休,n个个体组成一个群体,遗传算法以该群体作为初始迭代点
     **适应度评估检测**:根据实际标准计算个体的适应度,评判个体的优劣,即该个体所代表的可行解的优劣
     **选择**:从当前群体中选择优良的(适应度高的)个体,使它们有机会被选中进入下一次迭代过程,舍弃适应度低的个体。体现了进化论的“适者生存“原则
     **交叉**:遗传操作,下一代中间个体的信息来自父辈个体,体现了信息变换的原则
     **变异**:随机选择中间群体中的某个个体,根据变异概率Pm大小决定是否改变个体某位基因的值。变异为产生新个体提供了机会
 3、遗传算法的特点
 a、遗传算法以问题参数的编码集为处理对象
 b、遗传算法求解是从问题的解位串集开始搜索,而不是从单个解开始搜索,搜索空间范围大,降低了陷入局部最优的可能性
 c、遗传算法仅使用目标函数来进行搜索,不需要其他辅助信息
 d、遗传算法的三个遗传算子(选择、交叉、变异)是随机的
 e、隐含的并行性
 f、可扩展性,易于同别的技术相结合

二、遗传算法的构成要素

1、染色体的编码
常用的编码方法有二进制编码、符号编码方法
2、适应度函数
在遗传算法中,模拟自然选择的过程主要通过评估函数和适应度函数来实现的。前者计算每个个体优劣的绝对值,后者计算每个个体相对于整个群体的相对适应性。个体适应度的大小决定它继续繁衍还是消亡
3、遗传算子
a、选择算子是建立在对个体适应度进行评价的基础上,目的是避免基因损失,提高全局收敛性和计算效率。常用的操作方法有:赌轮选择方法、排序选择法、最优保存策略
b、交叉算子模仿自然界有性繁殖的基因重组过程,其作用在于将原有的优良基因遗传给下一代个体,并生成包含更复杂结构的新个体。通常有一点交叉、两点交叉、多点交叉和一致交叉等。
c、变异算子以一定的概率选择个体染色体中的某一位或几位,随机地改变该位基因值,以达到变异的目的。

三、控制参数的选择

主要参数有染色体位串长度L,群体规模n,交叉概率Pc和变异概率Pm

四、基于遗传算法的聚类分析

1、问题提出
聚类问题的特点是事先不了解一批样品中的每一个样品的类别或者其他的先验知识,而唯一的分类根据是样品的特性,利用样品的特性来构造分类器。聚类算法的重点是寻找特征的相似性。
实例:一幅图像中含有12个手写体数字图案,要分成4类,遗传算法在解决这种聚类问题上表现非常出色,它不仅运算速度快,而且准确率高。如何做的呢?
遗传算法聚类分析_第1张图片
2、染色体的构造
采用符号编码,位串长度L取12位,基因代表样品所属的类号(1-4),基因位的序号代表样品的编号,基因位的序号是固定的,也就是说某个样品在染色体中的位置是固定的,而每个样品所属的类别随时在变化。如果基因位为n,则其对应第n个样品,而第n个基因位所指向的基因值代表第n个样品的归属类号。
每个个体包含一种分类方案。设初始某个个体的染色体编码为(2,3,2,1,4,4,2,3,1,3,2,3),这时还处于假设分类情况,不是最优解
3、设定评估函数
评估函数CalculateObjectValue()结果为评估值,代表每个个体优劣的程度。
遗传算法聚类分析_第2张图片
遗传算法聚类分析_第3张图片
4、设定适应度函数
适应度函数是整个遗传算法中极为关键的一部分。好的适应度函数能够从非最优的个体进化到最优个体,能够解决过早收敛与过慢结束的矛盾。
适应度函数CalculateFitnessValue()结果代表每个个体相对于整个群体的相对适应性。这里不以population[i].value直接作为该分类方法的适应度值,采用的方法是适应度排序法。被选择的几率只与序号有关,计算步骤如下:
遗传算法聚类分析_第4张图片
5、遗传算子
1)选择算子
遗传算法聚类分析_第5张图片
遗传算法聚类分析_第6张图片
6、实现步骤
遗传算法聚类分析_第7张图片
遗传算法聚类分析_第8张图片
遗传算法聚类分析_第9张图片

五、编程代码

遗传算法聚类分析_第10张图片
这里写图片描述
这里写图片描述
遗传算法聚类分析_第11张图片

你可能感兴趣的:(聚类)