一、粒子群算法优化极限学习机ELM简介

PSO-ELM优化算法预测模型
ELM模型在训练之前可以随机产生ω和b, 只需要确定隐含层神经元个数及隐含层神经元激活函数, 即可实现ELM预测模型的构建。在ELM模型的构建中, 只需确定初始ω和b, 而无需复杂的参数设置, 具有学习速度快、泛化性能好等优点。然而在发动机参数预测过程中, 不同的参数设置, 对预测模型的准确度起着一定程度的影响。此时, 如果通过简单的随机选取初始化参数方法来构建极限学习机模型, 在一定程度上存在着模型构建中隐含层节点冗余等缺点, 这在一定程度上阻碍了ELM模型的精确性。因此, 在构建EGTM数据预测模型的过程中, 可通过PSO算法寻优确定模型的最佳参数, 以保证ELM模型的准确性。

PSO优化算法于1995年由美国学者Eberhart和Kennedy提出。在优化过程中, 通过跟踪个体最优粒子pmbest与群体最优粒子gmbest, 从而更新粒子的速度与位置:

式中:d表示粒子搜索的空间维数, i为搜索过程中种群规模大小, m为当前种群代数。r∈(0,1), 表示随机数, c∈(0,2), 表示学习因子, 取值由经验设定。ω为惯性权重系数, 用x与v分别表示粒子的当前位置与当前速度, pmbest表示当前个体最优粒子位置, gmbest表示当前群体最优粒子位置。

利用PSO算法的收敛性强、鲁棒性好等优点, 可以在较短的运行时间内, 在保证精确度的情况下有效地寻找全局最优解。PSO-ELM算法的流程如图1所示。

图1 PSO-ELM算法流程图
如图1所示, 在构建ELM预测模型的过程中, 利用PSO算法的参数优化能力, 通过建立适应值函数计算适应值, 以验证PSO算法中粒子的优劣。通过不断更新粒子, 以确保粒子不断趋向于全局最优。在预测过程中, 以预测结果与真实值之间的误差作为适应值函数, 通过寻找使得适应值函数最小的全局最优解, 从而确定更加精确的ELM预测模型, 为构建合理的ELM预测模型提供了理论基础。

二、部分源代码

clc
clear all
%% 遍历和分组
raw = xlsread('gaopin.xlsx');
data = zeros(876,6);
label = zeros(876,1);
for i=1:876for j=0:5data(i,j+1) = raw(i+j);end;label(i,1) = raw(i+6);
end;data_train = data(1:793,1:6);
label_train = label(1:793,1);data_test = data(794:876,1:6);
label_test= label(794:876,1);%% 载入数据
AllSamIn = data_train';
AllSamOut =label_train';
AllTestIn=data_test';
AllTestOut=label_test';%% 训练样本归一化
global minAllSamOut;
global maxAllSamOut;
[AllSamInn,minAllSamIn,maxAllSamIn,AllSamOutn,minAllSamOut,maxAllSamOut] = premnmx(AllSamIn,AllSamOut);
TrainSamIn=AllSamInn;
TrainSamOut=AllSamOutn;
global Ptrain;
Ptrain = TrainSamIn;
global Ttrain;
Ttrain = TrainSamOut;  %% 测试样本归一化
global minAllTestOut;
global maxAllTestOut;
[AllTestInn,minAllTestIn,maxAllTestIn,AllTestOutn,minAllTestOut,maxAllTestOut] = premnmx(AllTestIn,AllTestOut);
TestIn=AllTestInn;
TestOut=AllTestOutn;
global Ptest;
Ptest = TestIn;
global Ttest;
Ttest = TestOut; %% 加载网络的初始变量
global indim;
indim=6;
global hiddennum;
hiddennum=50;
global outdim;
outdim=1;%% 加载PSO模型的相关参数
vmax=1;
minerr=0.001;
wmax=0.80;
wmin=0.40;
global itmax;
itmax=100;
c1=2.4;
c2=1.6;
for iter=1:itmaxW(iter)=wmax-((wmax-wmin)/itmax)*iter;
end
a=-1;
b=1;
m=-1;
n=1;
global N;
N=100;
global D;
D=(indim+1)*hiddennum+(hiddennum+1)*outdim;
rand('state',sum(100*clock));
X=a+(b-a)*rand(N,D,1);
V=m+(n-m)*rand(N,D,1);
global fvrec;
MinFit=[];
BestFit=[];%% PSO优化ELM模型 过程 1
fitness=fitcal(X,indim,hiddennum,outdim,D,Ptrain,Ttrain,minAllSamOut,maxAllSamOut);
fvrec(:,1,1)=fitness(:,1,1);
[C,I]=min(fitness(:,1,1));
MinFit=[MinFit C];
BestFit=[BestFit C];
L(:,1,1)=fitness(:,1,1);
B(1,1,1)=C;
gbest(1,:,1)=X(I,:,1); for p=1:NG(p,:,1)=gbest(1,:,1);
endfor i=1:N;pbest(i,:,1)=X(i,:,1);
end
V(:,:,2)=W(1)*V(:,:,1)+c1*rand*(pbest(:,:,1)-X(:,:,1))+c2*rand*(G(:,:,1)-X(:,:,1));for ni=1:Nfor di=1:Dif V(ni,di,2) > vmaxV(ni,di,2) = vmax;elseif V(ni,di,2) < -vmaxV(ni,di,2) = -vmax;elseV(ni,di,2) = V(ni,di,2);endend
end

三、运行结果


四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.
[6]戴邵武,陈强强,刘志豪,戴洪德.基于粒子群极限学习机的排气温度裕度预测[J].仪表技术. 2019,(06)

【ELM回归预测】基于matlab粒子群算法优化ELM回归预测【含Matlab源码 1722期】相关推荐

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

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

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

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

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

    一.粒子群算法简介 1 粒子群算法简介 1.1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他 ...

  4. 【SVM回归预测】基于matlab粒子群算法优化SVM回归预测【含Matlab源码 1424期】

    ⛄一.粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都 ...

  5. 【SVM回归预测】基于matlab粒子群算法优化SVM回归预测(多输入多输出)【含Matlab源码 1421期】

    一.粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都遵 ...

  6. 【数字信号去噪】基于matlab粒子群算法优化VMD分解分量选择数字信号降噪【含Matlab源码 1979期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号去噪]基于matlab粒子群算法优化VMD分解分量选择数字信号降噪[含Matlab源码 1979期] 点击上面蓝色字体,直接付费 ...

  7. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  8. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  9. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

最新文章

  1. NVIDIA DeepStream 5.0构建智能视频分析应用程序
  2. Windows 2003 标准版_企业版_SP1_SP2_R2的区别
  3. XP系统,无法创建新的网络连接
  4. 2017-4-26 winform 菜单和工具栏
  5. 豪斯荷尔德变换 matlab,隐式QR法求实矩阵的全部特征值matlab实现
  6. 【转载】shell实例手册
  7. eyoucms内容添加发布
  8. Linux下tomcat修改端口(80)
  9. 玩qq游戏提示计算机内存不足,win10系统玩游戏提示“计算机内存不足”怎么办...
  10. NFT Insider #38:YGG旗下YGG SEA融资1500万美元,耐克收购虚拟时尚品牌RTFKT
  11. Unity3D - 高动态范围(Hight Dynamic Range - HDR)
  12. Portraiture 3.5.6磨皮滤镜插件适用于Photoshop磨皮美化功能
  13. windows xp 64位版本 有些失望~
  14. 【uniapp基础篇】上传图片
  15. 合并的表格怎么加横线_如何在excel中文字后面加横线
  16. 分布式处理数据:client
  17. 创建型模式——原型模型(Prototype Pattern)
  18. Java并发编程的艺术-并发编程基础
  19. Unity3D优化总结
  20. 江西大数据平台上线带动赣鄱阳物联网板块-2017年9月江西IDC排行榜与发展报告

热门文章

  1. 基于华为端口安全的网络实验题
  2. 2022ccpc记录
  3. 2021年ACM竞赛班训练(六)题解
  4. gpnmb+ gpnmb-AT2 cell空转映射 上皮细胞的空转映射
  5. Python应用篇——词频统计
  6. Educational Codeforces Round 110 (Rated for Div. 2) D. Playoff Tournament
  7. python 导入 arcpy模块_ArcPy学习入门(六):导入Arcpy-阿里云开发者社区
  8. matlab绘制三维点云和点云凸包
  9. 光伏产业常用中英文名词
  10. 【Python】Selenium模拟点击网页下载文件