回归预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出

目录

  • 回归预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出
    • 预测效果
    • 基本介绍
    • 模型描述
    • 程序设计
    • 参考资料

预测效果








基本介绍

MATLAB实现PSO_LSSVM粒子群算法优化最小二乘支持向量机多输入单输出。
Matlab实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多变量回归预测
1.为数据集,输入6个特征,输出一个变量。
2.PSO_LSSVM.m为主程序主文件,其余为函数文件无需运行。
3.命令窗口输出MAE、MSE、R2、RMSEP和RPD,可在下载区获取数据和程序内容。
4.粒子群算法优化最小二乘支持向量机,优化RBF 核函数gam和sig。
注意程序和数据放在一个文件夹,运行环境为Matlab2018及以上.

模型描述

LSSVM参数优化问题没有确定或通用的共识方法。由于智能算法在预测模型参数的选取确定方面具有稳健性和通用性,预测模型参数最优化过程中主要采用了遗传算法、果蝇优化算法、萤火虫算法、粒子群算法(PSO)、网格搜索算法、神经网络等智能算法。粒子群算法不断调整自身和种群最优位置关系,具有更强寻优能力。因此,为进一步得到可靠的模型参数,可沿用粒子群算法进行尝试验证。

程序设计

  • 完整程序和数据下载方式1(资源处直接下载):MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出
  • 完整程序和数据下载方式2(订阅《智能学习》专栏,同时获取《智能学习》专栏收录程序6份,数据订阅后私信我获取):MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出
%%  参数设置
pop = 5;              % 种群数目
Max_iter = 50;         % 迭代次数
dim = 2;               % 优化参数个数
lb = [10,   10];       % 下限
ub = [1000, 1000];       % 上限%% 优化函数
fobj = @(x)fitnessfunclssvm(x, p_train, t_train);%% 优化
[Best_pos, Best_score, curve] = PSO(pop, Max_iter, lb, ub, dim, fobj);%% LSSVM参数设置
type       = 'f';                % 模型类型 回归
kernel     = 'RBF_kernel';       % RBF 核函数
proprecess = 'preprocess';       % 是否归一化%% 建立模型
gam = Best_score(1);
sig = Best_score(2);
model = initlssvm(p_train, t_train, type, gam, sig, kernel, proprecess);%% 训练模型
model = trainlssvm(model);%% 模型预测
t_sim1 = simlssvm(model, p_train);
t_sim2 = simlssvm(model, p_test);%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
%% 定义粒子群算法参数
% N 种群 T 迭代次数
%% 随机初始化种群
D=dim;                   %粒子维数
c1=1.5;                 %学习因子1
c2=1.5;                 %学习因子2
w=0.8;                  %惯性权重Xmax=ub;                %位置最大值
Xmin=lb;               %位置最小值
Vmax=ub;                %速度最大值
Vmin=lb;               %速度最小值
%%
%%%%%%%%%%%%%%%%初始化种群个体(限定位置和速度)%%%%%%%%%%%%%%%%x=rand(N,D).*(Xmax-Xmin)+Xmin;
v=rand(N,D).*(Vmax-Vmin)+Vmin;
%%%%%%%%%%%%%%%%%%初始化个体最优位置和最优值%%%%%%%%%%%%%%%%%%%
p=x;
pbest=ones(N,1);
for i=1:Npbest(i)=fobj(x(i,:));
end
%%%%%%%%%%%%%%%%%%%初始化全局最优位置和最优值%%%%%%%%%%%%%%%%%%
g=ones(1,D);
gbest=inf;
for i=1:Nif(pbest(i)<gbest)g=p(i,:);gbest=pbest(i);end
end
%%%%%%%%%%%按照公式依次迭代直到满足精度或者迭代次数%%%%%%%%%%%%%
for i=1:Tifor j=1:N%%%%%%%%%%%%%%更新个体最优位置和最优值%%%%%%%%%%%%%%%%%if (fobj(x(j,:))) <pbest(j)p(j,:)=x(j,:);pbest(j)=fobj(x(j,:)); end%%%%%%%%%%%%%%%%更新全局最优位置和最优值%%%%%%%%%%%%%%%if(pbest(j)<gbest)g=p(j,:);gbest=pbest(j);end%%%%%%%%%%%%%%%%%跟新位置和速度值%%%%%%%%%%%%%%%%%%%%%v(j,:)=w*v(j,:)+c1*rand*(p(j,:)-x(j,:))...+c2*rand*(g-x(j,:));x(j,:)=x(j,:)+v(j,:);%%%%%%%%%%%%%%%%%%%%边界条件处理%%%%%%%%%%%%%%%%%%%%%%if length(Vmax)==1for ii=1:Dif (v(j,ii)>Vmax)  |  (v(j,ii)< Vmin)v(j,ii)=rand * (Vmax-Vmin)+Vmin;endif (x(j,ii)>Xmax)  |  (x(j,ii)< Xmin)x(j,ii)=rand * (Xmax-Xmin)+Xmin;endend           elsefor ii=1:Dif (v(j,ii)>Vmax(ii))  |  (v(j,ii)< Vmin(ii))v(j,ii)=rand * (Vmax(ii)-Vmin(ii))+Vmin(ii);endif (x(j,ii)>Xmax(ii))  |  (x(j,ii)< Xmin(ii))x(j,ii)=rand * (Xmax(ii)-Xmin(ii))+Xmin(ii);endendendend%%%%%%%%%%%%%%%%%%%%记录历代全局最优值%%%%%%%%%%%%%%%%%%%%%Convergence_curve(i)=gbest;%记录训练集的适应度值

参考资料

[1] https://blog.csdn.net/article/details/126072792?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/article/details/126044265?spm=1001.2014.3001.5502

回归预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出相关推荐

  1. 【回归预测-lssvm】基于粒子群算法优化最小二乘支持向量机lssvm实现数据回归预测附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  2. 回归预测 | MATLAB实现PLS(偏最小二乘法)和PCR(主成分回归)多输入单输出

    回归预测 | MATLAB实现PLS(偏最小二乘法)和PCR(主成分回归)多输入单输出 目录 回归预测 | MATLAB实现PLS(偏最小二乘法)和PCR(主成分回归)多输入单输出 预测效果 基本介绍 ...

  3. 【回归预测-ELM预测】基于粒子群算法PSO优化极限学习机预测附matlab代码

    1 内容介绍 风电功率预测为电网规划提供重要的依据,研究风电功率预测方法对确保电网在安全稳定运行下接纳更多的风电具有重要的意义.针对极限学习机(ELM)回归模型预测结果受输入参数影响的问题,现将粒子群 ...

  4. PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码

    PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码(有优化前后的对比) 代码注释清楚. main为运行主程序,可以读取本地EXCEL数据,也可以加载本地数据.mat,使用换自 ...

  5. 回归预测 | MATLAB实现PSO-GCNN粒子群算法优化分组卷积神经网络的数据多输入单输出回归预测

    回归预测 | MATLAB实现PSO-GCNN粒子群算法优化分组卷积神经网络的数据多输入单输出回归预测 目录 回归预测 | MATLAB实现PSO-GCNN粒子群算法优化分组卷积神经网络的数据多输入单 ...

  6. matlab代码:基于粒子群算法的智能微电网经济运行优化 智能微电网PSO优化算法

    matlab代码:基于粒子群算法的智能微电网经济运行优化 智能微电网PSO优化算法 基于时段电价差异,制定合理的储能系统充放电运行方式,优化各时段微电网与主网之间的交换功率,从而使得风光储微网系统综合 ...

  7. 【ELM回归预测】基于matlab粒子群算法优化ELM回归预测【含Matlab源码 036期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [优化预测]基于matlab粒子群算法优化ELM神经网络预测[含Matlab源码 036期] 二.粒子群算法及ELM简介 1 粒子群算法简 ...

  8. 【ELM回归预测】基于matlab粒子群算法优化ELM回归预测【含Matlab源码 1722期】

    一.粒子群算法优化极限学习机ELM简介 PSO-ELM优化算法预测模型 ELM模型在训练之前可以随机产生ω和b, 只需要确定隐含层神经元个数及隐含层神经元激活函数, 即可实现ELM预测模型的构建.在E ...

  9. 【ELM数据预测】基于matlab粒子群算法优化ELM数据预测(含前后对比)【含Matlab源码 449期】

    一.粒子群算法优化极限学习机ELM简介 PSO-ELM优化算法预测模型 ELM模型在训练之前可以随机产生ω和b, 只需要确定隐含层神经元个数及隐含层神经元激活函数, 即可实现ELM预测模型的构建.在E ...

最新文章

  1. 如何利用自组织竞争网络进行患者癌症发病预测
  2. Tomcat下conf下server.xml的文件配置信息
  3. nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
  4. python中import与input_python : import详解。
  5. 如何在Netweaver SE16里直接查看某数据库行记录
  6. Dijkstra 最短路径算法详解 无向图
  7. Maven学习(八)-----Maven依赖机制
  8. cadence 常见pcb电阻_高速PCB培训手记
  9. UWP锁、解屏后无法响应操作
  10. HDU 3082 HDOJ 3082 Simplify The Circuit ACM 3082 IN HDU
  11. 11.73 亿人看央视春晚;苹果逼用户买充电器;特斯拉 Model 3 降价七千 | 极客头条...
  12. 安全上下文以及FACL
  13. Mac/IOS Xcode Instruments资源统计及自动化相关
  14. Python入门(基本概念一)
  15. 对路径的访问被拒绝怎么办_工作组计算机无法访问,教您无法访问工作组计算机的解决技巧...
  16. java drawlines()方法
  17. wlan消失 网络适配器文件夹空了 设备管理器黄色感叹号 wifi那里看不到任何WiFi解决
  18. 新概念二册 Lesson 13 The Greenwood Boys绿林少年 (将来进行时)
  19. 1520 - 骑士的金币(coin)
  20. 种子计数法对种子公司的好处

热门文章

  1. 步进电机驱动器设计c语言软件,最新基于单片机系统的步进电机驱动STC单片机步进电机驱动器的设计及C语言程序.doc...
  2. python 提取pdf表格_用Python提取pdf文件中的表格数据
  3. LM1640数码管驱动芯片的使用方法
  4. GD25Q127C编程器写不进去的原因
  5. JZOJ 1775. 合并果子2 (Standard IO)
  6. 数字经济、数字社会、数字政府到底是什么?
  7. Ubuntu + nvidia驱动+ cuda安装教程以及重装问题
  8. 联想小新Air15 2021新款11代酷睿版win10+Ubuntu16.04双系统装机笔记
  9. Android之TextToSpeech类
  10. 详细讲解RNN+LSTM+Tree_LSTM(Tree-Long Short Term Memory)基于树状长短期记忆网络