当前位置: 首页 > news >正文

回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测

回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测

目录

    • 回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

1
2
3
4
5
6
7
8

基本介绍

Matlab实现WOA-ELM鲸鱼算法优化极限学习机多输入回归预测(完整源码和数据)
1.Matlab实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测(完整源码和数据)
2.输入多个特征,输出单个变量,多输入单输出回归预测;
3.多指标评价,评价指标包括:R2、MAE、MSE、RMSE等,代码质量极高;
4.鲸鱼算法优化参数为:优化参数为权值和阈值;
5.excel数据,方便替换,运行环境2018及以上。

程序设计

  • 完整程序和数据下载方式1(资源处直接下载):MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测
  • 完整程序和数据下载方式2(订阅《ELM极限学习机》专栏,同时可阅读《ELM极限学习机》专栏收录的所有内容,数据订阅后私信我获取):MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测
  • 完整程序和数据下载方式3(订阅《智能学习》专栏,同时获取《智能学习》专栏收录程序3份,数据订阅后私信我获取):MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测
%%  计算初始适应度值
fitness = zeros(1, pop);
for i = 1 : popfitness(i) =  fobj(pop_new(i, :));
end%%  得到全局最优适应度值
[fitness, index]= sort(fitness);
GBestF = fitness(1); %%  得到全局最优种群
for i = 1 : poppop_new(i, :) = pop_lsat(index(i), :);
endGBestX = pop_new(1, :);
X_new  = pop_new;%%  优化算法
for i = 1: Max_iterBestF = fitness(1);R2 = rand(1);for j = 1 : PDNumberif(R2 < ST)X_new(j, :) = pop_new(j, :) .* exp(-j / (rand(1) * Max_iter));elseX_new(j, :) = pop_new(j, :) + randn() * ones(1, dim);end     endfor j = PDNumber + 1 : popif(j > (pop - PDNumber) / 2 + PDNumber)X_new(j, :) = randn() .* exp((pop_new(end, :) - pop_new(j, :)) / j^2);elseA = ones(1, dim);for a = 1 : dimif(rand() > 0.5)A(a) = -1;endendAA = A' / (A * A');     X_new(j, :) = pop_new(1, :) + abs(pop_new(j, :) - pop_new(1, :)) .* AA';endendTemp = randperm(pop);SDchooseIndex = Temp(1 : SDNumber); for j = 1 : SDNumberif(fitness(SDchooseIndex(j)) > BestF)X_new(SDchooseIndex(j), :) = pop_new(1, :) + randn() .* abs(pop_new(SDchooseIndex(j), :) - pop_new(1, :));elseif(fitness(SDchooseIndex(j)) == BestF)K = 2 * rand() -1;X_new(SDchooseIndex(j), :) = pop_new(SDchooseIndex(j), :) + K .* (abs(pop_new(SDchooseIndex(j), :) - ...pop_new(end, :)) ./ (fitness(SDchooseIndex(j)) - fitness(end) + 10^-8));endend%%  边界控制for j = 1 : popfor a = 1 : dimif(X_new(j, a) > ub(a))X_new(j, a) = ub(a);endif(X_new(j, a) < lb(a))X_new(j, a) = lb(a);endendend %%  获取适应度值for j = 1 : popfitness_new(j) = fobj(X_new(j, :));end%%  获取最优种群for j = 1 : popif(fitness_new(j) < GBestF)GBestF = fitness_new(j);GBestX = X_new(j, :);endend%%  更新种群和适应度值pop_new = X_new;fitness = fitness_new;%%  更新种群 [fitness, index] = sort(fitness);for j = 1 : poppop_new(j, :) = pop_new(index(j), :);end%%  得到优化曲线curve(i) = GBestF;avcurve(i) = sum(curve) / length(curve);
end%%  得到最优值
Best_pos = GBestX;
Best_score = curve(end);

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718

http://www.lryc.cn/news/102789.html

相关文章:

  • 方法的定义和格式
  • 【Linux】进程篇(补):简易 shell 的实现(进程深刻理解、内建命令的使用)
  • django Ajax--前后端数据交互
  • 【嵌入式学习笔记】嵌入式入门1——GPIO
  • [SQL挖掘机] - 多表连接: union
  • AI面试官:SQL Server数据库(三)
  • python刑事案卷图片转pdf
  • vue使用driver.js完成页面引导的功能
  • 学习中遇到的好博客
  • 在CSDN学Golang云原生(Kubernetes集群安全)
  • 浅谈深度神经网络
  • 『C语言初阶』第六章-操作符详解
  • 企业知识文档管理+群晖nas安全云存储
  • ​《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话​
  • 对比CahtGPT Bard Claude2对中文的理解
  • 安全测试国家标准解读——并发程序安全
  • 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???
  • MySQL中锁的简介——行级锁
  • 4 个最常见的自动化测试挑战及应对措施
  • 23款奔驰GLE450豪华型升级AMG直瀑式中网,战斗感立马提升了一个档次
  • ALLEGRO之Logic
  • 算法leetcode|64. 最小路径和(rust重拳出击)
  • css---实现文本超过两行时显示省略号(...)的效果
  • 30-使用RocketMQ做削峰处理
  • 如何用非root账号安装k8s集群
  • windows环境安装elasticsearch+kibana并完成JAVA客户端查询
  • 高精度算法
  • DragGAN:用崭新的方式进行图像处理
  • 语音播放 linux
  • 各大互联网公司面经分享:Java 全栈知识 +1500 道大厂面试真题