《进化优化》第6章 进化策略

news2024/11/25 20:43:51

文章目录

  • 6.1 (1+1) 进化策略
  • 6.2 1/5规则:推导
    • 走廊问题
  • 6.3 μ+1进化策略
  • 6.4 μ+λ和(μ,λ)进化策略
  • 6.5 自身自适应进化策略
    • 协方差阵自适应CMA

6.1 (1+1) 进化策略

假设f(x)是随机向量x的函数,我们想要最大化适应度f(x).进化策略最早的算法初始化单个候选解并评价它的适应度,然后让候选解变异并评价变异后的个体的适应度.这两个候选解(父代和子代)中最好的那一个成为下一代的起点. 进化策略最初是为离散问题设计的,在离散搜索空间中采用小的变异很容易陷入局部最优值,所以后来把它改为在连续搜索空间中采用连续的变异,如算法6.1所示.

算法6.1被称为(1+1)-ES((1+1)进化策略),因为每代由1个父代和1个子代组成,并从父代和子代中选出最好的作为下一代的个体.(1+1)-ES也被称为二元进化策略,它与爬山策略非常相似,与种群规模为1的进化规划相同.下面的定理保证(1+1)-ES 最终能找到f(x)的全局最大值.
在这里插入图片描述
这个定理告诉我们,如果有足够时间,采用随机变异探索搜索空间最终能访问到整个搜索空间(在计算机的精度之内)并找到全局最优值。

在这里插入图片描述
在(1+1)-ES 算法6.1中的方差σ2是可调参数的值是一个折中.

  • σ应该足够大以使变异能够在合理的时间内到达搜索空间的每一个区域.
  • σ应该足够小以便找到在用户所需分辨率之内的最优解.

在进化策略向前推进时减小σ也许是适当的.在进化策略刚开始时,较大的σ值会允许进化策略进行粗粒度的搜索以靠近最优解.
在进化策略快要结束时,较小的σ值会让进化策略微调它的候选解并以更小的分辨率收敛到最优解.

算法6.1中的变异称为各向同性,因为x0的每个元素的变异方差相同,实际上,可以实施下面的非各向同性变异:
在这里插入图片描述

20%的变异能改进适应度函数f(x),如果变异成功率高于20%,则变异过小,带来的改进也小,收敛时间变长;如果变异成功率低于20%,则变异过大,带来的改进虽大但并不会经常发生,这样也会让收敛时间变长。

在(1+1)-ES 中,如果成功的变异与总变异的比值小于1/5,则应该减小标准差σ.如果这个比值大于1/5,则应该增大标准差.

让σ减小或增大的因子:
在这里插入图片描述
自适应(1+1)-ES需要定义移动窗口长度G.我们想让G足够大以便得到更准确的变异成功率,但G又不要大到令σ的自适应反应迟缓,建议如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.2 1/5规则:推导

走廊问题

假设一个n维最小化问题,其费用函数为f(x),其中x =[x1, x2,… ,xn] .本节聚焦在走廊问题上,它的域为
在这里插入图片描述
走廊问题的费用函数为:
在这里插入图片描述

进化策略中个体x0根据x1<–x0+r变异,这里r是n元随机向量,对于j属于[1,n],我们用x0j表示向量x0的第j个元素,x1j表示向量x1的第j个元素。

x0的每个元素的变异量从均值为零方差为σ2的高斯分布中选择,因此x1j的概率密度函数可以写成:
在这里插入图片描述

6.3 μ+1进化策略

最早对(1+1)-ES的一般化是(u+1)-ES.在(μ+1)-ES 中,每代用μ个父代,这里是由用户定义的参数.每个父代由相应的σ向量控制其变异的大小.父代组合形成单个子代,然后让子代变异.在μ个父代和这个子代中选出最好的μ个个体成为下一代的μ个父代.算法6.3是对它的总结.由于(μ+1)-ES 保留了每一代最好的个体,它奉行精英主义;也就是说,从一代到下一代,最好的个体绝不会变差.(μ+1)-ES也被称为稳态进化策略。由于在每一代的最后,从整个种群中只去掉一个个体,所以可以称这个策略为最差灭绝,它是适者生存的另一面。

在这里插入图片描述
重组的方式有很多:

  • 离散性交
    在这里插入图片描述

  • 中间性交
    在这里插入图片描述

  • 全局交叉
    在这里插入图片描述

  • 中间全局交叉
    在这里插入图片描述

6.4 μ+λ和(μ,λ)进化策略

接下来对进化策略的一般化是(μ+λ)-ES.在(μ+λ)-ES 中,种群规模为u,每一代生成λ个子代.在生成子代之后,父代和子代总共有(μ+λ)个个体.在这些个体中选出最好的μ个作为下一代的父代.

另一个常用的进化策略是(μ,λ)-ES.在(μ,λ)-ES 中,从入个子代中选出最好μ个个体作为下一代的父代.换言之,μ个父代中无一生存到下一代;而是从λ个子代选出μ个个体的子集作为下一代的父代.在(μ,λ)-ES 中,我们需要保证所选的λ≥ μ.前一代的父代决不能生存到下一代,每一个个体的生命限定为一代.

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.5 自身自适应进化策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

协方差阵自适应CMA

CMA-ES的目标是尽可能好地用进化策略变异的分布与目标函数轮廓匹配。由此得到的匹配只有当目标函数为二次函数时会很完美,不过很多目标函数在它们的最优值附近都可以用二次函数近似。

CMA-ES的缺点在于复杂的自适应性策略以及复杂的可调参数设置。因此介绍CMA-ES的一个简化版本,它被称为协方差阵自身自适应进化策略CMSA-ES:在进化过程中学习搜索空间的形状,并调整变异方差。

学习参数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进化策略与遗传算法类似,但遗传算法最初是通过将候选解编码成位串来进化,而进化策略则总是在连续参数上操作.尽管遗传算法经常被用来处理连续参数,这两个算法还是存在哲学上的差别:进化策略的操作往往是在与问题陈述接近的表述形式上,而遗传算法的操作却往往在与问题最初陈述很不同的表示形式上.两个算法之间的另一个差别在于遗传算法强调重组,而进化策略强调变异.对于具体的优化问题,我们可以根据这些差别选择合适的算法.如果对于一个特别的问题,探索比开发更重要,我们可能得用进化策略.而如果开发更重要,就可能要用遗传算法.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1173600.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql进阶-SQL优化篇

插入数据 insert 我们需要一次性往数据库表中插入多条记录&#xff0c;可以从以下三个方面进行优化。 批量插入数据 一条insert语句插入多个数据&#xff0c;但要注意&#xff0c;每个insert语句最好插入500-1000行数据&#xff0c;就得重新写另一条insert语句 Insert into…

YOLO系列环境配置及训练

目录 前言 一、下载所需 1、Anaconda安装 2、NVIDIA 驱动程序安装 3、CUDA安装 4、CUDNN下载及配置 二、环境配置 1、虚拟环境创建 2、Pytorch安装 3、pycharm环境切换及剩余库的安装 4、YOLO代码的测试及训练配置步骤 &#xff08;1&#xff09;测试 &#xff08…

国际阿里云香港服务器!!!

轻量应用服务器&#xff08;Simple Application Server&#xff09;是可以快速搭建且易于管理的轻量级云服务器&#xff0c;面向单台服务器提供了一键部署应用、一站式域名解析、安全管理以及运维监控等服务。轻量应用服务器操作简单便捷&#xff0c;能让您快速上手部署简单的应…

AVL树

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析&#xff08;3&#xff09; 目录 &#x1f449;&#x1f3fb;AVL树概念&#x1f449;&am…

专业媒体播放软件Movist Pro中文

Movist Pro是一款专为Mac用户设计的专业媒体播放器。它支持广泛的视频和音频格式&#xff0c;包括MP4、AVI、MKV等&#xff0c;并提供了高级播放控件和定制的视频设置。其直观易用的用户界面&#xff0c;使得播放高清视频更为流畅&#xff0c;且不会卡顿或滞后。同时&#xff0…

海康Visionmaster-全局触发:使用全局触发功能执行流 程的方法

我们这里以 TCP 通讯为例&#xff0c;视觉作为 TCP 服务端&#xff0c;与视觉交互的第三方设备作为 TCP 客户端。当 TCP 客户端连接上视觉服务端后&#xff0c;客户端发送字符串 T1,视觉执行流程 1&#xff1b; 客户端发送字符串 T2&#xff0c;视觉执行流程 2。 这样的需求我…

在 CelebA 数据集上训练的 PyTorch 中的基本变分自动编码器

摩西西珀博士 一、说明 我最近发现自己需要一种方法将图像编码到潜在嵌入中&#xff0c;调整嵌入&#xff0c;然后生成新图像。有一些强大的方法可以创建嵌入或从嵌入生成。如果你想同时做到这两点&#xff0c;一种自然且相当简单的方法是使用变分自动编码器。 这样的深度网络不…

Markdown语法教程

Markdown&#xff1a;一种轻量级语言&#xff0c;有简洁的编写方式&#xff0c;能够提高大家的工作效率。 一、标题 1.1 标题 标题的编写格式以#号开始&#xff0c;分别表示h1 ~ h6&#xff0c;注意&#xff1a;# 后面有空格&#xff01; # 一级标题 ## 二级标题 ### 三级标题…

K8s学习笔记——认识理解篇

1. K8s诞生背景 回顾应用的部署&#xff0c;经历了以下几个阶段&#xff1a; 传统部署&#xff1a;物理服务器上运行应用程序。虚拟机部署&#xff1a;物理服务器上安装虚拟机&#xff0c;在虚拟机上运行应用程序。容器部署&#xff1a;物理服务器上安装容器运行时&#xff0…

MINIO minio 安装 报错 问题

minio MINIO 安装 报错 问题 前言问题1问题产生原因分析解决方案 问题2原因分析解决方案 问题3问题产生原因分析解决方案 问题4问题产生 原因分析解决方案 问题5问题产生 原因分析解决方案 关键词&#xff1a; 1: WARNING: MINIO_ACCESS_KEY and MINIO_SECRET_KEY are deprecat…

全能数据分析软件 Tableau Desktop 2019 mac中文版功能亮点

Tableau Desktop 2019 mac是一款专业的全能数据分析工具&#xff0c;可以让用户将海量数据导入并记性汇总&#xff0c;并且支持多种数据类型&#xff0c;比如像是编程常用的键值对、哈希MAP、JSON类型数据等&#xff0c;因此用户可以将很多常用数据库文件直接导入Tableau Deskt…

2019 ICPC 银川题解(A)

赛时没发挥好6题金尾&#xff08;rank38&#xff09;&#xff0c;剩下很多能写的题&#xff0c;其中四个dp&#xff0c;傻眼ing A Girls Band Party&#xff08;背包&#xff09; 有点迷惑的题&#xff0c;当时看只要 5 5 5 张牌一下子想到暴力枚举&#xff0c;结果发现是不…

【漏洞复现】Redis未授权

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、影响版本1.3、漏洞复现环境搭建写入计划任务获取反弹shell利用SSH写公钥&#xff0c;免密登陆利用Redis写WebShell 3、检测未授权访问漏洞检测工具参考 1.1…

《 Hello 算法 》 - 免费开源的数据结构与算法入门教程电子书,包含大量动画、图解,通俗易懂

这本学习算法的电子书应该是我看过这方面最好的书了&#xff0c;代码例子有多种编程语言&#xff0c;JavaScript 也支持。 《 Hello 算法 》&#xff0c;英文名称是 Hello algo&#xff0c;是一本关于编程中数据解构和算法入门的电子书&#xff0c;作者是毕业于上海交通大学的…

零代码复现-TCGA联合GEO免疫基因结合代谢基因生信套路(三)

前面的分析中&#xff0c;整理好的关键基因集表达谱矩阵&#xff0c;接下来就准备分子亚型的相关分析。 六、一致性聚类构建分子亚型 在6.TCGA和GEO差异基因获取和预后数据的整理\TCGA文件中获取文件 准备一个生存数据和表达谱矩阵&#xff0c;这里需要注意的是&#xff0c;…

基于Jenkins实现接口自动化持续集成,学完涨薪5k

一、JOB项目配置 1、添加描述 可选选项可填可不填 2、限制项目的运行节点 节点中要有运行环境所需的配置 节点配置教程&#xff1a;https://blog.csdn.net/YZL40514131/article/details/131504280 3、源码管理 需要将脚本推送到远程仓库中 4、构建触发器 可以选择定时构建…

【爬虫实战】用python爬取微博任意关键词搜索结果、exe文件

项目功能简介&#xff1a; 1.交互式配置&#xff1b; 2.两种任意关键词来源&#xff08;直接输入、本地关键词文件&#xff09;&#xff1b; 3.自动翻页(无限爬取)&#xff1b; 4.指定最大翻页页码&#xff1b; 5.数据保存到csv文件&#xff1b; 6.程序支持打包成exe文件…

Go类型嵌入介绍和使用类型嵌入模拟实现“继承”

Go类型嵌入介绍和使用类型嵌入模拟实现“继承” 文章目录 Go类型嵌入介绍和使用类型嵌入模拟实现“继承”一、独立的自定义类型二、继承三、类型嵌入3.1 什么是类型嵌入 四、接口类型的类型嵌入4.1 接口类型的类型嵌入介绍4.2 一个小案例 五、结构体类型的类型嵌入5.1 结构体类…

视频视觉效果制作After Effects 2023 MacOS中文

After Effects 2023是一款业界领先的动态图形和视觉特效软件。它提供了强大的工具集&#xff0c;帮助用户创建引人入胜的视觉效果、动态图形和电影级特效。新的版本带来了更快的渲染速度、增强的图像处理和优化的工作流程&#xff0c;使用户能够更高效地工作。无论您是在电影、…

Kotlin 进阶函数式编程技巧

Kotlin 进阶函数式编程技巧 Kotlin 简介 软件开发环境不断变化&#xff0c;要求开发人员不仅适应&#xff0c;更要进化。Kotlin 以其简洁的语法和强大的功能迅速成为许多人进化过程中的信赖伙伴。虽然 Kotlin 的初始吸引力可能是它的简洁语法和与 Java 的互操作性&#xff0c…