bp神经网络_BP神经网络的原理介绍
神經網絡是深度學習的基礎,在機器學習和深度學習中應用比較廣泛,如函數逼近,模式識別,分類模型,圖像分類、基于深度學習的CTR預估,數據壓縮,數據挖掘等都離不開神經網絡。下面主要介紹BP神經網絡的原理。
一. 認識BP神經網絡
一個最簡單的三層BP神經網絡如下圖
包含輸入層、隱含層、輸出層,節點與節點之間有權重。一個樣本有m個輸入特征,包括ID特征或連續特征。隱含層可以有多個,關于隱含層節點個數的選取,一般設置為2的n次方,例如512,256,128,64,32等。n個輸出結果,通常輸出結果就一個,例如分類模型或回歸模型。
在1989年,Robert Hecht-Nielsen證明了對于任何閉區間內的一個連續函數都可以用一個隱含層的BP網絡來逼近,這就是萬能逼近定理。所以一個三層的BP網絡就可以完成任意的m維到n維的映射。BP神經網絡主要分為兩個過程
二. 工作信號正向傳遞子過程
設節點i與節點j之間的權重為ω_{ij},節點j的偏置為b_{j},每個節點的輸出值為x_{j},每個節點的輸出值是根據上層所有節點的輸出值、當前節點與上一層所有節點的權值和當前節點的偏置還有激活函數來計算的。具體計算公式如下
其中f為激活函數,一般選取S型函數或tanh函數。正向傳遞過程比較簡單,從前往后計算即可。
三. 誤差信號反向傳遞子過程
在BP神經網絡中,誤差信號反向傳遞子過程比較復雜,它是基于Widrow-Hoff學習規則的。假設輸出層的所有結果為d_{j},回歸模型的誤差函數如下
BP神經網絡的主要目的是反復修正權值和偏置,使得誤差函數值達到最小。Widrow-Hoff學習規則是通過沿著相對誤差平方和的最速下降方向,連續調整網絡的權值和偏置,根據梯度下降法,權值矢量的修正正比于當前位置上E(w,b)的梯度,對于第j個輸出節點有
假設選擇激活函數為
對激活函數求導,得到
那么接下來針對ω_{ij},有
其中
同樣對于b_{j},有
這就是著名的δ學習規則,通過改變神經元之間的連接權值來減少系統實際輸出和期望輸出的誤差,這個規則又叫做Widrow-Hoff學習規則或者糾錯學習規則。
上面是對隱含層和輸出層之間的權值和輸出層的偏置計算調整量,而針對輸入層和隱含層和隱含層的偏置調整量的計算更為復雜。假設ω_{ki}是輸入層第k個節點和隱含層第i個節點之間的權值,那么有
其中有
有了上述公式,根據梯度下降法,那么對于隱含層和輸出層之間的權值和偏置調整如下
而對于輸入層和隱含層之間的權值和偏置調整同樣有
上述就是BP神經網絡原理的公式推導。
總結
以上是生活随笔為你收集整理的bp神经网络_BP神经网络的原理介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: calendar类_带有时区的字符怎样转
- 下一篇: cas 单点登录_47 使用cas完成单