700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【ELM回归预测】基于matlab遗传算法优化ELM回归预测【含Matlab源码 1673期】

【ELM回归预测】基于matlab遗传算法优化ELM回归预测【含Matlab源码 1673期】

时间:2020-11-24 20:21:07

相关推荐

【ELM回归预测】基于matlab遗传算法优化ELM回归预测【含Matlab源码 1673期】

一、ELM神经网络简介

1 引言

极限学习机不是一个新的东西,只是在算法(方法)上有新的内容。在神经网络结构上,就是一个前向传播的神经网络,和之前几篇博文讲的意义。

2 ELM最大的创新点

1)输入层和隐含层的连接权值、隐含层的阈值可以随机设定,且设定完后不用再调整。这和BP神经网络不一样,BP需要不断反向去调整权值和阈值。因此这里就能减少一半的运算量了。

2)隐含层和输出层之间的连接权值β不需要迭代调整,而是通过解方程组方式一次性确定。

研究表明,通过这样的规则,模型的泛化性能很好,速度提高了不少。

一言概之,ELM最大的特点就是对于传统的神经网络,尤其是单隐层前馈神经网络(SLFNs),在保证学习精度的前提下比传统的学习算法速度更快。

3 极限学习机原理

ELM是一种新型的快速学习算法,对于单隐层神经网络,ELM可以随机初始化输入权重和偏置并得到相应的输出权重。

单隐层神经网络学习的目标是使得输出的误差最小,可以表示为

可以矩阵表示为

三、部分源代码

%_________________________________________________________________________%% 基于遗传优化ELM回归预测 %%_________________________________________________________________________%clear all clc%% 导入数据load data% 随机生成训练集、测试集k = randperm(size(input,1));% 训练集——1900个样本P_train=input(k(1:1900),:)';T_train=output(k(1:1900));% 测试集——100个样本P_test=input(k(1901:2000),:)';T_test=output(k(1901:2000));%% 归一化% 训练集[Pn_train,inputps] = mapminmax(P_train,-1,1);Pn_test = mapminmax('apply',P_test,inputps);% 测试集[Tn_train,outputps] = mapminmax(T_train,-1,1);Tn_test = mapminmax('apply',T_test,outputps);%训练数据相关尺寸R = size(Pn_train,1);S = size(Tn_train,1);N = 20;%隐含层个数%% 定义遗传优化参数pop=20; %种群数量Max_iteration=50; % 设定最大迭代次数dim = N*R + N;%维度,即权值与阈值的个数lb = [-1.*ones(N*R,1);zeros(N,1)];%下边界ub = [ones(N*R,1);ones(N,1)];%上边界fobj = @(x) fun(x,Pn_train,Tn_train,N);[Best_score,Best_pos,GA_curve]=GA(pop,Max_iteration,lb,ub,dim,fobj); %开始优化[fitness,IW,B,LW,TF,TYPE] = fun(Best_pos,Pn_train,Tn_train,N);%获取优化后的相关参数figureplot(GA_curve,'linewidth',1.5);grid onxlabel('迭代次数')ylabel('适应度函数')title('GA-ELM收敛曲线')%% 数据对比绘图figureplot(T_test,'r*')hold onplot(T_sim,'b:o')plot(T_sim1,'g:o')xlabel('测试集样本编号')ylabel('测试集输出')title('ELM测试集输出')grid on;legend('期望输出','GA-ELM预测输出','ELM预测输出')figureplot(T_test-T_sim,'r-*')hold onplot(T_test-T_sim1,'b-*')xlabel('测试集样本编号')ylabel('绝对误差')title('ELM测试集预测误差')grid on;legend('GA-ELM预测输出误差','ELM预测输出误差')disp(['基础ELM MSE误差:',num2str(E1)])disp(['GA-ELM MSE误差:',num2str(E)])

四、运行结果

五、matlab版本及参考文献

1 matlab版本

a

2 参考文献

[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,.

[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,.

[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,.

[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,.

[5]方清城.MATLAB Ra神经网络设计与应用28个案例分析[M].清华大学出版社,.

[6]吕忠,周 强,周 琨,陈 立,申双葵.基于遗传算法改进极限学习机的变压器故障诊断[J].高压电工,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。