=遗传算法.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当
max h
Fitness(h)
<Fitness_threshold,产生新一代PS,做:
选择:用概率方法选择P的(1-r)p个成员加入PS,概率公
式是
Pr(hi )
Fitness(hi )
p
Fitness(hj )
j 1
交叉:按概率从P中选择rp/2对假设,对于每对假设 <h1,h2>,应用交叉算子产生两个后代,把所有的后代 加入PS
每一步,更新被称为当前群体的一组假设,方法 是使用当前适应度最高的假设的后代替代群体的 某个部分
这个过程形成了假设的生成测试的柱状搜索,其 中若干个最佳当前假设的变体最有可能在下一步 被考虑
4
动机(2)
遗传算法的普及和发展得益于下面的因素
在生物系统中,进化被认为是一种成功的自适应方法,具有 很好的健壮性
Fitness:适应度评分函数 Fitness_threshold:指定终止判据的阈值 p:群体中包含的假设数量 r:每一步中通过交叉取代群体成员的比例 m:变异率
Pr(hi )
Fitness(hi )
p
Fitness(hj )
j 1
9
初始化群体:P随机产生的p个假设
评估:对于P中每个假设h,计算Fitness(h)
遗传算法搜索的假设空间中,假设的各个部分相互作用,每 一部分对总的假设适应度的影响难以建模
遗传算法易于并行化
5
主要内容
动机 遗传算法 举例 假设空间搜索 遗传编程 进化和学习模型 并行遗传算法 小结合补充读物
6
9.2遗传算法
遗传算法研究的问题是搜索候选假设空间并 确定最佳假设
锦标赛选择,先从当前群体中随机选取两个假设,再 按照事先定义的概率p选择适应度较高的假设,按照 概率1-p选择适应度较低的假设
排序选择,当前群体中的假设按适应度排序,某假设 的概率与它在排序列表中的位置成比例,而不是与适17 应度成比例
变异:使用均匀的概率从PS中选择m%的成员,应用变 异算子
更新:PPS
评估:对于P中每个h计算Fitness(h)
10
遗传算法(3)
算法的每一次迭代以3种方式产生新一代群 体
直接从当前群体中选择 在选中的个体中进行交叉操作 在新群体上进行变异操作
遗传算法执行一种随机的、并行柱状的搜索, 根据适应度函数发现好的假设
多个属性约束的合取可以很容易地表示为对应位串的连接 整个规则表示可以通过把描述规则前件和后件的位串连接
起来 12
表示假设(2)
位串的特点
表示规则的位串对假设空间中的每个属性有一个 子串,即使该属性不被规则的前件约束。
得到一个固定长度的规则位串表示,其中特定位 置的子串描述对应特定属性的约束
11
表示假设
遗传算法中的假设常常被表示成二进制位串,这便 于用变异和交叉遗传算子来操作
把if-then规则编码成位串
首Байду номын сангаас使用位串描述单个属性的值约束
比如考虑属性Outlook,它的值可以取以下3个 中的任一个:Sunny、Overcast、Rain,因此一 个明显的方法是使用一个长度为3的位串,每 位对应一个可能值,若某位为1,表示这个属 性可以取对应的值
变异经常是在应用交叉之后
其他算子
使规则特化的算子 直接泛化
16
适应度函数和假设选择
适应度函数定义了候选假设的排序准则
如果学习任务是分类的规则,那么适应度函数中会有 一项用来评价每个规则对训练样例集合的分类精度, 也可包含其他的准则,比如规则的复杂度和一般性
选择假设的概率计算方法
适应度比例选择(或称轮盘赌选择),选择某假设的 概率是通过这个假设的适应度与当前群体中其他成员 的适应度的比值得到的
遗传算法已被成功用于多种学习任务和最优化问题
中,比如学习机器人控制的规则集和优化人工神经
网络的拓扑结构和学习参数
2
主要内容
动机 遗传算法 举例 假设空间搜索 遗传编程 进化和学习模型 并行遗传算法 小结合补充读物
3
9.1动机
遗传算法(GA)是一种受生物进化启发的学习 方法,它不再是从一般到特殊或从简单到复杂地 搜索假设,而是通过变异和重组当前已知的最好 假设来生成后续的假设
双亲中的哪一个在第i位起作用,由另一个称为交叉 掩码的位串决定:
单点交叉:前n位来自第一个双亲,余下的位来自第二 个双亲
两点交叉:用一个双亲的中间片断替换第二个双亲的中 间片断
均匀交叉:合并了从两个双亲以均匀概率抽取的位
15
遗传算子(2)
变异:
从单一双亲产生后代,对位串产生随机的小变 化,方法是选取一个位,然后取反
规则集的表示:单个规则的位串表示连接起 来
有必要让每个句法合法的位串表示一个有意 义的假设
假设也可以用符号描述来表示,而不是位串,
比如计算机程序
13
遗传算子
遗传算法使用一系列算子来决定后代,算子对当 前群体中选定的成员进行重组
最常见的算子是交叉和变异
14
交叉:
从两个双亲串中通过复制选定位产生两个新的后代, 每个后代的第i位是从它的某个双亲的第i位复制来的
算法迭代更新一个假设池,这个假设池称为群体 在每一次迭代中,根据适应度评估群体中的所有
成员,然后用概率方法选取适应度最高的个体产 生新一代群体 在被选中的个体中,一部分保持原样地进入下一 代群体,其他被用作产生后代个体的基础,其中 应用交叉和变异这样的遗传方法
8
表9-1 遗传算法原型
GA(Fitness, Fitness_threshold, p, r, m)
最佳假设被定义为使适应度最优的假设
适应度是为当前问题预先定义的数字度量,比如:
如果学习任务是在给定一个未知函数的输入输出训 练样例后逼近这个函数,适应度可被定义为假设在 训练数据上的精度
如果是学习下国际象棋的策略,适应度可被定义为 该个体在当前群体中与其他个体对弈的获胜率
7
遗传算法(2)
遗传算法具有以下的共同结构:
遗传算法
1
概述
遗传算法是一种大致基于模拟进化的学习方法
假设通常被描述为二进制位串,也可以是符号表达 式或计算机程序
搜索合适的假设从若干初始假设的群体或集合开始
当前群体的成员通过模拟生物进化的方式来产生下 一代群体,比如随机变异和交叉
每一步,根据给定的适应度评估当前群体中的假设, 而后使用概率方法选出适应度最高的假设作为产生 下一代的种子