如何学习python遗传算法?
单独的数字大家可以直观看到理解,但是如果两个数字之间连接运算,那它就不是单独的数字,而是一个独立的组合,那大家还会理解是什么意思吗?相信很多人如果第一次看到,那肯定不理解,就跟我们编程时候,每个算数之间都有着各种各种的运算符号,让他们的意义不同,因此,系统的学习是非常重要的,一起来看下如何学习好遗传算法。
1. 遗传算法主要流程
2. 遗传算法理论基础
l 模式(Schema):模式指有相同特征的子集,比如二进制字符串11***(*为通配符)可以代表八个个体(2x2x2)。
l 阶(Order):模式中确定位置的个数成为阶,比如1110*的阶为1
l 定义距(Defining Length):模式中第一个确定位置和最后一个确定位置之间的距离成为定义距
3. 遗传算法与传统算法的区别
l 遗传算法中的种群中始终维持一定数量的个体(每个个体都是问题的解),而传统算法中每次迭代都一般只保留最优解。
l 遗传算法用个体/基因型来代表问题的解,而传统算法的解一般都更直观。
l 遗传算通过计算适应度来计算最优解,而传统算法一般通过导数或梯度来计算最优解。
l 遗传算由概率驱动,比如杂交概率、突变概率等,而传统算法一般都是有确定性的。PS:因为遗传算法的每一次迭代就朝着最优解的方向前进,即便遗传算法的过程有不确定性,但遗传算法最终的最优解一般都是确定的。
4. 什么情景使用遗传算法
l 当遇到以下类型的问题时,可以尝试遗传算法:
l 当问题的数学表达过于复杂或很难用数学表达时:遗传算法只需要定义个体、种群,选择、杂交、突变方法和适应度方程就可以求最优解。
l 当数据含较多噪音时:遗传算法受数据中异常值的影响较小。
l 当外部环境在不断变化时:遗传算法的种群始终保有一定数量的个体(解),因此遗传算法可以适应数据的改变,并针对新的环境产生新的最优解。
相信大家在浏览过系统的学习遗传算法各个阶段的内容,逐一去攻破,会比较容易好上手遗传算法的哦~如果大家对这个算法感兴趣的话,可以多浏览几遍以上内容,就可以了解怎么开始学习遗传算法啦~
相关文章
- 我用Python处理3万多条数据,只要几秒钟……
- 代码详解:使用Python从不同表格中提取数据
- 自定义构建交互式SSH应用程序,以Python为例
- 深入理解select count(*)底层究竟做了什么
- 使用Redis和Python构建一个共享单车的应用程序
- Python实现数据可视化,看如何监控你的爬虫?
- 什么是大数据?如何成为大数据的技术大牛?
- 零基础Python数据库怎么学?大牛带你扬帆起航
- Python操作MongoDB看这一篇就够了
- 用Python操作MySQL存储,这些你都会了吗?
- Python面试官问Redis的相关问题,看完这篇文章就够了
- 常见的Python爬虫面试题,叫面试官唱征服
- 一步一步教你如何用Python操作MySQL
- 精通Python网络爬虫:核心技术、框架与项目实战.3.4 网页分析算法
- GC悲观策略之Parallel GC篇
- Aviator(表达式执行引擎)发布1.0.1
- 《Flink官方文档》Python 编程指南测试版(一)
- 《Flink官方文档》Python 编程指南测试版(二)
- 淘宝开源metaq的python客户端
- 精通Python网络爬虫:核心技术、框架与项目实战导读