基于鲸鱼算法优化的lssvm回归预测-附代码

news2024/9/22 15:52:05

基于鲸鱼算法优化的lssvm回归预测 - 附代码

文章目录

  • 基于鲸鱼算法优化的lssvm回归预测 - 附代码
    • 1.数据集
    • 2.lssvm模型
    • 3.基于鲸鱼算法优化的LSSVM
    • 4.测试结果
    • 5.Matlab代码

摘要:为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对lssvm中的惩罚参数和核惩罚参数利用鲸鱼算法进行优化。

1.数据集

数据信息如下:

data.mat 的中包含input数据和output数据

其中input数据维度为:2000*2

其中output数据维度为2000*1

所以RF模型的数据输入维度为2;输出维度为1。

2.lssvm模型

lssvm请自行参考相关机器学习书籍。

3.基于鲸鱼算法优化的LSSVM

鲸鱼算法的具体原理参考博客:https://blog.csdn.net/u011835903/article/details/107559167

鲸鱼算法的优化参数为惩罚参数和核惩罚参数。适应度函数为RF对训练集和测试集的均方误差(MSE),均方误差MSE越低越好。
f i n t e n e s s = M S E [ p r e d i c t ( t r a i n ) ] + M S E [ p r e d i c t ( t e s t ) ] finteness = MSE[predict(train)] + MSE[predict(test)] finteness=MSE[predict(train)]+MSE[predict(test)]

4.测试结果

数据划分信息如下: 训练集数量为1900组,测试集数量为100组

鲸鱼参数设置如下:

%% 利用鲸鱼算法选择回归预测分析最佳的lssSVM参数c&g
%%  鲸鱼参数设置
% 定义优化参数的个数,在该场景中,优化参数的个数dim为2 。
% 定义优化参数的上下限,如c的范围是[0.01, 1], g的范围是[2^-5, 2^5],那么参数的下限lb=[0.01, 2^-5];参数的上限ub=[1, 2^5]。
%目标函数
fobj = @(x) fun(x,Pn_train,Tn_train,Pn_test,Tn_test); 
% 优化参数的个数 (c、g)
dim = 2;
% 优化参数的取值下限
lb = [0.01,0.01];
ub = [5,5];
%  参数设置
pop =20; %鲸鱼数量
Max_iteration=5;%最大迭代次数             

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

WOA-LSSVM优化得到的最优参数为:
WOA-LSSVM优化得到的gama为:5
WOA-LSSVM优化得到的sig2为:0.55147

WOA-LSSVM结果:
WOA-LSSVM训练集MSE:0.05253
WOA-LSSVM测试集MSE:0.026222
LSSVM结果:
LSSVM训练集MSE:0.16558
LSSVM测试集MSE:0.072999

从MSE结果来看,经过改进后的鲸鱼-LSSVM明显优于未改进前的结果。

5.Matlab代码

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

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

相关文章

行列式基础

进阶版:(努力更新中) 二阶行列式 我们先来看看二元一次方程。 {a1,1x1a1,2x2b1a2,1x2a2,2x2b2\left\{ \begin{matrix} a_{_{1,1}} x_{_1} a_{_{1,2}} x_{_2} b_{_1} \\ \\ a_{_{2,1}} x_{_2} a_{_{2,2}} x_{_2} b_{_2} \end{matrix} \ri…

[附源码]计算机毕业设计葡萄酒销售管理系统论文Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【算法篇】利用堆高效解决大数据量时TOP-K问题

Top-k问题1.问题描述2.分析问题3.思路4.复杂度分析5.代码实现6.总结堆相关博客: 堆1.问题描述 TOP-K问题:即求数据结合中前K个最大的元素或者最小的元素,一般情况下数据量都比较大。 比如:专业前10名、世界500强、富豪榜、游戏中前…

C语言第十九课:补充知识——函数栈帧的创建与销毁

目录 前言: 一、寄存器: 二、函数栈帧的创建与销毁: 1.main函数函数栈帧开辟的准备: 2.main函数函数栈帧的开辟: 3.Add函数函数栈帧的开辟: 4.Add函数函数栈帧的销毁: 5.main函数函数栈帧的销…

Linux多线程

Linux多线程 文章目录Linux多线程1.Linux线程概念1.1 什么是线程1.2 线程的执行流1.3 线程的优缺点1.4 线程的异常与用途2.进程与线程的区别总结3.多进程与多线程的应用场景4.线程控制4.1 进程ID与线程ID4.2 线程创建(pthread_create)4.3 线程终止(pthread_exit、pthread_cance…

Unity计算着色器 01

序 计算着色器,是什么? Unity中ComputeShader的基础介绍与使用 - 知乎 (zhihu.com) 好像是并行计算的一个东西。再具体的,看不懂了。 并行计算,显卡? 那看来得先了解显卡,铺垫一下,再计划…

算法前缀和

一 和为 k 的子数组 1.1 题目描述 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。 示例 1: 输入:nums [1,1,1], k 2 输出: 2 解释: 此题 [1,1] 与 [1,1] 为两种不同的情况 示例 2: 输入:nums [1,2,3], k…

由浅入深,详解 LiveData 的那些事

引言 关于LiveData,在2022尾声的今天,从事 Android 开发的小伙伴一定不会陌生。相应的,关于 LiveData 解析与使用的文章更是数不胜数,其中不乏优秀的创作者,在众多的文章以及前辈面前,本篇也不敢妄谈能写的多么深入,易…

python使用Flask,Redis和Celery的异步任务

介绍 随着Web应用程序的发展和使用的增加,用例也变得多样化。我们现在正在建设和使用网站来执行比以往任何时候都更复杂的任务。其中一些任务可以进行处理,并将反馈立即转发给用户,而其他任务则需要稍后进行进一步处理和结果转发。越来越多地…

冯诺依曼体系各硬件工作原理解析

文章目录计算机结构体系来源冯诺依曼体系结构主存储器的基本组成运算器的基本组成控制器的基本组成计算机的工作过程总结计算机结构体系来源 1946年,美国发明了世界上第一台计算机ENIAC,可用于比较快速的数据计算,但是其运算速度却受到了人工数据的输入速度的限制,为此我们现在…

NNDL实验 优化算法3D轨迹 鱼书例题3D版

这张图在网络上很流行。代码源自: 深度学习入门:基于Python的理论与实现 (ituring.com.cn) 2D版讲解:NNDL 作业11:优化算法比较 调整学习率等超参数,观察动画,可以加深对各种算法的理解。 配合实验的模型…

南方农业杂志南方农业杂志社南方农业编辑部2022年第19期目录

遗传育种 峨眉黑鸡遗传多样性及群体遗传结构分析 袁霞;刘方庆;文陇英;徐婧;廖光祥;王强胜;王湘; 1-7 栽培与植保《南方农业》投稿:cn7kantougao163.com 井窖式移栽烤烟前期地上部和地下部生长规律拟合分析 温明霞;郭发文;冯小芽;王军;刘京;彭剑涛;廉云; 8-1…

从进程的角度来看JVM的内存分布

JVM(下面JVM都是指代HotSpot)本质上是运行在操作系统上的一个C程序,本文会从这个角度来构建对于JVM内存的完整视角,以HotSpot这个JVM实现运行在Linux操作系统上进行分析,在分析的过程中会解释清楚一些不太好理解的概念,诸如堆外内…

双十二哪些数码好物值得入手?盘点双十二最值得入手的数码好物

双十二快到了,相信很多人像我一样想趁着年末入手数码产品,但又不知道什么值得入手。最近也听到很多人问,针对这个问题,我来给大家盘点双十二最值得入手的数码好物,有需要的可以当个参考。 一、南卡小音舱蓝牙耳机 推…

怎样批量查询网站是否被搜狗收录?批量查询网站搜狗收录的详细教程

怎样批量查询网站是否被搜狗收录?批量查询网站搜狗收录的详细教程 批量查询网站搜狗收录的的具体操作: 第一步、打开站长工具 第二步、添加需要查询的网站域名 第三步、勾选要查询的功能(勾选搜狗是否收录和搜狗总收录) 第四步、提交查询 第…

手把手教你在Ubuntu22.04 上安装 Vivado、HLS、Vitis 2022.2版本

文章目录1 Vivado22.2 和 HLS 22.2 安装下载安装包执行.bin文件开始安装命令配置启动问题2 Vitis 22.2 安装3 卸载Xilinx我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。欢迎来关注我的B站账号,我将定期更新IC设计教程。 …

手撕红黑树 | 变色+旋转你真的明白了吗?【超用心超详细图文解释 | 一篇学会Red_Black_Tree】

说在前面 我们也很久没有更新数据结构系列了,半年前博主重新深入学习了红黑树这个数据结构,一直想更新呈现给大家,最近也一直没有时间,今天红黑树它来了! 博主为了这篇博客,做了很多准备,试了…

怎么修复老照片?给你推荐这几个修复方法

相信大家的家里都有老照片吧,那在你们翻看这些老照片的时候,有没有发现有些老照片变得有些破旧、泛黄、模糊等情况呢?看到这些情况,大家是不是会很心疼呢?因为这些老照片都充满了各种各样的回忆,根本拍不出…

Docker查看容器的初始启动命令参数的常见几种方式

1.在使用docker容器的过程中,经常需要查看容器启动的命令来看当时启动容器时候所用的参数,如果时间不是很久或者通过history命令就可以很容易的想起或查看到命令,一旦时间过了很久或history被清空那么就无法获取命令,如下所示dock…

cengbox2靶机(hydra爆破、公私钥免密登录)

环境准备 靶机链接:百度网盘 请输入提取码 提取码:zdpr 虚拟机网络链接模式:桥接模式 攻击机系统:kali linux 2021.1 信息收集 1.arp-scan -l探测目标靶机ip 2.nmap -p- -A -T4 192.168.1.107 探测目标靶机开放端口和服务 …