1. 程式人生 > >第五週(反向神經網路)-【機器學習-Coursera Machine Learning-吳恩達】

第五週(反向神經網路)-【機器學習-Coursera Machine Learning-吳恩達】

目錄
    代價函式
    反向傳播

    神經網路總結


1 代價函式



2 反向傳播演算法——讓代價函式最小化的演算法

讓代價函式最小化,利用matlab函式庫fminunc時


在costFunction時需要

·代價函式計算方法 

·代價函式的偏導數


為了得到這個偏導數,使用反向傳播演算法:




3 反向傳播演算法實現

1)矩陣表示式和向量表示式的轉換

矩陣變為向量:


向量還原矩陣:


向量表示式便於使用優化函式,如 fminunc()


2)梯度檢驗(利用數值計算)
反向傳播演算法非常複雜,所以最好使用時進行一下檢驗。

使用數值計算近似導數:


多引數時


matlab實現


檢驗:
gradApprox ≈ deltaVector
注意:

一旦你驗證一次反向傳播演算法是正確的,就不需要再一次計算gradApprox,因為計算它會花費大量時間。

3)隨機初始化


給出初始theta時,使用:



4 神經網路總結

1)選擇神經網路結構

輸入層單元數、輸出層單元數、隱藏層個數以及各自的單元數(預設一個隱藏層,如果多個建議每層單元數相同)。

2)訓練神經網路

· 隨機初始化權重,也就是theta
· 為任意 x 使用前向傳播獲取 h
· 實現代價函式cost function
· 實現反向傳播演算法計算 偏導數
· 梯度檢查
· 使用梯度下降或內建的優化函式,使成本函式最小化


題目: