ml-chap09..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ml-chap09.

遗传算法 遗传算法提供了一种大致基于模拟进化的学习方法。其中的假设常被描述为二进制位串,位串的含义依赖于具体的应用。然而,假设也可以被描述为符号表达式或者甚至是计算机程序。对合适假设的搜索是从若干初始假设的群体(population)或汇集(collection)开始的。当前群体的成员通过模仿生物进化的方式来产生下一代群体,比如说随机变异(mutation)和交叉 遗传算法(GA)提供了一种受生物进化启发的学习方法。它不再是从一般到特殊或从简单到复杂地搜索假设,而是通过变异和重组当前已知的最好假设来生成后续的假设。在每一步,被称为当前群体(population)的一组假设被更新,方法是通过使用目前适应度最高的假设的后代替代群体的某个部分。这个过程形成了对假设的生成并测试(generate-and-test)柱状搜索(beam-search),其中若干个最佳当前假设的变体最有可能在下一步被考虑。GA的普及和发展得益于以下因素: 在生物系统中进化被认为是一种成功的自适应方法,并且具有很好的鲁棒性。 GA搜索的假设空间中,假设的各个部分相互作用,每一部分对总的假设适应度的影响难以建模。 遗传算法易于并行化,且可降低由于使用超强计算机硬件的带来的昂贵费用。 这一章描述了遗传算法,举例演示了它的用法,并分析了它搜索的假设空间的特性。我们也描述了它的一个变体,称为遗传编程,在这种方法中,整个计算机程序向着某个适应度准则进化。遗传算法和遗传编程是进化计算(evolutionary computation)领域的中的两种流行方法。在本章的最后一节我们将接触一些研究生物进化的课题,包括鲍德温效应(Baldwin effect),它描述了个体的学习能力与整个群体进化速度之间有趣的相互作用。 遗传算法 GA研究的问题是搜索一个候选假设的空间,以确定最佳的假设。在GA中,“最佳假设”被定义为是使“适应度(fitness)”最优的假设,适应度是为当前问题预先定义的数字度量。例如,如果学习任务是在给定一个未知函数的输入输出训练样例后逼近这个函数,那么适应度可被定义为假设在训练数据上的精度。如果任务是学习下国际象棋的策略,那么适应度可被定义为该个体在当前群体中与其他个体对弈的胜率。 尽管遗传算法的不同实现在细节上有所不同,但它们都具有以下的共同结构:算法迭代更新一个假设池,这个假设池称为群体。在每一次迭代中,根据适应度函数评估群体中的所有成员。然后从当前群体中用概率方法选取适应度最高的个体产生新的一代。在这些被选中的个体中,一部分保持原样地进入下一代群体,其他的被用作产生后代个体的基础,其中应用象交叉和变异这样的遗传方法。 表9-1描述了一个遗传算法原型。算法的输入包括:用来排序候选假设的适应度函数;定义算法终止时适应度的阈值;要维持的群体大小;和决定如何产生后继群体的参数:每一代群体中被淘汰的比例和变异率。 表9-1 遗传算法原型 算法中维持一个包含p个假设的群体。在每一次迭代中,后继群体PS的形成通过两种途径:根据假设的适应度用概率方法选择个体,以及加入新假设。新假设通过两种方法得到:对最高适应度假设对应用交叉算子;对通过选择和交叉产生的新一代群体中的部分假设进行单点变异。重复这个迭代过程,直到发现适应度足够好的假设。典型的交叉和变异算子定义在后面的表格中。 GA(Fitness, Fitness_threshold, p, r, m) Fitness:适应度评分函数,为给定假设赋予一个评估得分。 Fitness_threshold:指定终止判据的阈值。 p:群体中包含的假设数量。 r:每一步中通过交叉取代群体成员的比例。 m:变异率。 初始化群体:P?随机产生的p个假设 评估:对于P中的每一个h,计算Fitness(h) 当[Fitness(h)]Fitness_threshold,做: 产生新的一代PS: 选择:用概率方法选择P的(1-r)p个成员加入PS。从P中选择假设hi的概率Pr(hi)通过下面公式计算: 交叉:根据上面给出的Pr(hi),从P中按概率选择r?p/2对假设。对于每一对假设h1, h2应用交叉算子产生两个后代。把所有的后代加入PS。 变异:使用均匀的概率从PS中选择m百分比的成员。对于选出的每个成员,在它的表示中随机选择一个位取反。 更新:P?PS。 评估:对于P中的每一个h计算Fitness(h) 从P中返回适应度最高的假设。 在这个算法的每一次迭代中,基于当前的群体产生新一代的假设。首先,从当前的群体中选择一定数量的假设包含在下一代中。这些假设是用概率方法选择的,其中选择假设hi的概率是通过下式计算的: (9.1) 因此,一个假设被选择的概率与它自己的适应度成正比,并且与当前群体中其他竞争假设的适应度成反比。 在当

文档评论(0)

xznh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档