Python-实战:基于白鲸BWO算法的VMD超参数优化
目录
1、白鲸优化算法
2、BWO优化VMD参数
3、实战
3.1 原始时间序列数据
3.2 VMD分解--直接设置参数
3.3 采用BWO优化VMD
4、代码
在博客的基础上,本文利用白鲸优化算法对VMD的参数进行优化,采用python实现。
1、白鲸优化算法
白鲸优化算法([Beluga whale optimization,BWO)是由是由 Changting Zhong 等于2022 年提出的一种群体智能优化算法。其灵感来源于白鲸的群体觅食行为,具有3个阶段,分别是:探索、开发、鲸落,如下
2、BWO优化VMD参数
时间序列越复杂,包络熵的计算值越大,反之亦然。因此,应用VMD对信号进行分解后,计算每个子序列的包络值,包络最小的序列为所分解序列的趋势项。
当分解数K较小时,可能导致信号分解不足,趋势项中混入其他干扰项,导致包络熵值变大。当取适当的K值时,趋势项的包络熵变小。因此,将分解出的IMF中的最小的那个熵(局部包络熵)最小化时,VMD分解为最佳。
那么如何去找到局部包络熵,就需要用到白鲸优化算法,当前其他的优化算法都是可以实现的。适应度函数如下:
'''适应度函数,最小化各VMD分量的局部包络熵'''
def fitness(pop,data):np.random.seed(0)K = int(pop[0])alpha = int(pop[1])#print(K,alpha)tau = 0 DC = 0 init = 1 tol = 1e-7imf,res,u_hat,omega=VMD(data, alpha, tau, K, DC, init, tol)comp=np.vstack([imf,res.reshape(1,-1)])SE = 0se_imf=[]for i in range(comp.shape[0]):temp= BaoLuoShang(comp[i,:])SE +=tempse_imf.append(temp)# fit = SE# fit = SE/Kfit = min(se_imf)np.random.seed(int(time.time()))return fit
3、实战
3.1 原始时间序列数据
3.2 VMD分解--直接设置参数
alpha = 10.0
K = 3
tau = 0
DC = 0
init = 1
tol = 1e-7
imf,res,u_hat,omega=VMD(data, alpha, tau, K, DC, init, tol)
3.3 采用BWO优化VMD
最优的k和alpha为5和4
t:1 ,best fit=2.7628 ,best pop= [2, 108]
t:2 ,best fit=2.7628 ,best pop= [2, 108]
t:3 ,best fit=2.7538 ,best pop= [4, 51]
t:4 ,best fit=2.7538 ,best pop= [4, 51]
t:5 ,best fit=2.7441 ,best pop= [2, 20]
t:6 ,best fit=2.7288 ,best pop= [5, 4]
t:7 ,best fit=2.7288 ,best pop= [5, 4]
t:8 ,best fit=2.7288 ,best pop= [5, 4]
t:9 ,best fit=2.7288 ,best pop= [5, 4]
t:10 ,best fit=2.7288 ,best pop= [5, 4]
4、代码
详细代码见评论区
Python-实战:基于白鲸BWO算法的VMD超参数优化相关推荐
- 全网最全:机器学习算法模型自动超参数优化方法汇总
什么是超参数? 学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter).还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper ...
- 【机器学习】算法模型自动超参数优化方法
什么是超参数? 学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter).还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper ...
- Python-实战:基于鲸鱼WOA的VMD超参数优化
目录 1 原理 2 实战 2.1 原始时间序列 2.2 直接设置参数进行VMD分解 2.3 WOA优化VMD超参数 2.4 利用优化的参数进行VMD分解 3 代码 在VMD--变分模态分解的使用中,他 ...
- 【布局优化】基于改进粒子群算法实现充电桩选址优化问题附matlab代码
1 简介 当前世界环境污染和能源危机问题凸显,电动汽车以零排放和低耗能的优势得到各国的大力关注和支持.以电动汽车为代表新能源汽车产业,成为国家七大战略性新兴产业之一.电动汽车具有良好的发展前景,市场规 ...
- Python集成机器学习:用AdaBoost、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
最近我们被客户要求撰写关于集成机器的研究报告,包括一些图形和统计输出. Boosting 是一类集成机器学习算法,涉及结合许多弱学习器的预测. 视频:从决策树到随机森林:R语言信用卡违约分析信贷数据实 ...
- Python 机器学习 | 超参数优化 黑盒(Black-Box)非凸优化技术实践
文章目录 一.关键原理 二.Python 实践 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一.关键原理 为什么要做超参数优化? 机器学习建模预测时,超参数是用 ...
- [机器学习]超参数优化算法-SuccessiveHalving与Hyperband
一 传统优化算法 机器学习中模型性能的好坏往往与超参数(如batch size,filter size等)有密切的关系.最开始为了找到一个好的超参数,通常都是靠人工试错的方式找到"最优&qu ...
- [机器学习] 超参数优化算法-SuccessiveHalving, BH与BOHB
一 传统优化算法 机器学习中模型性能的好坏往往与超参数(如batch size,filter size等)有密切的关系.最开始为了找到一个好的超参数,通常都是靠人工试错的方式找到"最优&qu ...
- 【智能优化算法-白鲸算法】基于白鲸优化算法求解多目标优化问题附matlab代码
1 内容介绍 在本文中,一种新的基于群体的元启发式算法灵感来自白鲸的行为鲸鱼,称为白鲸优化(BWO),是为了解决优化问题而提出的.三在 BWO 中建立了探索.开发和鲸落的阶段,对应于成对游泳.猎物和鲸 ...
最新文章
- Java的jar文件安装成windows 服务
- 为学Linux,我看了这些书
- 架构师课程之-haproxy专业级负载均衡软件权威讲解
- Qt QWidget实现开关控件SwithButton(SlipButton)
- Continue to debug QDD504 read - Service Order extractor debug
- Jakarta EE,EE4J和Java EE之间的关系
- 996!007!同是敲了2万行代码,为什么他却晋升了?
- 【ElasticSearch】Es 源码之 PeerRecoverySourceService 源码解读
- MultCloud – 支持数据互传的网盘管理
- 6.确保宿主变量定义为与列数据类型匹配
- 新买的Olmpus 7070,5.1照得几张照片
- License Server Version 11.9 Installation on Windows Server 2003 Hangs
- CTF密码学之SM4
- CAD .Net 开发-快速入门
- 股票自动买卖 java_股票如何实现程序化交易和自动交易?
- 一个量化交易策略师的自白_不安全设计师的自白
- 重装电脑麻烦,但值得
- 2所非211院校挺进全球高校600强,甩开一众985 | 泰晤士世界大学排行榜出炉
- java 假设检验_Spark机器学习-Java版(二)-相关系数和假设检验
- PHP实现附近的人、按距离排序之Redis GEO方案
热门文章
- 南航数据分析与挖掘课设1(下)——基于多元线性回归模型,ARIMA序列的中国GDP增长影响因素研究及预测(R语言代码附录)
- Day 3 Linux(目录篇 、文件操作篇 、压缩解压相关命令, 编辑器vi 、编译器gcc 、调试器gdb、 makefile工程管理器初学)
- jquery中的ajax方法请求后台数据
- 新疆计算机系统集成资质年审,新疆涉密信息系统集成资质
- yocto 更新补丁方法
- 国家电网一二次融合配电终端(FTU)发展新方向馈线自动化:具备集中型馈线自动化/就地型馈线自动化包括电压时间型、电压电流型、自适应综合型)及零序电流,零序电压或外施信号法的单相接地故障选线功能
- [ECE]模拟试题-2
- python画八角星_Goc-N角星的绘制
- SonrLint常见解决方案
- [week15] B - ZJM与生日礼物(选做)—— 字典树