天天看点

【UWB】ELM 极限学习机原理及公式推导

文章目录

  • ​​简介​​
  • ​​Ref:​​

简介

极限学习机(Extreme Learning Machine) ELM,是由南洋理工大学黄广斌教授提出来的求解单隐层神经网络的算法。

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

【UWB】ELM 极限学习机原理及公式推导

对于上图所示的一个单隐含层神经网络,假设有

N

N

N 个任意样本(

x

1

,

2

N

x_1, x_2, \cdots, x_N

x1​,x2​,⋯,xN​),

L

L

L 个隐藏层神经元,

M

M

M 个输出神经元。其中样本的维度可以为任意,即

i

=

[

i

n

]

T

R

n

x_i = [x_{i1}, x_{i2}, \cdots, x_{in}]^{\text{T}} \in \R^{n}

xi​=[xi1​,xi2​,⋯,xin​]T∈Rn,期望输出假设为

y

^

j

m

m

\hat{y}_i = [\hat{y}_{j1}, \hat{y}_{j2}, \cdots, \hat{y}_{jm}]^{\text{T}} \in \R^{m}

y^​i​=[y^​j1​,y^​j2​,⋯,y^​jm​]T∈Rm,网络的实际输出为

y

{y}_i = [{y}_{j1}, {y}_{j2}, \cdots, {y}_{jm}]^{\text{T}} \in \R^{m}

yi​=[yj1​,yj2​,⋯,yjm​]T∈Rm。

对于上述含有

L 个隐含节点的单隐含层神经网络可以表示为

k

=

L

β

k

G

(

W

X

+

b

)

=

\sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = y_j

k=1∑L​βk​⋅G(Wi​⋅Xi​+bk​)=yj​

这里,

β

k

\beta_k

βk​ 为输出权重,

G

(

)

G(\cdot)

G(⋅) 为隐含层的激活函数,

W

W_i

Wi​ 为输入权重,

X

X_i

Xi​ 为输入样本,

b

b_k

bk​ 为第

k

k

k 个神经元的偏置,

W_i \cdot X_i

Wi​⋅Xi​ 表示

Wi​ 和

Xi​ 的内积,

j

y_j

yj​ 表示第

j

j

j 个样本的输出。

当隐藏层节点足够多时,ELM 可以逼近任何连续函数,为使得 ELM 具有更好的泛化能力,通常隐藏层神经元

L 个数应该大于输入神经元

N,单隐含层神经网络的学习目标是使得输出的误差最小,即

min

j

N

y

^

\min (\sum_{j=1}^N \|\hat{y}_j - y_j\|)

min(j=1∑N​∥y^​j​−yj​∥)

即存在

\beta_k, W_i

βk​,Wi​ 和

bk​ 使得

\sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = \hat{y}_j

k=1∑L​βk​⋅G(Wi​⋅Xi​+bk​)=y^​j​

改写成矩阵的形式为:

H

Y

H \beta = Y

Hβ=Y

这里

H

H

H 为隐含层神经元的输出,

β

\beta

β 为输出权重,

T

T

T 为期望输出。

[

G

(

w

x

+

b

)

L

N

]

N

×

L

H= \left[\begin{matrix} G(w_1 x_1 + b_1) & G(w_2 x_1 + b_2) & \cdots & G(w_L x_1 + b_L) \\ G(w_1 x_2 + b_1) & G(w_2 x_2 + b_2) & \cdots & G(w_L x_2 + b_L) \\ \vdots & \vdots & \ddots & \vdots \\ G(w_1 x_N + b_1) & G(w_2 x_N + b_2) & \cdots & G(w_L x_N + b_L) \\ \end{matrix}\right]_{N \times L}

H=⎣⎢⎢⎢⎡​G(w1​x1​+b1​)G(w1​x2​+b1​)⋮G(w1​xN​+b1​)​G(w2​x1​+b2​)G(w2​x2​+b2​)⋮G(w2​xN​+b2​)​⋯⋯⋱⋯​G(wL​x1​+bL​)G(wL​x2​+bL​)⋮G(wL​xN​+bL​)​⎦⎥⎥⎥⎤​N×L​

β

T

L

M

,

y

M

\beta = \left[\begin{matrix} \beta_1^\text{T} \\ \beta_2^\text{T} \\ \vdots \\ \beta_L^\text{T} \\ \end{matrix}\right]_{L \times M},~~~~ Y = \left[\begin{matrix} y_1^\text{T} \\ y_2^\text{T} \\ \vdots \\ y_M^\text{T} \\ \end{matrix}\right]_{N \times M}

β=⎣⎢⎢⎢⎡​β1T​β2T​⋮βLT​​⎦⎥⎥⎥⎤​L×M​,    Y=⎣⎢⎢⎢⎡​y1T​y2T​⋮yMT​​⎦⎥⎥⎥⎤​N×M​

为了能训练单隐含层神经网络,希望得到

\hat{W}_i, \hat{b}_i

W^i​,b^i​ 和

\hat{\beta}_i

β^​i​,使得

W

b

β

min

,

\|H(\hat{W}_i, \hat{b}_i) \hat{\beta}_i - Y\| = \min_{W,b,\beta} \|H(W_i, b_i)\beta_i - Y\|

∥H(W^i​,b^i​)β^​i​−Y∥=W,b,βmin​∥H(Wi​,bi​)βi​−Y∥

这等价于最小化损失函数

E

E = (\sum_{j=1}^N \|\hat{y}_j - y_j\|)

E=(j=1∑N​∥y^​j​−yj​∥)

在 ELM 神经网络中,一旦输入权重

Wi​ 和隐含层偏置

b_i

bi​ 被随机确定,则隐含层的输出矩阵

H 就被唯一确定,训练过程则可以转化为求解一个线性系统

Y

H\beta = Y

Hβ=Y,因此输出权重

β 的最小二乘解则可以通过下式求得:

继续阅读