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

news2024/12/27 2:43:48

基于遗传算法优化的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

遗传算法的具体原理参考博客

遗传算法的优化参数为惩罚参数和核惩罚参数。适应度函数为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;%最大迭代次数             

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

GA-LSSVM优化得到的最优参数为:
GA-LSSVM优化得到的gama为:3.5556
GA-LSSVM优化得到的sig2为:0.22408

GA-LSSVM结果:
GA-LSSVM训练集MSE:0.066439
GA-LSSVM测试集MSE:0.041958
LSSVM结果:
LSSVM训练集MSE:0.16464
LSSVM测试集MSE:0.093016

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

5.Matlab代码

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

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

相关文章

使用openshift 进行云平台连接

使用openshift 进行云平台连接 OpenShift CLI on Windows openshift 文档地址 OpenShift CLI on Mac 通过Homebrew方式安装 brew install openshift-cli安装完成,进行验证 oc version服务连接 oc login 服务地址根据提示输入用户名和密码,即可连接…

某讯滑块验证码反汇编分析-第一章

某讯滑块验证码反汇编分析-第一章js分析初步分析vmp结构js分析 在滑动完成后,会请求【cap_union_new_verify】接口,其中有5个比较长的参数,看起来可能会有加密的,分别如下。 参数名来源uasesscollecteksvData 那现在js看看这些参…

让车机「下雨」,路特斯的智能座舱跑偏了吗?

HIEV消息(文/张祥威)“我们今天用双8155,都觉得(算力)还不够。”杨平说。 这位路特斯的智能座舱研发负责人,目前带领着一支两百多人的团队,为Eletre这款车操刀座舱智能化。 双8155,指…

Gitee应用(1):快速搭建Git环境在不同电脑同步文件

一、前言 环境:Windows 11 64位 ;vscode:1.73.1 当你要操作在两台不同的电脑上操作,或许经常会遇到一个问题,就是怎么同步同一个或几个文件,以方便你在不同的电脑上进行同个文件内容的创作。 在申请了公司电…

【Java难点攻克】「NIO和内存映射性能提升系列」彻底透析NIO底层的内存映射机制原理与Direct Memory的关系

NIO与内存映射文件 Java类库中的NIO包相对于IO包来说有一个新功能就是 【内存映射文件】,在业务层面的日常开发过程中并不是经常会使用,但是一旦在处理大文件时是比较理想的提高效率的手段,之前已经在基于API和开发实战角度介绍了相关的大文…

Java Math类

JavaMath类\huge{Java \space Math类}Java Math类 Math类 包含执行基本数字运算的方法,Math类没有提供公开的构造器。 MathMathMath类本质就是一个工具类,提供许多方法用于其他类调用,但是无法创建子类对象。 常用方法 ①. abs()取绝对值…

CANoe测试的两种方式Test Module 和 Test Unit对比,你常用哪种呢?

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…

前端接口联调时传的参数是array数组形式处理

情景:使用van-uolaoder组件上传多个图片后调用保存按钮,这时由于存在多张图片,调用接口时前端传的参数就是数组形式。(前端传的数组要先转为字符串) 处理方法是: 1. 先确定后端使用什么注解,如…

Gerb视图支持新表单和旧表单

Gerb视图支持新表单和旧表单 GerbView生产高级软件Companions,但也易于替换、打印和查看HPGL、HPGL/2、Excellon和国际象棋文件。该程序支持RS274D和RS274X。您可以使用此软件将旧格式和标准RS274D转换为具有默认信息的新类型RS274X。Gerbview将致力于展示和绘制您的…

计算机毕业设计django基于python租房系统-房屋租赁系统

项目介绍 在各学校的教学过程中,租房系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的租房系统的平台,这样可以有效地解决租房系统混乱的局面。 本文…

(P3)python类的特殊方法 init、getitem、len、call

python 类的特殊方法 参考资料 python解释器遇到特殊句法时,会去调用特殊方法,这些特殊方法以双下划线开头。 1、__init __ () 该方法在对象创建时被解释器自动调用。 2、__getitem __ () getitem 获取实例对象的具体内容 p[key] 3、__len __() len …

牛客挑战赛65 D.233求min(二维偏序 树状数组/cdq分治)

题目 给出长度为n(n<1e5)的序列a1,a2,...,an​和b1,b2,...,bn(-1e3<ai,bi<1e3)&#xff0c; 请你找出1≤l≤r≤n&#xff0c;使得min(alal1...ar, blbl1...br)最大&#xff0c;并输出这个值 思路来源 官方题解 LYC_music submission 题解 两种做法&#xff0c; …

Python模块和包的介绍(模块含义、用模块好处、模块分类、包和模块的创建)

&#x1f308; 个人主页&#xff1a;王子玉博客 &#x1f506; 免费专栏&#xff1a;Python基础教程、python常用模块 ❤️ 分享网站&#xff1a; 《Python自学网》&#x1f449;&#x1f449;基础入门到逐步深入 | 适合新手入门到精通 | web开发、爬虫、自动化运维、自动化…

yocto 自动挂载分区(基于stmp32mp1)

yocto 自动挂载分区&#xff08;基于stmp32mp1&#xff09; 上一章我们在stm32mp1开发板上实践了创建分区的过程&#xff0c;本节我们再来分析下上小节创建的分区开机时是怎么完成分区的自动挂载的。 答案就在systemd里面&#xff1a; 下面就来详细分析一下这个几个文件 mo…

C/C++入门003-C语言变量与运算符

文章目录变量常量的概念常量的类型变量的概念定义变量为什么要定义变量如何使用变量&#xff1f;变量初始化修改变量变量之间的值传递如何查看变量的值?变量的作用域printf函数scanf函数函数的参数运算符算数运算符赋值运算符sizeof运算符逗号运算符关系运算符逻辑运算符三目运…

攻击类型的攻击次数分布

攻击类型分析 2018 年&#xff0c;主要的攻击类型 1 为 SYN Flood&#xff0c;UDP Flood&#xff0c;ACK Flood&#xff0c;HTTP Flood&#xff0c;HTTPS Flood&#xff0c; 这五大类攻击占了总攻击次数的 96&#xff05;&#xff0c;反射类攻击不足 3%。和 2017 年相比&…

【Linux网络编程】select多路复用

文章目录前言如何增强服务端的通信能力Linux的设计哲学文件描述符代码讲解以文件方式操作命令行阻塞函数与非阻塞函数轮询select()代码全貌The End前言 我们上节课讲解了服务端的编程(Linux服务端编程初体验) 本节课要讲的是select 提示&#xff1a;以下是本篇文章正文内容&am…

RocketMQ引发的磁盘预警复盘

RocketMQ引发的磁盘预警复盘前言发现问题排查过程Step 1Step 2Step 3Step 4Step 5Step 6Step 7Step 8Step 9解决方式写在最后前言 一款优秀的中间件&#xff0c;参数的缺省值必然是经过反复验证得出的最优解&#xff0c;勿动&#xff01; 发现问题 某台SaaS服务器磁盘不足发出…

kafka的 __consumer_offsets

Zookeeper不适合大批量的频繁写入操作。Kafka 1.0.2将consumer的位移信息保存在Kafka内部的topic中&#xff0c;即__consumer_offsets主题&#xff0c;并且默认提供了kafka_consumer_groups.sh脚本供用户查看consumer信息。 1、创建topic “tp_test_01” [rootnode1 ~]# kafka…

《Linux运维总结:Centos7.6部署二进制mongodb4.4.8三节点副本集群》

一、Mongodb集群模式 1、三种集群介绍 MongoDB有三种集群部署模式&#xff0c;分别为主从复制&#xff08;Master-Slaver&#xff09;、副本集&#xff08;Replica Set&#xff09;和分片&#xff08;Sharding&#xff09;模式。 1、Master-Slaver 是一种主从副本的模式&#x…