摘要
當今研究領域的一項事實就是,前向神經網絡(feed-forward neural networks)的訓練速度比人們所期望的速度要慢很多。並且,在過去的幾十年中,前向神經網絡在應用領域存在着很大的瓶頸。導致這一現狀的兩個關鍵因素就是:
- 神經網絡的訓練,大多使用基於梯度的算法,而這種算法的訓練速度有限;
- 使用這種訓練算法,在迭代時,網絡的所有參數都要進行更新調整。
而在2004年,由南洋理工學院黃廣斌教授所提出的極限學習機器(Extreme Learning Machine,ELM)理論可以改善這種情況。最初的極限學習機是對單隱層前饋神經網絡(single-hidden layer feed-forward neural networks,SLFNs)提出的一種新型的學習算法。它隨機選取輸入權重,並分析以決定網絡的輸出權重。在這個理論中,這種算法試圖在學習速度上提供極限的性能。
如需轉載本文,請註明出處:http://blog.csdn.net/ws_20100/article/details/49555959
極限學習機原理
ELM是一種新型的快速學習算法,對於單隱層神經網絡,ELM 可以隨機初始化輸入權重和偏置並得到相應的隱節點輸出:
對於一個單隱層神經網絡(結構如上圖所示),假設有
1.學習目標
單隱層神經網絡學習的目標是使得輸出的誤差最小,可以表示爲
2.學習方法
傳統的一些基於梯度下降法的算法,可以用來求解這樣的問題,但是基本的基於梯度的學習算法需要在迭代的過程中調整所有參數。而在ELM算法中, 一旦輸入權重
實現代碼
代碼下載:http://download.csdn.net/detail/ws_20100/9230271
輸入的訓練數據,格式爲一個
對於迴歸應用,一個例子爲:
[TrainingTime, TestingTime, TrainingAccuracy, TestingAccuracy] = elm('sinc_train', 'sinc_test', 0, 20, 'sig')
對於分類應用,一個例子爲:
elm('diabetes_train', 'diabetes_test', 1, 20, 'sig')
這兩個訓練和測試集在黃廣斌教授的網站上都可以下載。
參考資料:
[1] G.-B. Huang, Q.-Y. Zhu, and C.-K. Siew, “Extreme learning machine: A new learning scheme of feedforward neural networks,” in Proc. Int. Joint Conf. Neural Networks, July 2004, vol. 2, pp. 985–990.