IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> LSHADE-SPACMA:混合CMA-ES半参数自适应LSHADE -> 正文阅读

[大数据]LSHADE-SPACMA:混合CMA-ES半参数自适应LSHADE

参考文献:LSHADE-SPACMA

LSHADE部分

具体请参见LSHADE

CMA-ES部分

具体请参见CMA-ES

SPA:对F和CR的半参数自适应

SPA部分包括两个过程:前一半周期对CR的自适应和后一半周期对F和CR的自适应

SPA第一部分

个体F通过高斯分布产生: F i = 0.45 + 0.1 ? r a n d F_i=0.45+0.1\cdot rand Fi?=0.45+0.1?rand
个体CR通过高斯分布产生: C R i = r a n d n ( M c r i , 0.1 ) CR_i=randn(M_{cri},0.1) CRi?=randn(Mcri?,0.1)

SPA第二部分

个体F通过柯西分布产生: F i = r a n d c ( M F i , σ ) , σ = 0.1 F_i=randc(MF_i,\sigma),\sigma=0.1 Fi?=randc(MFi?,σ)σ=0.1
个体CR通过高斯分布产生: C R i = r a n d n ( M c r i , 0.1 ) CR_i=randn(M_{cri},0.1) CRi?=randn(Mcri?,0.1)

SPACMA:SPA与CMA-ES混合框架

首先引入几个新的参数:

  1. FCP:分割概率,决定个体产生子代的方式
  2. M F C P M_{FCP} MFCP?:存储FCP的记忆项
  • M F C P M_{FCP} MFCP?的自适应: M F C P , g + 1 = ( 1 ? c ) M F C P , g + c ? △ a l g 1 M_{FCP,g+1}=(1-c)M_{FCP,g}+c\cdot\bigtriangleup_{alg1} MFCP,g+1?=(1?c)MFCP,g?+c?alg1?,c是学习速率, △ a l g 1 \bigtriangleup_{alg1} alg1?是改进占比,它的计算方式如下:
  • △ a l g 1 = m i n ( 0.8 , m a x ( 0.2 , ω A l g 1 ω A l g 1 + ω A l g 2 ) ) \bigtriangleup_{alg1}=min(0.8,max(0.2,\frac{\omega_{Alg1}}{\omega_{Alg1}+\omega_{Alg2}} )) alg1?=min(0.8,max(0.2,ωAlg1?+ωAlg2?ωAlg1??)),这里要求FCP的值必须在[0.2,0.8]这个范围内
  • ω A l g 1 \omega_{Alg1} ωAlg1?表示属于第一部分所有个体的适应度差值的累加: ω A l g 1 = ∑ f ( x ) ? f ( u ) \omega_{Alg1}=\sum f(x)-f(u) ωAlg1?=f(x)?f(u)

SPACMA改变了LSHADE参数自适应的方式和产生子代的方式,在LSHADE-SPACMA中,每个个体根据自身的FCP值决定是通过原始LSHADE方法还是通过CMA-ES的取样方法产生变异向量,此后两个子代种群会合并,在迭代过程中,算法会自动分配FCP的比值,以朝着最优化的方向前进,而SPA第一部分对F的钳制使得算法不容易过早收敛,

参数设置

  1. M C R , M F , M F C P M_{CR},M_{F},M_{FCP} MCR?,MF?,MFCP?初始化为0.5
  2. 记忆长度 H = 5 H=5 H=5
  3. 初始种群大小: N i n i t = 18 ? D i m N_{init}=18*Dim Ninit?=18?Dim
  4. 外部集合大小: 1.4 ? N 1.4*N 1.4?N

算法流程

  • 初始化参数
  • while
  • 从记忆项中随机选取一个值 r i f r o m [ 1 , H ] r_{i}from[1,H] ri?from[1,H]
  • 产生个体的CR,FCP,F值
  • 根据FCP值划分种群 [ P L S H A D E , P C M A ] [P_{LSHADE},P_{CMA}] [PLSHADE?,PCMA?]
  • 分别用LSHADE和CMA-ES产生突变向量 V L S H A D E , V C M A ? E S V_{LSHADE},V_{CMA-ES} VLSHADE?,VCMA?ES?
  • 交叉产生试验向量 U G U_G UG?
  • 选择操作
  • 存储成功改进个体的CR,FCP,F值
  • 更新外部存档A
  • 更新记忆项 M C R , M F , M F C P M_{CR},M_{F},M_{FCP} MCR?,MF?,MFCP?
    在这里插入图片描述

实验结果分析

在这里插入图片描述

  • 低维度上SPACMA没有明显改善
  • 中等维度上SPA发挥了作用
  • 高维度上CMA发挥了作用

源代码

matlab code

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 16:03:48  更:2021-12-18 16:04:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:56:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码