- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机]ch9 现代数据挖掘技术--遗传算法
遗传算法(Genetic Algorithm,简称GA)是一种概率搜索算法,它通过模拟自然界生物进化机制,根据优胜劣汰的生物进化原则,能够在较大的参数空间中较快地搜索到问题的最优解。它尤其适用于处理传统搜索方法中难以解决的复杂和非线性问题。不仅避免了局部优化算法的缺陷,而且可以利用固有知识缩小搜索空间,避免其它全局优化算法产生搜索的组合爆炸。遗传算法以其简单通用、鲁棒性强、适用于并行处理等特点,广泛应用于组合优化、机器学习、规划设计、人工生命等领域。 2.遗传算法的步骤: 问题:求解 在[0,31] 上的最大值。 1)编码:用5位二进制表示x,有 x=0 即00000 x=31 即11111 2)初始种群 随机产生4个个体:13,24,8,19(分别用二进制表示)。 3)适应值f 直接用目标函数作为适应值: a.非负; b.逐步增大。 4)选择率和期望值 选择率: 平均适应值: 期望值: 5)实选值 期望值取整数。如下表: 表1:初始种群参数计算 表2:初始种群的遗传过程 表3:新种群参数计算 表4:新种群的遗传过程 遗传算法在适应度函数选择不当的情况下有可能收敛于局部最优,而不能达到全局最优。 对于动态数据,用遗传算法求最优解比较困难,因为染色体种群很可能过早地收敛,而对以后变化了的数据不再产生变化。 为防止过早的收敛,研究者提出了一些方法增加基因的多样性。其中一种是所谓触发式超级突变,就是当染色体群体的质量下降(彼此的区别减少)时增加变异概率;另一种叫随机外来染色体,是偶尔加入一些全新的随机生成的染色体个体,从而增加染色体多样性。 选择过程很重要,但交叉和变异的重要性存在争议。一种观点认为交叉比变异更重要,因为变异仅仅是保证不丢失某些可能的解;而另一种观点则认为交叉过程的作用只不过是在种群中推广变异过程所造成的更新,对于初期的种群来说,交叉几乎等效于一个非常大的变异率,而这么大的变异很可能影响进化过程。 遗传算法很快就能找到良好的解,即使是在很复杂的解空间中。 遗传算法并不一定总是最好的优化策略,优化问题要具体情况具体分析。所以在使用遗传算法的同时,也可以尝试其他算法,互相补充,甚至根本不用遗传算法。 遗传算法不能解决那些“大海捞针”的问题,所谓“大海捞针”问题就是没有一个确切的适应度函数表征个体好坏的问题,遗传算法对这类问题无法找到收敛的路。 对于任何一个具体的优化问题,调节遗传算法的参数可能会有利于更好的更快的收敛,这些参数包括个体数目、交叉律和变异律。例如太大的变异律会导致丢失最优解,而过小的变异律会导致算法过早的收敛于局部最优点。对于这些参数的选择,现在还没有实用的上下限。 适应度函数对于算法的速度和效果也很重要。 遗传算法适用的问题 遗传算法擅长解决的问题是全局最优化问题,例如,解决时间表安排问题就是它的一个特长,很多安排时间表的软件都使用遗传算法,遗传算法还经常被用于解决实际工程问题。 遗传算法能够跳出局部最优而找到全局最优点。而且遗传算法允许使用非常复杂的适应度函数(或者叫做目标函数),并对变量的变化范围可以加以限制。 遗传算法的应用领域 汽车设计,包括材料选择、多目标汽车组件设计、减轻重量等。 机电系统设计。 分布计算机网络的拓扑结构。 电路设计,此类用途的遗传算法叫做进化电路。 电子游戏设计,例如计算平衡解决方案。 机器智能设计和机器人学习。 模糊控制系统的训练。 移动通讯优化结构。 时间表安排,例如为一个大学安排不冲突的课程时间表。 旅行推销员问题. 神经网络的训练,也叫做神经进化。 * * 9.3 遗传算法 1.遗传算法的基本原理 达尔文的“适者生存”理论、继承的信息由基因携带 、多个基因组成了染色体 、基因座、等位基因 、基因型和表现型 染色体对应的是一系列符号序列,通常用0、1的位串表示 进行生物的遗传进化。在这一过程中包括三种演化操作:在父代基因群中的双亲选择操作、两个父代双亲产生子代基因的交叉操作和在子代基因群体中的变异操作。 两种数据转换:从表现型到基因型的转换,另一种是从基因型到表现型的转换 遗传算法实质上是一种繁衍、检测和评价的迭代算法 最大优点是问题的最优解与初始条件无关,而且搜索最优解的能力极强 遗传算法可定义为一个8元组: GA = (C, E, P0, M, ?, ?, ?, T) 式中, C—个体的编码方法; E—个体适应值评价函数; P0—初始种群; M—群体大小; ?—选择算子; ?—交叉算子; ?—变异算子
文档评论(0)