基于引力搜索算法优化的正则化极限学习机(RELM)的回归预测
1.RELM原理
极限学习机( ELM) 具 有训练速度快、泛化性能好的优点。极限学习机的结构是一种典型的单隐层前馈 神经网络( SLFN) 。极限学习机的结构见图
RELM 算法 :若 N N N 个训练样本, x = { x 1 , x 2 , ⋯ , x N } T \boldsymbol{x}=\left\{x_1, x_2, \cdots, x_N\right\}^{\mathrm{T}} x={x1,x2,⋯,xN}T作为输入, T = { t 1 , t 2 , ⋯ , t N } T \boldsymbol{T}=\left\{t_1, t_2, \cdots, t_N\right\}^T T={t1,t2,⋯,tN}T 作为输出,设定隐含层节点为 L L L ,激活函数为 g ( ω , b , x ) g(\omega, b, x) g(ω,b,x) ,随机选取输入层权 值 ω = { ω 1 , ω 2 , ⋯ , ω L } T \boldsymbol{\omega}=\left\{\omega_1, \omega_2, \cdots, \omega_L\right\}^{\mathrm{T}} ω={ω1,ω2,⋯,ωL}T 与隐含层偏置 b = { b 1 , b 2 , ⋯ , b L } T \boldsymbol{b}=\left\{b_1, b_2, \cdots, b_L\right\}^{\mathrm{T}} b={b1,b2,⋯,bL}T 。极限学习机的训练目标是令:
T = H β (1) T=H \beta \tag{1} T=Hβ(1)
式中:
H
=
(
g
(
ω
1
,
b
1
,
x
1
)
g
(
ω
2
,
b
2
,
x
1
)
⋯
g
(
ω
L
,
b
L
,
x
1
)
g
(
ω
1
,
b
1
,
x
2
)
g
(
ω
2
,
b
2
,
x
2
)
⋯
g
(
ω
L
,
b
L
,
x
2
)
⋮
⋮
⋮
⋮
g
(
ω
1
,
b
1
,
x
N
)
g
(
ω
2
,
b
2
,
x
N
)
⋯
g
(
ω
L
,
b
L
,
x
N
)
)
N
×
L
(2)
\boldsymbol{H}=\left(\begin{array}{cccc} g\left(\omega_1, b_1, x_1\right) & g\left(\omega_2, b_2, x_1\right) & \cdots & g\left(\omega_L, b_L, x_1\right) \\ g\left(\omega_1, b_1, x_2\right) & g\left(\omega_2, b_2, x_2\right) & \cdots & g\left(\omega_L, b_L, x_2\right) \\ \vdots & \vdots & \vdots & \vdots \\ g\left(\omega_1, b_1, x_N\right) & g\left(\omega_2, b_2, x_N\right) & \cdots & g\left(\omega_L, b_L, x_N\right) \end{array}\right)_{N \times L}\tag{2}
H=
g(ω1,b1,x1)g(ω1,b1,x2)⋮g(ω1,b1,xN)g(ω2,b2,x1)g(ω2,b2,x2)⋮g(ω2,b2,xN)⋯⋯⋮⋯g(ωL,bL,x1)g(ωL,bL,x2)⋮g(ωL,bL,xN)
N×L(2)
β
=
(
β
1
,
β
2
,
⋯
,
β
L
)
T
\boldsymbol{\beta}=\left(\beta_1, \beta_2, \cdots, \beta_L\right)^{\mathrm{T}}
β=(β1,β2,⋯,βL)T 为输出层权值。对于式(1),由最小二乘法和奇异值分解求得:
β = ( H T H ) − 1 H T T (3) \boldsymbol{\beta}=\left(\boldsymbol{H}^{\mathrm{T}} \boldsymbol{H}\right)^{-1} \boldsymbol{H}^{\mathrm{T}} \boldsymbol{T} \tag{3} β=(HTH)−1HTT(3)
引入正则化系数可提高 ELM 的结构稳定性,得到 RELM:
β = ( H T H + C I ) − 1 H T T (4) \boldsymbol{\beta}=\left(\boldsymbol{H}^{\mathrm{T}} \boldsymbol{H}+\boldsymbol{C} \boldsymbol{I}\right)^{-1} \boldsymbol{H}^{\mathrm{T}} \boldsymbol{T} \tag{4} β=(HTH+CI)−1HTT(4)
式中: C \boldsymbol{C} C 为正则化系数; I \boldsymbol{I} I 为单位矩阵。
2.预测问题求解
采用随机法产生训练集和测试集,其中训练集包含 1 900 个样 本,测试集包含 100 个样本。为了减少变量差异较大对模型性能的影响,在建立模型之前先对数据进行归一化。
3.基于引力搜索算法优化的RELM
引力搜索算法原理请参考:https://blog.csdn.net/u011835903/article/details/108518992
由前文可知,RELM的初始权值和阈值都是随机产生。每次产生的初始权值和阈值具有满目性。本文利用引力搜索算法对初始权值和阈值, 以及正则项进行优化。适应度函数设计为训练集的误差的MSE:
f
i
t
n
e
s
s
=
a
r
g
m
i
n
(
M
S
E
p
r
i
d
e
c
t
)
fitness = argmin(MSE_{pridect})
fitness=argmin(MSEpridect)
适应度函数选取训练后的MSE误差。MSE误差越小表明预测的数据与原始数据重合度越高。最终优化的输出为最佳初始权值和阈值。然后利用最佳初始权值阈值训练后的网络对测试数据集进行测试。
4.实验结果