- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器学习
进化计算
复旦大学 赵卫东 博士
wdzhao@fudan.edu.cn
章节介绍
• 进化计算包括遗传算法、进化策略和基因编程等。进化计算是受进化生物
学启发而发展起来的计算模型,其实现过程基于达尔文的生物进化原理,
将现实问题转化为基因染色体表示,通过染色体操作,逐步逼近最优解。
本章主要是介绍遗传算法的概念、实现方法等基础知识,并结合实例对蚁
群算法和蜂群算法做出介绍。
章节结构
• 遗传算法的基础
– 基因重组与基因突变
– 遗传算法实现技术
– 遗传算法应用案例
遗传算法的基础
• Holland 在上世纪60年代提出了了遗传算法遗传算法是进化计算的一个分支
,是一种模拟自然界生物进化过程的随机搜索算法。
• 遗传算法首先对问题进行编码,然后随机初始化种群,每个个体对应一个
编码。通过适应度函数以及选择函数来进行对个体的淘汰,保留优良个体
基因,产生新的子代。
• 遗传算法中有一些基本概念:
选择算子:根据适应值把个体按比例进行淘汰,从而提高群体的适应值。
交叉算子:种群中随机选择两个个体,交换染色体部分编码,产生两个新
的子个体。
变异算子:以一个很小的概率随机改变染色体上的某个基因来增加群体的
多样性。
基因重组与基因突变
议程
• 交叉运算可以被分为以下五种情况:
– 单点交叉
– 两点交叉和多点交叉
– 均匀交叉
– 算术交叉
– 基因突变
议程单点交叉
• 单点交叉也叫简单交叉,只在个体编码中随机设置一个交叉点,在该点互
换两个配对个体的部分染色体。在单点交叉情况下,个体两两配对,其中
每一对配对的个体都依照设定的交叉概率在交叉点处相互交换后续的染色
体编码串,从而产生两个新的个体。
双亲 后代
X1 1000 | x1* 1000
X2 0110 | x2* 0110
两点交叉和多点交叉
议程
• 两点交叉是指在个体编码中随机设置了两个交叉基因点,然后再进行部分
基因片段的交换,交换的部分就是所设定的两个交叉点之间的部分染色体
。将单点交叉和两点交叉的概念加以推广,扩展到多点交叉。就是在个体
编码串中随机设置多个交叉点,然后进行基因片段的交换。但在实际的遗
传算法中,一般不使用多点交叉算子。因为交叉点增多,个体结构被破坏
的可能性就更大,个体基因的稳定性就难以保持,从而可能会影响到遗传
算法的效率。
议程均匀交叉
• 均匀交叉可以看成是多点交叉的一种特殊形式,是指两个配对个体的每个
基因位上的基因都以相同的概率进行交换,组合成两个新的个体。具体的
运算可以设置一串规则来确定新个体每个位置的基因如何继承哪一个父类
基因位。
议程算术交叉
• 算术交叉是指两个个体通过线性组合产生两个新的子代个体。采用这种交
叉方式的遗传算法通常采用浮点编码染色体。例如A 、B为父体。配对后两
个子代为a和b,a=mA+(1‐m)B,b=mB+(1‐m)A。m可以取一个常数,也可以
选择一个由参数决定的变量。
议程基因突变
• 基因突变是指染色体编码的某一位基因上的改变。基因突变使一个基因变
成了它的等位基因,并且通常会引起一些表现型上的变化。
• 二进制编码中,基因突变是指按照一定概率将基因串上的0、1取反。
• 浮点型编码中,基因突变指的是将原来的浮点数增加或者减少一个小随机
数。
例:100011000110 100011010110
遗传算法的步骤
议程
• 随机产生一组初始个体构成初始种群,并评价每个个体的适应值;
• 判断算法收敛准则是否满足,满足输出搜索结果,否则执行下面的步骤;
• 根据适应值大小以一定方式进行选择操作;
• 按交叉概率p 执行交叉操作
c
•
文档评论(0)