本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:一文读懂遗传算法工作原理(附Python实现)

时间:2017-08-05 23:45来源:天下彩论坛 作者:118开奖 点击:
一文读懂遗传算法工作原理(附Python实现) 2017-08-05 11:20 来源:机器之心 生命科学/line/基因 原标题:一文读懂遗传算法工作原理(附Python实现) 选自 AnalyticsVidhya 参与:晏奇、黄小天

一文读懂遗传算法工作原理(附Python实现

2017-08-05 11:20 来源:机器之心 生命科学 /line /基因

原标题:一文读懂遗传算法工作原理(附Python实现

选自AnalyticsVidhya

参与:晏奇、黄小天

近日,Analyticsvidhya 上发表了一篇题为《Introduction to Genetic Algorithm & their application in data science》的文章,作者 Shubham Jain 现身说法,用通俗易懂的语言对遗传算法作了一个全面而扼要的概述,并列举了其在多个领域的实际应用,其中重点介绍了遗传算法的数据科学应用。机器之心对该文进行了编译,原文链接请见文末。

简介

几天前,我着手解决一个实际问题——大型超市销售问题。在使用了几个简单模型做了一些特征工程之后,我在排行榜上名列第 219 名。

wzatv:一文读懂遗传算法工作原理(附Python实现)

虽然结果不错,但是我还是想做得更好。于是,我开始研究可以提高分数的优化方法。结果我果然找到了一个,它叫遗传算法。在把它应用到超市销售问题之后,最终我的分数在排行榜上一下跃居前列。

wzatv:一文读懂遗传算法工作原理(附Python实现)

没错,仅靠遗传算法我就从 219 名直接跳到 15 名,厉害吧!相信阅读完本篇文章后,你也可以很自如地应用遗传算法,而且会发现,当把它用到你自己正在处理的问题时,效果也会有很大提升。

目录

1、遗传算法理论的由来

2、生物学的启发

3、遗传算法定义

4、遗传算法具体步骤

初始化

适应度函数

选择

交叉

变异

5、遗传算法的应用

特征选取

使用 TPOT 库实现

6、实际应用

7、结语

1、遗传算法理论的由来

我们先从查尔斯·达尔文的一句名言开始:

能够生存下来的往往不是最强大的物种,也不是最聪明的物种,而是最能适应环境的物种。

你也许在想:这句话和遗传算法有什么关系?其实遗传算法的整个概念就基于这句话。

让我们用一个基本例子来解释 :

我们先假设一个情景,现在你是一国之王,为了让你的国家免于灾祸,你实施了一套法案:

你选出所有的好人,要求其通过生育来扩大国民数量。

这个过程持续进行了几代。

你将发现,你已经有了一整群的好人。

这个例子虽然不太可能,但是我用它是想帮助你理解概念。也就是说,我们改变了输入值(比如:人口),就可以获得更好的输出值(比如:更好的国家)。现在,我假定你已经对这个概念有了大致理解,认为遗传算法的含义应该和生物学有关系。那么我们就快速地看一些小概念,这样便可以将其联系起来理解。

2、生物学的启发

相信你还记得这句话:「细胞是所有生物的基石。」由此可知,在一个生物的任何一个细胞中,都有着相同的一套染色体。所谓染色体,就是指由 DNA 组成的聚合体。

wzatv:一文读懂遗传算法工作原理(附Python实现)

传统上看,这些染色体可以被由数字 0 和 1 组成的字符串表达出来。

wzatv:一文读懂遗传算法工作原理(附Python实现)

一条染色体由基因组成,这些基因其实就是组成 DNA 的基本结构,DNA 上的每个基因都编了一个独特的性状,比如,头发或者眼睛的颜色。希望你在继续阅读之前先回忆一下这里提到的生物学概念。结束了这部分,现在我们来看看所谓遗传算法实际上指的是什么?

3、遗传算法定义

首先我们回到前面讨论的那个例子,并总结一下我们做过的事情。

首先,我们设定好了国民的初始人群大小。

然后,我们定义了一个函数,用它来区分好人和坏人。

再次,我们选择出好人,并让他们繁殖自己的后代。

最后,这些后代们从原来的国民中替代了部分坏人,并不断重复这一过程。

遗传算法实际上就是这样工作的,也就是说,它基本上尽力地在某种程度上模拟进化的过程。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容