问题1——遗传算法中适应度函数如何确定

一般来说,遗传算法中的适应度函数是根据你想要得到的优化结果进行确定的。有的优化目的是要更小的适应度函数值,相反有的优化目的是要更大的适应度函数值。
这样说吧,例如很多博客中举的例子,袋鼠山地进化。其中,袋鼠个体(individual)相当于染色体(chromosome),袋鼠个体出现的位置则有本身的基因决定,所有袋鼠构成了袋鼠种群。对于袋鼠而言,想要生存就需要到达更高的地方。这个例子中,想要得到的最终目的是个体出现在更高的位置,也就是袋鼠个体出现在更高的位置,则表明该个体具有更好的生存优势,这个目的则可以作为遗传算法的适应度函数。

怎样确定该适应度函数(fitness function)

需要找到一个衡量个体所在位置高度的显式公式,将该高度衡量公式作为袋鼠进化的适应度函数。

如何实现袋鼠位置的移动或者变化

在袋鼠山地进化的优化问题中,袋鼠个体位置是由本身的基因决定的。因此,只有通过改变基因才能实现袋鼠所在位置的变化。
在遗传算法(进化类算法)中,基因操作主要分为:变异(mutation)和交叉(crossover)。通过变异和交叉,进而改变基因序列,使得袋鼠位置发生变化。

如何将有优良的袋鼠个体选出来

举个栗子
一个班级中,怎样判断一个学生学习好,当然是考试分数高,则表示学生学习好。怎样将学习好的学生挑选出来,已经有了学习好的衡量指标,则通过将成绩好的学生挑选出来就行了!
袋鼠进化问题也是这样的
已经有了可以衡量袋鼠个体优良的衡量指标——适应度函数(fitness function)
仅仅通过将具有更好的袋鼠个体选择出来就可以了!
这也就是遗传算法或者进化类算法中的——选择操作

怎样判断个体适应度好坏

可能看到这里,你会有疑问,适应度函数的计算结果,会有大有小,怎样判断个体好坏额?
例如,对于神经网络而言,我们会经常看到有关论文来优化网络参数,目的是得到可以使神经网络预测误差最小的网络参数。这个目的(误差最小)便可以作为优化算法的适应度函数,我们需要找到可以使适应度函数最小的网络参数,因此这种属于最小化适应度函数类型

MiniFitnessfunction=∣∣预测误差衡量公式∣∣Mini \ Fitness function = ||预测误差衡量公式||Mini Fitnessfunction=∣∣预测误差衡量公式∣∣

相反,对于袋鼠进化而言,属于典型的最大化适应度函数类型

MaxFitnessfunction=∣∣袋鼠位置衡量公式∣∣Max \ Fitness function = ||袋鼠位置衡量公式||Max Fitnessfunction=∣∣袋鼠位置衡量公式∣∣

问题2—— 变异和交叉实现遇见的问题

待续…

遗传算法(进化类算法)中的选择,交叉,变异等一系列问题解析(二)相关推荐

  1. matlab——遗传算法中的选择,交叉,变异等一系列问题解析(一)

    遗传算法作为一种古老的进化优化算法,现在一直还在使用和优化,也间接证明了其本身所具有的价值.虽然从原理上讲,很容易理解,主要包括:(1)三个基因操作:选择,变异,交叉:(2)适应度函数对个体优劣的评估 ...

  2. 对蚁群算法中轮盘赌选择城市的理解

    蚁群算法中为了保证蚂蚁选择路径的随机性,在选择路径时概率大的路径被选择的概率大,但同时概率小的路径也有可能被选中,而不是直接选择概率大的路径,这样就不会所有的蚂蚁到这里都做出同样的选择,导致算法失去随 ...

  3. opencv图像处理中的一些滤波器+利用滤波器提取条形码(解析二维码)+公交卡倾斜矫正+物体尺寸丈量

    一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像中的细节信息也主要集中在其高频部分,因此,如何去掉高频干扰同时又保持细节信息是关键.为了去除噪声,有必要对图像进行平滑,可 ...

  4. 2018-4-7 进化类算法------1、遗传算法(GA)

    学习资料<智能优化算法及其Matlab实例> 包子阳   余继周    编著 第二章遗传算法: 1.遗传算法:就是借鉴达尔文以及孟德尔的进化理论,而创造的一种模拟自然生物进化的算法.它的本 ...

  5. 迭代硬阈值类算法总结||IHT/NIHT/CGIHT/HTP

    斜风细雨作小寒,淡烟疏柳媚晴滩.入淮清洛渐漫漫. 雪沫乳花浮午盏,蓼茸蒿笋试春盘.人间有味是清欢. ---- 苏轼 更多精彩内容请关注微信公众号 "优化与算法" 迭代硬阈值(Ite ...

  6. 帐篷混沌映射在优化算法中的应用

    前言 帐篷映射,是一种分段线性映射,其主要是根据确定的映射系统生成随机的混沌序列,混沌序列的取值范围通常在0,1之间,有研究表明混沌序列在算法初始化方便比随机初始化的性能更加优越,故混沌序列常用于粒子 ...

  7. 树类算法之---决策树Cart树Gini系数就算原理。

    1.介绍 ID3树与CART树的区别: ID3算法中,选择的是信息增益来进行特征选择,信息增益大的特征优先选择. 而在C4.5中,选择的是信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的缺 ...

  8. MATLAB遗传算法GA求解TSP旅行商问题,可选PMX交叉、OX交叉及其它多种交叉方式,在算法中引入2-opt变异算子

    MATLAB遗传算法GA求解TSP旅行商问题,可选PMX交叉.OX交叉及其它多种交叉方式,在算法中引入2-opt变异算子.进化逆转算子提高算法局部搜索能力,利用国际通用的TSPLIB数据集中的eil5 ...

  9. 相控阵天线(四):阵列天线波束赋形(遗传算法、粒子群算法、进化差分算法、含python代码)

    目录 波束赋形简介 遗传算法波束赋形 粒子群算法波束赋形 差分进化算法波束赋形 智能算法比较 遗传算法波束赋形代码示例 波束赋形简介 根据期望的方向图辐射特性(如方向图形状.主瓣宽度.副瓣电平.方向性 ...

最新文章

  1. Microsoft Security Essential: 微软安全软件
  2. vue2路由移除#号(Apache)
  3. 如何成为领袖? 学习任正非小沃森郭士纳
  4. React实践(一)——webpack4搭建开发环境
  5. Python 学习第十六天 html 前端内容总结
  6. SAP Spartacus里的登录token处理
  7. Leetcode周赛复盘——第 276 场力扣周赛
  8. spring4笔记----spring4构造注入
  9. 多元统计分析最短距离法_多元统计分析习题及解答.doc
  10. 安装redis 5.0.5版本 真香警告
  11. 算法设计与分析学习总结
  12. SQL注入工具大比拼
  13. 基于分数阶傅里叶变换的chirp信号检测与参数估计(原理附代码)
  14. OpenLayers 5 使用turf.js渲染克里金插值计算的等值面
  15. IBM内存三技术:Chipkill、MPX、MM
  16. dub选项中文帮助.
  17. oppoa9处理器怎么样_oppoa91参数处理器怎么样
  18. linux外接HDMI显示器 不能正常显示的问题
  19. [PS] 透明底图片制作
  20. oracle计算日期倒计时,时间倒算回去到了哪里?│机械倒数计时码表

热门文章

  1. 安装mingw-w64失败解决方法
  2. 《那些年啊,那些事——一个程序员的奋斗史》——68
  3. .NET WebApi实现RSA加密与解密,签名与验签
  4. VS Code如何设置背景色
  5. php各种编码集详解和在什么情况下进行使用
  6. kibana远端访问配置
  7. Algorithm之PrA:PrA之IP整数规划(包括0-1整数规划)算法经典案例剖析+Matlab编程实现
  8. 【dva】dva使用与实现(四)
  9. 华为手机计算机怎么语音算术,只动口不动手!华为手机这个自带功能绝了,录音秒变文字!...
  10. JQuery自定义属性的设置和获取