【UWB】ELM 极限学习机原理及公式推导
文章目錄
- 簡介
- Ref:
關于代碼實現請參考:【UWB】ELM,Extreme Learning Machine 極限學習機
簡介
極限學習機(Extreme Learning Machine) ELM,是由南洋理工大學黃廣斌教授提出來的求解單隱層神經網絡的算法。
ELM最大的特點是對于傳統的神經網絡,尤其是單隱層前饋神經網絡(SLFNs),在保證學習精度的前提下比傳統的學習算法速度更快。
對于上圖所示的一個單隱含層神經網絡,假設有 NNN 個任意樣本(x1,x2,?,xNx_1, x_2, \cdots, x_Nx1?,x2?,?,xN?),LLL 個隱藏層神經元,MMM 個輸出神經元。其中樣本的維度可以為任意,即 xi=[xi1,xi2,?,xin]T∈Rnx_i = [x_{i1}, x_{i2}, \cdots, x_{in}]^{\text{T}} \in \R^{n}xi?=[xi1?,xi2?,?,xin?]T∈Rn,期望輸出假設為 y^i=[y^j1,y^j2,?,y^jm]T∈Rm\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,網絡的實際輸出為 yi=[yj1,yj2,?,yjm]T∈Rm{y}_i = [{y}_{j1}, {y}_{j2}, \cdots, {y}_{jm}]^{\text{T}} \in \R^{m}yi?=[yj1?,yj2?,?,yjm?]T∈Rm。
對于上述含有 LLL 個隱含節點的單隱含層神經網絡可以表示為
∑k=1Lβk?G(Wi?Xi+bk)=yj\sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = y_jk=1∑L?βk??G(Wi??Xi?+bk?)=yj?
這里,βk\beta_kβk? 為輸出權重,G(?)G(\cdot)G(?) 為隱含層的激活函數,WiW_iWi? 為輸入權重,XiX_iXi? 為輸入樣本,bkb_kbk? 為第 kkk 個神經元的偏置,Wi?XiW_i \cdot X_iWi??Xi? 表示 WiW_iWi? 和 XiX_iXi? 的內積,yjy_jyj? 表示第 jjj 個樣本的輸出。
當隱藏層節點足夠多時,ELM 可以逼近任何連續函數,為使得 ELM 具有更好的泛化能力,通常隱藏層神經元 LLL 個數應該大于輸入神經元 NNN,單隱含層神經網絡的學習目標是使得輸出的誤差最小,即
min?(∑j=1N∥y^j?yj∥)\min (\sum_{j=1}^N \|\hat{y}_j - y_j\|)min(j=1∑N?∥y^?j??yj?∥)
即存在 βk,Wi\beta_k, W_iβk?,Wi? 和 bkb_kbk? 使得
∑k=1Lβk?G(Wi?Xi+bk)=y^j\sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = \hat{y}_jk=1∑L?βk??G(Wi??Xi?+bk?)=y^?j?
改寫成矩陣的形式為:
Hβ=YH \beta = YHβ=Y
這里 HHH 為隱含層神經元的輸出,β\betaβ 為輸出權重,TTT 為期望輸出。
H=[G(w1x1+b1)G(w2x1+b2)?G(wLx1+bL)G(w1x2+b1)G(w2x2+b2)?G(wLx2+bL)????G(w1xN+b1)G(w2xN+b2)?G(wLxN+bL)]N×LH= \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?
β=[β1Tβ2T?βLT]L×M,Y=[y1Ty2T?yMT]N×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?
為了能訓練單隱含層神經網絡,希望得到 W^i,b^i\hat{W}_i, \hat{b}_iW^i?,b^i? 和 β^i\hat{\beta}_iβ^?i?,使得
∥H(W^i,b^i)β^i?Y∥=min?W,b,β∥H(Wi,bi)βi?Y∥\|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=(∑j=1N∥y^j?yj∥)E = (\sum_{j=1}^N \|\hat{y}_j - y_j\|)E=(j=1∑N?∥y^?j??yj?∥)
在 ELM 神經網絡中,一旦輸入權重 WiW_iWi? 和隱含層偏置 bib_ibi? 被隨機確定,則隱含層的輸出矩陣 HHH 就被唯一確定,訓練過程則可以轉化為求解一個線性系統 Hβ=YH\beta = YHβ=Y,因此輸出權重 β\betaβ 的最小二乘解則可以通過下式求得:
β^=H+Y\hat{\beta} = H^+ Yβ^?=H+Y
這里 H+H^{+}H+ 是矩陣 HHH 的 Moore-Penrose 廣義逆,且 β\betaβ 的最小二乘解是唯一的。相較于傳統前饋神經網絡,ELM 保證了學習精度,具有良好的泛化性能,速度更快。
Ref:
總結
以上是生活随笔為你收集整理的【UWB】ELM 极限学习机原理及公式推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【UWB】Kalman filter,
- 下一篇: 【Paper】2019_Distribu