傳統神經網絡ANN訓練算法總結
傳統神經網絡ANN訓練算法總結
學習/訓練算法分類
神經網絡類型的不同,對應了不同類型的訓練/學習算法。因而根據神經網絡的分類,總結起來,傳統神經網絡的學習算法也可以主要分為以下三類:
1)前饋型神經網絡學習算法-----(前饋型神經網絡)
2)反饋型神經網絡學習算法------(反饋型神經網絡)
3)自組織神經網絡學習算法------(自組織神經網絡)
以下我們將通過三類典型的神經網絡模型分別闡述這三類不同的學習算法其區別與相似點。
雖然針對不同的網絡模型,這裏產生了三類不同類型的訓練算法,但是總結起來,這三類訓練算法都可以歸屬到兩種類型的機器訓練方法中,即監督型學習算法和非監督型
學習算法。在20-30年的神經網絡學習算法研究過程中,科學家往往都通過將監督型學習算法和非監督型學習算法進行單獨或混合使用,提出並構建出了不同類型的訓練算法及
其改進算法。因而總結起來現今的神經網絡訓練算法都可以歸類到監督型學習算法和非監督型學習算法中,這在後續講解的Deep Learning中的DBNs網絡學習中也會體現出
來。當然目前也提出一種半監督學習方法,其定義為。
半監督學習(Semi-supervised Learning)是模式識別和機器學習領域研究的重點問題,是監督學習與無監督學習相結合的一種學習方法。它主要考慮如何利用少量的標註樣本和大量的未標註樣本進行訓練和分類的問題。半監督學習對於減少標註代價,提高學習機器性能具有非常重大的實際意義。
半監督學習是監督學習算法和非監督學習算法的結合體,可以認為是兩種方法的結合型算法,其根源也歸屬為兩類本質的學習算法,因而也逃不脫監督學習和非監督學習領域圈,這裏我們就不再進一步深入討論半監督學習算法了。
在以下傳統神經網絡訓練算法的總結中我們也將具體指明具體的訓練算法和監督型學習算法和非監督型學習算法的關系。
BP神經網絡訓練算法
以下我們分析BP神經網絡學習過程。其學習算法基本步驟可以歸納如下:
1、初始化網絡權值和神經元的閾值(最簡單的辦法就是隨機初始化)
2、前向傳播:按照公式一層一層的計算隱層神經元和輸出層神經元的輸入和輸出。
3、後向傳播:根據公式修正權值和閾值
直到滿足終止條件。
算法通過一定的判定函數,對前向傳播結果進行判定,並通過後向傳播過程對網絡參數進行修正,起到監督學習的作用,因而傳統的BP經網絡訓練過程可以歸納為一類典型的監督學習過程。
BP是後向傳播的英文縮寫,那麽傳播對象是什麽?傳播的目的是什麽?傳播的方式是後向,可這又是什麽意思呢。
傳播的對象是誤差,傳播的目的是得到所有層的估計誤差,後向是說由後層誤差推導前層誤差:
即BP的思想可以總結為
利用輸出後的誤差來估計輸出層的直接前導層的誤差,再用這個誤差估計更前一層的誤差,如此一層一層的反傳下去,就獲得了所有其他各層的誤差估計。- “BP神經網絡模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)”
我們來看一個最簡單的三層BP:
- “BP網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。”
BP利用一種稱為激活函數來描述層與層輸出之間的關系,從而模擬各層神經元之間的交互反應。
激活函數必須滿足處處可導的條件。那麽比較常用的是一種稱為S型函數的激活函數:
那麽上面的函數為什麽稱為是S型函數呢:
我們來看它的形態和它導數的形態:
p.s. S型函數的導數:
神經網絡的學習目的:
希望能夠學習到一個模型,能夠對輸入輸出一個我們期望的輸出。 學習的方式: 在外界輸入樣本的刺激下不斷改變網絡的連接權值 學習的本質: 對各連接權值的動態調整學習的核心:
權值調整規則,即在學習過程中網絡中各神經元的連接權變化所依據的一定的調整規則。
二,有監督的BP模型訓練過程
1. 思想
有監督的BP模型訓練表示我們有一個訓練集,它包括了: input X 和它被期望擁有的輸出 output Y
所以對於當前的一個BP模型,我們能夠獲得它針對於訓練集的誤差
所以BP的核心思想就是:將輸出誤差以某種形式通過隱層向輸入層逐層反傳,這裏的某種形式其實就是:
也就是一種 "信號的正向傳播 ----> 誤差的反向傳播"的過程:
這裏解釋下根據誤差對權值的偏導數來修訂權值:
http://www.360doc.com/content/13/1217/13/9282836_337854682.shtml
傳統神經網絡ANN訓練算法總結