基于Matlab极限学习机ELM回归预测

Posted 博主QQ2449341593

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Matlab极限学习机ELM回归预测相关的知识,希望对你有一定的参考价值。

1 模型介绍

在ELM中先将训练样本导入,然后根据随机设置的输入层与隐层的权值Wi以及阈值Bi,然后再测试的时候不改变训练时候自动产生的Wi以及Bi,进行测试在于自己的结果进行比对从而得到测试误差。同样的在训练的时候也是如此来得到训练误差

训练模型如下:

m为输入层神经元个数,M为隐层神经元的个数,n为输出层神经元的个数,g()为隐层神经元你的激励函数,b为隐层神经元你的阈值,(xi,ti)为训练样本

极限学习机的训练模型的数学表达式:

wi=[w1i,w2i......wmi]为输入层与隐层的权值向量;  为输出层与隐层的权向量; 

极限学习机的代价函数E可表示为:

其中s=(wi,bi,i=1,2,3,......M)。黄广斌等人提出通过最小会待见函数的值来计算出输出函数与隐含层的权值,也就是最小化误差,使得训练的结果与实际的结果之间的差别变小,也就训练的越来越接近真实的结果。实际应用中,如果HHT非奇异,

 

为H矩阵的广义矩阵,而H矩阵是神经网络的隐层矩阵。O为预测目标值得向量。有岭回归理论可以知道,增加正常数1/C,可以使得结果更加稳定且具备更好的泛化能力也就是

岭回归是对最小二乘的一种补充,可以降低“病态矩阵”的概率,损失了无偏性,以换取数值的高稳定性。

2 代码

%初始化
clear
close all
clc
warning off
rng('default')

P=randi([1 10],3,100);        %构建训练数据的输入样本
T=sum(P,1);           %构建训练数据的输出样本
P1= randi([1 10],3,10);     %构建测试数据的输入样本
T1=sum(P1,1);           %构建测试数据的输出样本

% 归一化...使用mapminmax函数即可,由于生成的数据无量纲和数量级差异,跳过

%% ELM训练过程
N=3;       %输入层的神经元节点个数
L=30;     %隐含层的神经元节点个数
M=1;     %输出层的神经元节点个数

IW=2*rand(L,N)-1;           %初始化输入层与隐含层的连接权值,范围(-1,1)
B=rand(L,1);             %初始化隐含层的偏置,范围(0,1)
tempH = IW * P + B;  %计算隐含层的输出值
h= 1./ (1 + exp(tempH ));          %使用映射函数G(x)=1/(1+exp(x)),h为隐含层对第样本特征的映射值
LW=pinv(h')*T';          %求逆,得到输出层的权值,结束训练(转置是为了让维度对应)

%% ELM预测过程
tempH1=IW*P1+B;         %计算隐含层输出值
h1= 1./ (1 + exp(tempH1 ));        %对特征作映射
ELM_OUT= (h1' * LW)';

%% 分析预测的误差
error=T1-ELM_OUT;   %误差=实际值-预测值
disp('          序号     期望值      预测值       误差')
disp([1:10
    T1
    ELM_OUT
    error]')
disp('误差平方和...')
sse=sum(error.^2)    
disp('均方误差...')
mse=mean(error.^2) 
disp('平均相对误差...')
mape=mean(abs(error)./T1)   

%作图分析预测的效果
figure
hold on
plot(1:10,T1,'bo:','linewidth',1.0)
plot(1:10,ELM_OUT,'r*-.','linewidth',1.0)
legend('期望值','预测值')
xlabel('测试样本序号')
ylabel('指标的值')

web https://blog.csdn.net/qq_45955094/article/details/116381999


3 模型效果

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

代码下载https://www.cnblogs.com/matlabxiao/p/14883637.html

以上是关于基于Matlab极限学习机ELM回归预测的主要内容,如果未能解决你的问题,请参考以下文章

ELM回归预测基于matlab探路者优化极限学习机回归预测含Matlab源码 2231期

基于Matlab极限学习机ELM回归预测

DELM回归预测基于matlab灰狼算法改进深度学习极限学习机GWO-DELM数据回归预测含Matlab源码 1867期

DELM回归预测基于matlab灰狼算法改进深度学习极限学习机GWO-DELM数据回归预测含Matlab源码 1867期

DELM回归预测基于matlab人工蜂群算法改进深度学习极限学习机数据回归预测含Matlab源码 1885期

DELM回归预测基于matlab人工蜂群算法改进深度学习极限学习机数据回归预测含Matlab源码 1885期