极限学习机ELM回归预测及其MATLAB代码实现

您所在的位置:网站首页 pso优化elm 极限学习机ELM回归预测及其MATLAB代码实现

极限学习机ELM回归预测及其MATLAB代码实现

#极限学习机ELM回归预测及其MATLAB代码实现| 来源: 网络整理| 查看: 265

文章目录 1. 极限学习机ELM原理介绍1.1极限学习机的训练过程1.2 极限学习机的预测过程 2. 基于极限学习机ELM标准算法的回归预测模型建立2.1 数据说明2.2 极限学习机的实现步骤 3. 模型效果4. 参考文献5. MATLAB代码

1. 极限学习机ELM原理介绍

极限学习机(Extreme Learning Machine, ELM)是一种单隐层前馈神经网络算法(SLFN),它的模型结构由输入层,隐含层,输出层三层组成,与人工神经网络相同,每层之间的连接是利用特征映射函数完成的,输入层的信息是通过隐含层加工处理后传递给输出层,然后输出层根据映射函数,得出计算值。 在这里插入图片描述

1.1极限学习机的训练过程

极限学习机是一种特殊的前馈神经网络,训练过程中,隐含层的权值和偏置往往是随机产生或者人为给定,不需要更新,通过计算求出输出层的权值,即完成训练过程。步骤如下:

设输入层有n个神经元输入端子,输出层m个神经元,隐含层有 l l l个神经元。记 ω \omega ω为输入层与隐含层间的连接权值,w相应的为 l × n {l \times n} l×n的矩阵,权值矩阵的元素一般是[-1,1]之间的随机数。

ω = [ ω 11 ω 12 ⋯ β 1 n ω 21 ω 22 ⋯ β 2 n ⋮ ⋮ ⋮ ⋮ ω l 1 ω l 2 ⋯ β l n ] l × n \omega=\left[\begin{array}{cccc} \omega_{11} & \omega_{12} & \cdots & \beta_{1 n} \\ \omega_{21} & \omega_{22} & \cdots & \beta_{2 n} \\ \vdots & \vdots & \vdots & \vdots \\ \omega_{l1} & \omega_{l2} & \cdots & \beta_{l n} \end{array}\right]_{l \times n} ω= ​ω11​ω21​⋮ωl1​​ω12​ω22​⋮ωl2​​⋯⋯⋮⋯​β1n​β2n​⋮βln​​ ​l×n​

记 b b b为隐含层的偏置,对应隐含层的 l l l个神经元节点,则偏置向量 b b b的大小为 l × 1 l\times1 l×1的列向量。偏置向量的元素一般是[0,1]之间的随机数。

b = [ b 1 b 2 ⋮ b l ] l × 1 b=\left[\begin{array}{c} b_{1} \\ b_{2} \\ \vdots \\ b_{l} \end{array}\right]_{l \times 1} b= ​b1​b2​⋮bl​​ ​l×1​

记 β \beta β为隐含层与输出层的连接权值, β \beta β大小为 l × m l\times m l×m的矩阵,当输出层的神经元节点为 m = 1 m=1 m=1时,训练得到的是一个单输出的极限学习机模型。通过初始的隐含层权值 ω \omega ω和偏置 b b b,即可求解出输出层的权值矩阵 β \beta β,从而得到训练好的极限学习机模型。

β = [ β 11 β 12 ⋯ β 1 m β 21 β 22 ⋯ β 2 m ⋮ ⋮ ⋮ ⋮ β l 1 β l 2 ⋯ β l m ] \beta=\left[\begin{array}{cccc} \beta_{11} & \beta_{12} & \cdots & \beta_{1 m} \\ \beta_{21} & \beta_{22} & \cdots & \beta_{2 m} \\ \vdots & \vdots & \vdots & \vdots \\ \beta_{l 1} & \beta_{l 2} & \cdots & \beta_{l m} \end{array}\right] β= ​β11​β21​⋮βl1​​β12​β22​⋮βl2​​⋯⋯⋮⋯​β1m​β2m​⋮βlm​​ ​

通过激活函数 G ( ) G( ) G()进行特征映射,可以得到极限学习机的输出值为:

f L ( x ) = ∑ i = 1 L β i G ( ω i ⋅ x i + b i ) = ∑ i = 1 L β i h ( x i ) f_{L}(x)=\sum_{i=1}^{L} \beta_{i} G\left(\omega_{i} \cdot x_{i}+b_{i}\right)=\sum_{i=1}^{L} \beta_{i} h\left( x_{i} \right) fL​(x)=i=1∑L​βi​G(ωi​⋅xi​+bi​)=i=1∑L​βi​h(xi​)

式中, L L L为样本总数, h ( x i ) h(x_{i}) h(xi​)为隐含层对第 i i i个样本特征的映射值。

设 T T T为期望的输出值,从而只需要求得合适的 β \beta β使得误差函数值最小或者接近于0:

∥ H β − T ∥ 2 = 0 \|\boldsymbol{H} \boldsymbol{\beta}-\boldsymbol{T}\|^{2}=0 ∥Hβ−T∥2=0

因而,对上面的等式求逆,解出输出层的权值 β \beta β,可得到一个训练好的极限学习机模型。

1.2 极限学习机的预测过程

在确定了极限学习机的隐含层权值和偏置,以及输出层的权值矩阵后,只需要根据步骤4,带入需要预测的样本特征 x x x,即可获得相应的ELM仿真输出值。

需要注意的是,极限学习机参数的随机初始化使得ELM具有较好的泛化性,但也相应的要求极限学习机模型增加较多的节点数目来实现准确的训练。在大样本情况下,过多的节点会消耗计算资源,也可能造成过拟合。

2. 基于极限学习机ELM标准算法的回归预测模型建立 2.1 数据说明

采用了身体脂肪数据集进行训练和测试ELM的预测精度,数据形式如下:

样本序号输入指标1输入指标2…输出指标1-–––2-–––…-–––n-––– 2.2 极限学习机的实现步骤

步骤一:获取数据。

步骤二:数据预处理,一般是采用极小极大归一化,消除数据量纲和数量级影响。

步骤三:训练ELM模型,求出隐含层和输出层的连接权值。

步骤四:对训练的模型,使用测试的输入数据进行预测。

步骤五:对预测的值,和实际的值,进行误差分析和作图。

ELM的演示代码,供学习使用

%初始化 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_57971471/article/details/121767033 -browser 3. 模型效果

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

4. 参考文献

[1]尤玲玲. 基于粒子群优化算法的极限学习机及其在降水量预测中的应用研究[D].吉林农业大学,2020.

5. MATLAB代码

CSDN下载代码地址

https://download.csdn.net/download/qq_57971471/87730296



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3