本章為大家介紹人工神經網絡模型的一些重要知識,重點是BP神經網絡模型。
人工神經網絡簡介
人工神經網絡是生物神經網絡的某種模型(數學模型)
人工神經網絡是對生物神經網絡的模仿
人工神經網絡的基本處理單元為人工神經元
人工神經元模型
人工神經元的三要素:
神經元的輸入與輸出:
輸入
net=W﹡X - b = ∑wi•xi - b,神經元的輸入等於多個輸入的加權求和
一般只有當輸入大於某一閾值b時,神經元才會被激活,b稱為神經網絡的偏置
輸出
y=f(net),通過激活函數對輸入進行處理後得到輸出
常見的激活函數(傳遞函數):
線性函數
非線性斜面函數(Ramp Function)
符號函數
閾值函數
Sigmoid函數(S型函數,連續可微)
一些重要的學習算法要求輸出函數可微。
神經網絡模型的三個要素:
網絡結構或拓撲(連接形式)
神經元的計算特性(激活函數)
學習規則
前饋(forward)神經網絡:
BP神經網絡是最具代表性的前饋(forward)神經網絡模型。
各神經元接受來自前級的輸入,併產生輸出到下一級,無反饋,可用一有向無環圖表示。
網絡中的節點分兩類:輸入節點;計算節點(神經元節點)
節點按層(layer)組織 :
第 i 層的輸入只與第 i-1 層的輸出相連
輸入信號由輸入層輸入,由第一層節點輸出,傳向下層
前饋:信息由低層向高層單向流動
可見層
輸入層 (input layer) :輸入節點所在層,無計算能力
輸出層 (output layer) :節點為神經元
隱含層( hidden layer)
中間層,節點為神經元
BP神經網絡模型
各計算單元(神經元節點)的激活函數:Sigmoid函數
信號逐層正向傳遞
誤差逐層反向傳播:最小均方差
BP神經網絡訓練的兩個階段
信號正向傳遞過程
輸入信息從輸入層經隱層逐層、正向傳遞,直至得到各計算單元的輸出
誤差反向傳播過程
輸出層誤差從輸出層開始,逐層、反向傳播,可間接計算隱層各單元的誤差,並用此誤差修正前層的權值.
BP神經網絡參數設定
BP網絡的正向傳遞過程
BP網絡的反向傳播過程
設定模型誤差準則函數為:最小誤差平方和。
梯度法或最速下降法對應的學習規則稱為Delta學習規則,就是利用最後的誤差平方和對權重和偏置求偏導,使得權重和偏置沿著負梯度方向Δ調整較小值(調整量= - η•Δ,η稱為學習率),不斷降低目標函數的取值。
計算輸出誤差:
根據輸出誤差調整隱含層到輸出層的權重:
根據輸出誤差調整隱含層之間以及輸入層到隱含層的權重:
BP神經網絡的算法步驟
第一步,模型相關參數設定
第二步,重複網絡學習,直至算法收斂
第三步,算法結束,輸出各層連接權值