问题:已知一组特征,求使损失函数最小的线性加权系数
已知特征向量的集合
从中要找到加权系数
新的向量
每个类得到一个点 满足{每个类类内到该点的马氏距离和最小}
分类策略:马氏距离最小的类就是该点所属的类
找到B使识别的错误率最小
遗传算法的术语:
基因型(genotype):性状染色体的内部表现即B
表现型(phenotype):染色体决定的性状的外部表现,或者说,根据基因型形成的个体的外部表现;即在B的条件下识别的错误率
进化(evolution):种群逐渐适应生存环境,品质不断得到改良。生物的进化是以种群的形式进行的。每一次进化都是一次迭代
适应度(fitness):度量某个物种对于生存环境的适应程度。识别的错误率
选择(selection):以一定的概率从种群中选择若干个个体。一般,选择过程是一种基于适应度的优胜劣汰的过程。即选择算子
复制(reproduction):细胞分裂时,遗传物质DNA通过复制而转移到新产生的细胞中,新细胞就继承了旧细胞的基因。精英保留机制,即当前最好的B直接复制保留到下一代
交叉(crossover):两个染色体的某一相同位置处DNA被切断,前后两串分别交叉组合形成两个新的染色体。也称基因重组或杂交;即交叉算子
变异(mutation):复制时可能(很小的概率)产生某些复制差错,变异产生新的染色体,表现出新的性状。变异算子
编码(coding):DNA中遗传信息在一个长链上按一定的模式排列。遗传编码可看作从表现型到基因型的映射。分为二进制编码和浮点编码
解码(decoding):基因型到表现型的映射。即B到B的条件下识别的错误率的映射
个体(individual):指染色体带有特征的实体;B种群(population):个体的集合,该集合内个体数称为种群的大小。B的集合    
交叉算子:二进制编码就是比特位的部分交换,浮点编码就是求两个浮点数之间取一个随机数
变异算子:二进制编码就是比特位的随机变换,浮点编码就是浮点数加减一个随机数
选择算子:给不同的适应度的个体打分,然后用轮盘赌的方法进行选择(如3个个体打分为1,2,3,那么第一个个体被选择几率为1/6)
精英策略:把当代表现型最好的个体直接复制到下一代种群。
经典遗传算法实现过程
  1. 产生种群:随机产生一组B的集合
  2. 计算各个B下的识别的错误率识别的错误率
  3. 利用选择算子选择B
  4. 利用交叉算子的在剩下的B中产生下一代B
  5. 利用变异算子产生新的B
  6. 重复2-5
2.多目标优化问题(有多个目标函数的优化问题)
NSGA(非支配排序遗传算法)
NSGAII(带精英策略的非支配排序的遗传算法)
人脸识别可以是单目标优化问题,如目标函数是总错误率,也可以是多目标优化问题,如每个类的错误率为目标函数。这里NSGA解决的是多目标优化问题。
2.1 Paerot支配关系
2.2 Paerot最优解
NSGA 和 NSGAII
识别非支配个体及非支配个体排序:
识别在这个集合中是否有两两非支配的个体,如果有就把它们分离出来,最后使得每一级的个体为支配关系。
通过上述步骤得到的非支配个体集是种群的第一级非支配层;然后,忽略这些标记的非支配个体,再遵循步骤(1)一(4),就会得到第二级非支配;依此类推,直到整个种群被分类。
虚拟适应度值的确定
在对种群进行非支配排序的过程中,需要给每一个非支配层指定一个虚拟适应度值。级数越大,虚拟适应度值越小;反之,虚拟适应度值越大。这样可以保证在选择操作中等级较低的非支配个体有更多的机会被选择进入下一代,使得算法以最快的速度收敛于最优区域。
而NSGA一II的改进
a)提出了快速非支配排序法,降低了算法的计算复杂度。由原来的O(mN3)降到O(mN2),其中,m为目标函数个数,N为种群大小。b)提出了拥挤度和拥挤度比较算子,代替了需要指定共享半径的适应度共享策略,并在快速排序后的同级比较中作为胜出标准,使准Paroet域中的个体能扩展到整个Pareto域,并均匀分布,保持了种群的多样性。)c引入精英策略,扩大采样空间。将父代种群与其产生的子代种群组合,共同竞争产生下一代种群,有利于保持父代中的优良个体进入下一代,并通过对种群中所有个体的分层存放,使得最佳个体不会丢失,迅速提高种群水平。

遗传算法及其改进算法相关推荐

  1. 人工智能学习笔记:基本遗传算法及其改进算法

    文章目录 1 引言 2 基本思想及发展历史 3 基本遗传算法详细步骤 3.1 编码 3.2 初始群体设定 3.3 设计适应度函数 3.4 遗传操作 3.4.1 选择 3.4.2 交叉 3.4.3 变异 ...

  2. 基于遗传算法和模拟退火算法改进的混合模拟退火算法(解决求函数极值问题,MATLAB代码已实现)

    基本思想: 混合模拟退火算法时遗传算法和模拟退火算法的结合,在混合模拟退火算法中使用了大量的样本作为问题的可能解决方案而不是将单个样本作为一个问题的可能解决方案.对遗传算法中适应的概念进行相应改进. ...

  3. 用遗传算法GA改进CloudSim自带的资源调度策略

    首先理解云计算里,资源调度的含义: 看了很多云计算资源调度和任务调度方面的论文,发现很多情况下这两者的意义是相同的,不知道这两者是同一件事的不同表述还是我没分清吧,任务调度或者资源调度大概就是讲这样一 ...

  4. m基于GA遗传优化+SA模拟退火的混合改进算法的多产品多机器生产优化matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 这里,我们首先介绍一下改进算法的基本原理,按照前面说的,这里我们主要将GA和SA进行合并. 这里,我 ...

  5. 遗传算法与爬山算法简介_遗传算法简介

    遗传算法与爬山算法简介 Genetic Algorithms (GAs) are a part of Evolutionary Computing (EC), which is a rapidly g ...

  6. vibe前景提取改进算法

    // improveVibeAlgorithm.h #ifndef IMPROVED_VIBE_ALGORITHM_H #define IMPROVED_VIBE_ALGORITHM_H#includ ...

  7. 特定场景下Yolo改进算法:Poly-Yolo

    论文名称:Poly-YOLO: higher speed, more precise detection and instance segmentation for YOLOv3 论文地址:https ...

  8. 多领导者改进算法的MATLAB仿真

    %多领导者改进算法 %---------系统附初值------------------------ clear;clc; loop=500;                               ...

  9. Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题

    Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题 目录 输出结果 实现代码 代码下载 输出结果 实现代码 %单幅图象的暗原色先验去雾改进算法,能够很好地改进天空 ...

最新文章

  1. SICK LMS151-10100使用攻略
  2. 硬件常见问题及排错思路。
  3. BZOJ4671: 异或图
  4. 5位随机数重复的概率 php_php防止表单重复提交的方法
  5. Java中的System.out.println到底是什么,而且Java源码中System.java的out是null,为什么可以调用println方法?
  6. 多线程知识梳理(1) - 并发编程的艺术笔记
  7. 如何在android进行ltp测试,Android系统完整性度量架构IMA-EVM
  8. Java 之常用API(一)
  9. 使用 ASP.NET Core Razor 页、Web API 和实体框架进行分页和排序
  10. crossdomain.xml跨越
  11. 软考—软件设计师(中级)第5版
  12. Himall商城普通帮助类(三)
  13. 第十五课.K均值算法
  14. IntelliJ IDEA 必知技巧(持续更新)
  15. 天宝S6测量机器人/天宝S6全站仪参数/教程/Trimble 天宝全站仪
  16. 見到老板的老婆。。。
  17. Linux嵌入式数据库
  18. huntian oy (数论卷积杜教筛)
  19. 坑蒙拐骗微服务,掌灯填坑架构人
  20. c++乘法运算顺序问题

热门文章

  1. C#实现老板键功能的代码
  2. mysql利用frm和_mysql怎么通过frm和ibd文件还原数据
  3. 关于实证类研究的步骤及详细解析(经管)
  4. python进阶版《植物大战僵尸》
  5. JFFS2的remount过程
  6. 简记_改进低值分流电阻的焊盘,提高精度
  7. Android入门第十六篇之Style与Theme
  8. 树莓派用WiringPi和Bcm2835库和PCA9685输出PWM
  9. dsge matlab,DSGE笔记系列1:Dynare基本应用(1)
  10. python 关于图片下载(有待更新)