关于量子遗传算法,在众多文献均有应用。下面简述一下原理。
(1)量子比特编码
子遗传算法通过引入量子比特来完成基因的存储和表达。量子比特是量子信息中的概念,它与经典比特不同,是因为它可以在同一时刻处于两个状态的叠加中。一个两态的基因使用一个量子比特编码则有:
α 与 β 是概率幅常数且取值满足式:
φ 不再表达一个确定的信息,可以为“0”态也可 以为“1”态,成为一个拥有表达二者可能的信息。使用 n 个量子比特编码对种群中 1 个 个体的 m 个参数的基因进行编码:
式中,uj t 表示第 t 代种群中第 j 个个体的染色体。
(2)量子旋转门
量子门是算法中实现演化的重要步骤。量子门 的选择直接决定了种群能否演化成功和演化的方 向[11]。这里选择量子旋转门作为种群的进化策略。θi 为旋转角,则量子旋转 门的调整操作为:
先调整策略,确定旋转角 θi,在对当前个体 u 进行更新时需要对比当前种群中最优个体 best 确定旋转角方向 s(αi,βi)。计算当前个体测量值的适应 度 与当前种群中最优个体的适应度 (fbest)。如 果 (fu)>(f best)则改变 u 中的对应的量子比特,引导概率幅常数 αi,βi 向着有利于个体 u 产生的方向进化,如果 (fu)<(f best)同样改变 u 中对应的量子比特,引导概率幅常数 αi,βi 向着有利于个体 best 产生 的方向进化。
在CEC2005测试函数中,表现如下:
量子遗传算法步骤如下:
量子遗传算法优化VMD参数
本期采用量子遗传算法优化一下VMD参数。利用MATLAB官方自带的VMD函数。
替换为官方自带的VMD函数后,寻优速度真的大幅度提升!数据量大的不妨都试试这个官方的VMD函数。当然要下载2020a以上的MATLAB才可以哦!
同样以西储大学数据集为例,选用105.mat中的X105_BA_time.mat数据中1000个数据点。没有数据的看这篇文章。西储大学轴承诊断数据处理,matlab免费代码获取
选取五种适应度函数进行优化,以此确定VMD的最佳k和α参数。五种适应度函数分别是:最小包络熵,最小样本熵,最小信息熵,最小排列熵,排列熵/互信息熵,代码中可以一键切换。至于应该选择哪种作为自己的适应度函数,大家可以看这篇文章。VMD为什么需要进行参数优化,最小包络熵/样本熵/排列熵/信息熵,适应度函数到底该选哪个
1.最小包络熵作为适应度函数
2.最小样本熵作为适应度函数
3.最小信息熵作为适应度函数
4.最小排列熵作为适应度函数
5.复合指标作为适应度函数
有关复合指标的介绍如下:
该指标出自文献:鲁铁定,何锦亮,贺小星等.参数优化变分模态分解的GNSS坐标时间序列降噪方法[J/OL].武汉大学学报(信息科学版),1-15[2024-02-29].https://doi.org/10.13203/j.whugis20220363.
结果图:
本文代码获取链接:
https://mbd.pub/o/bread/mbd-ZZyXmptx
跳转二维码获取:
已经此算法加入优化VMD全家桶中!
优化VMD全家桶链接:
https://mbd.pub/o/bread/ZZaVlp5x
跳转二维码获取优化VMD全家桶:
往期优化vmd文章总结:
优化VMD一篇搞定!