按部就班的吳恩達機器學習網課用於討論(7)

神經網絡模型表示

前向傳播

每一層都增加一個偏差單位x0=1和a0=1以後,使用如下公式推導出輸出h。

相當於輸入層的x經過權重theta乘積變換後重組爲特徵輸出a,然後a再經過變換得到結果h。

 

 

 

 theta作爲權值矩陣的表示爲:

在上述網絡中,增加了偏置值x0,則從隱層向輸入層,theta1的尺寸爲3*4,下角標中第一位表示隱層單位編號,第二位表示輸入層單位編號,以此連接的一條權值。

矩陣表示

 

 其中的z表示了theta與x的矩陣乘積。theta爲3*4的規模,x爲4*1的規模,求得z爲3*1的輸出,z再通過g函數,得到a。同理,得到a3,即輸出。(過程中手動增加偏置,進行矩陣重組)

 

特徵表示的直觀理解

 

 如上圖,當以上的神經網絡模型進行組合以後,可以得到異或模型。以上的三個神經網絡輸出中間值後,經過g函數,則變換爲對應的0或1。如下所示,將神經網絡組合後得到非線性的xnor分類的效果:

 

所以看來,神經網絡的非線性化,其實是可以通過線性的神經網絡組合表示的,也就是說,神經網絡本質上,是由多個邏輯迴歸h函數,組合以後,獲得的非線性化。 

 

多元分類

採用onehot的編碼方式,如下所示的四分類,將輸出變爲4個神經元,爲1的表示對應的分類預測結果(如果是二分類,1個神經元輸出就是足夠的用0和1表示二分類,其實吧,也可以有其他的表示法,比如二進制編碼吧,這樣四分類,兩個輸出神經元,能降低一點網絡規模吧)。

 

 

代價函數

代價函數與邏輯迴歸中有相似之處,在邏輯迴歸中,m爲數據條數,x爲輸入,y爲標籤,h爲預測函數,theta爲h函數中x的參數,然後增加正則項防止過擬合,lambda爲用於調節過擬合的程度的一個超參數。

參閱:https://www.cnblogs.com/bai2018/p/12526607.html#_label2

神經網絡中,過擬合項類似,K爲h函數的個數,也即爲前向傳播的下一層的輸出個數。根據之前的推斷,神經網絡是由多個h函數的組合,獲得了非線性效果。

 

 

反向傳播算法

 

誤差的反向傳遞通過以上實現,更新訓練參數theta通過以下方式,訓練神經網絡:

其中D表示代價函數的偏導數,其,實現方案可以通過大derta的累積然後平均,然後代入theta實現。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章