- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据挖掘算法之遗传算法
遗传算法(GA,Genertic Algorithm)是一种基于生物进化过程中自然选择与遗传机制的模拟算法,它广泛应用于机器学习、模式识别、控制系统优化及数据挖掘等领域中,在数据挖掘中它不公可以用于聚类分析,也可用于分类分析。
遗传算法的基本流程如下图:
遗传编码
由问题空间向GA编码空间的映射称为编码,反之则称为解码。遗传编码是遗传算法的基础,一般要体现两个原则:
编码方案应与问题本身相关性大,而与其它编码方案相关性小
编码方案应采用最小字符集,以使问题得到自然、简单的表示和描述
二进制编码是最基础的编码方式,应用范围非常广泛,其它编码方式有大字符集编码、序列编码、实数编码、树编码、自适应编码、乱序编码等。
适应值函数(评价函数)
是评估染色体的主要工具,其设置分为三个步骤:
确定目标函数:遗传算法中有一个求解问题的目标,而这个目标可以用一个函数来表示,这个函数就叫目标函数。目标函数应预先设定。
从目标函数到适应值函数的转换:由于目标函数的值范围不定,而适应值函数的值一般是非负数为主,以表示染色体的适应程度,因此需要建立一个由目标函数到适应值函数间的转换。
适应值调整:适应值函数计算出来的适应值需作适当调整,使其控制在一定数值区间内,以避免不同染色体间的适应值差距过大而引起的不一致性。
遗传算子
遗传算法利用遗传算子产生新一代群体来实现群体进化,算子的设计是遗传策略的主要组成部分,也是调整和控制进化过程的基本工具。
选择:按照某种策略从父代种群中选择一些染色体(不作任何改动)进入下一代种群,常用的选择算法有适应值比例选择、Boltzmann选择、排序选择、联赛选择、精英选择、稳态选择等。
交叉:随机从种群中抽取两个染色体,根据染色体位串长度L,随机选取[1, L-1]中的一个或多个的整数k作为交叉位置,然后根据交叉概率pc,实施交叉操作,即两个染色体在交叉位置处,相互交换各自的部分内容,从而形成新的一对染色体。常用的形式有一点交叉、两点交叉、多点交叉、一致交叉等。
变异:根据变异概率pm随机反转某一染色体位串中的某些位。
群体设定及初始化
群体规模对遗传算法的性能影响很大。群体规模越大,群体中个体的多样性越高,算法陷入局部解的危险性就越小,但随着群体规模增大,计算量也显著增加。若群体规模太小,使遗传算法的搜索空间受到限制,则可能产生求成熟收敛的现象。
初始群体中的个体一般是随机产生的,在实际应用中,可灵活选择。
停止准则
一般采用设定最大代数的方法,这个方法简单易行,但不太准确。也可以根据群体的收敛程度来判断,通过计算种群中的基因多样性测试,即所有基因位的相似性程度来进行控制。或者当适应值不再提高即可停止。
参数建议
遗传算法在求解过程中需要提前设定四个运算参数,它们是:
M:种群大小,即种群中所含染色体的数量,一般为20~100
T:遗传运算的终止进化代数,一般为100~500
pc:交叉概率,一般取0.60~1.00
pm:变异概率,一般取0.005~0.01
三种基本算子:
选择
交叉
变异
结束
位串解码得参数
计算目标函数值
函数值向适应值映射
适应值调整
群体P(t)
(
群体P(t+1)
遗传操作
满足停止准则?
评价群体
初始化群体P(t)
对参数集进行编码
确定实际问题参数集
文档评论(0)