首页
学习
活动
专区
工具
TVP
发布

机器学习 遗传算法

考完六级我又满血复活啦,小伙伴们有没有想我呀,嘿嘿嘿,一定是有的吧。这次考六级可谓是呕心沥血了,不过还好结果还不错。

顺带提醒一下,今天是父亲节,记得给你们的爸爸打电话送祝福哦!!!

好啦,废话不多说,我们来开启今天的主题吧,那就是遗传算法啦。在这个愉快的节日里,就说一些相对轻松的内容吧。我们这次的遗传算法模块较多,所以分块也就较多,应该会有四次。

我们先来了解一下遗传算法的内容吧:

遗传,很容易就让我们想到了高中生物中学到的那些知识,没错,我们的遗传算法就是在自然界生物的进化中找到经验总结成算法。总的来说就是物竞天择,适者生存。

遗传算法可以用于处理数据域庞大的问题,然后选择出自己需要的数据。比如,我们要在-1~1中以10^(-10)的精度选择出我们需要的数据,如果把每个算出来,再进行比较你可以想象一下这需要多少次计算比较。但是遗传算法,可以帮助我们更快地找到需要的数据,具体的情况,下次实际操作中我们再来体会。

遗传算法的具体步骤就和我们种群的进化一样,有着自然界的选择,交叉以及变异:

1.自然界用染色体为我们编码,那我们仿照自然界可以用自己的方式为我们的变量空间编码(这个编码就是按照自己的需要灵活多变,常见编码有二进制编码),再产生一个特定大小的种群。

2.计算每一个染色体对环境的适应度。例,假如我们需要找到某个数集中映射到输入最大的点,那么我们用当前的数映射到输出的大小来作为适应度;

3.根据适应度我们可以进行选择下一代种群的染色体组成,此处常用赌盘法,但是也可以根据需要找到其他算法。

4.模仿自然界中的变异,我们也对染色体进行变异操作(此步骤可以帮助我们更加精确找到最适点)

5.我们经过选择,交叉,变异后获得了一个新的种群,继续进行第二个步骤,循环直到达到了我们想要的结果。

这就是遗传算法大概的框架啦,下次就是编码,适应度计算和赌盘法啦。有兴趣也可以自己事先学习哦。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180617G1FCK400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券