極限學習機(Extreme Learning Machine)ELM
二、ELM 1、演算法介紹及功能 極限學習機(Extreme Learning Machine) ELM是一種針對單隱含層前饋神經網路(Single-hiddenLayerFeedforwardNeuralNetwork,SLFN)的神經網路的演算法。最大的特點是輸入權值和隱含節點的偏置都是在給定範圍內隨機生成的,被證實學習效率高且泛化能力強。訓練時的主要目的在於輸出層的權值求解。 ELM具有學習效率高和泛化能力強的優點,被廣泛應用於分類、迴歸、聚類、特徵學習等問題中。 2、演算法結構及原理 ELM是一種新型的快速學習演算法,對於單隱層神經網路,ELM 可以隨機初始化輸入權重和偏置並得到相應的輸出權重。
(1)對於一個單隱層神經網路(見Figure1),假設有N個任意的樣本,其中,,。對於一個有L個隱層節點的單隱層神經網路可以表示為 其中,為啟用函式,為輸入權重,為輸出權重,是第i個隱層單元的偏置。表示和的內積。 (2)單隱層神經網路學習的目標是使得輸出的誤差最小,可以表示為: 即存在,和,使得 (3)可以矩陣表示為 其中,H是隱層節點的輸出,B為輸出權重,T為期望輸出 (4)為了能夠訓練單隱層神經網路,我們希望得到,和,使得
其中,i=1,…,L,這等價於最小化損失函式 在ELM演算法中, 一旦輸入權重和隱層的偏置被隨機確定,隱層的輸出矩陣H就被唯一確定。訓練單隱層神經網路可以轉化為求解一個線性系統
對於給定N組訓練資料,使用ELM對包含L個隱含層和M個輸出層的SLFN進行學習有如下步驟: (1)對ELM的輸入權值向量和隱含層節點進行隨機賦值,完成初始化。 (2)計算隱含層輸出矩陣H (3)計算輸出權值矩陣 即完成了ELM神經網路的建立和初始化。