1. 程式人生 > >吳恩達-機器學習(5)-反向傳播

吳恩達-機器學習(5)-反向傳播

文章目錄

Cost Function and Backpropagation

Cost Function

L:代表神經網路的層數
S l S_l :第l層的神經元個數
K:輸出神經元的個數

神經網路的代價函式

Backpropagation Algorithm

使用梯度下降,最重要的就是要計算偏導

δ

j ( l ) \delta^{(l)}_j 表示第l層第j個節點的誤差

反向傳播的步驟

Backpropagation in Practice

Unrolling parameters

將矩陣轉換成向量的形式

Gradient Checking

檢測梯度下降的正確性
近似梯度的計算

演算法的過程

Random Initialization

引數初始化本能像以往一樣全設為0,因為根據正向傳播,如果引數全為0,那麼 a l a^l 全是一樣的,反向傳播更新的引數也是一樣的

隨機初始化

Putting it Together

訓練神經網路的第一步就是選擇網路的結構,輸入單元的個數等於特徵的樹立數量,輸出單元的個數等於分類的數量,每層的隱藏單元數量越多越好,當計算成本會相應的增加,每層隱藏層一般擁有相同數量的隱藏單元,但通常只是用一個隱藏層。

訓練神經網路的步驟:

  1. 隨機初始化權值
  2. 進行正向傳播計算每個 x ( i ) x^{(i)} h θ ( x ( i ) ) h_\theta(x^{(i)})
  3. 計算代價函式 j ( θ ) j(\theta)
  4. 進行反向傳播演算法計算偏導數
  5. 使用梯度檢查來確認你的反向傳播工作。然後禁用梯度檢查。
  6. 使用梯度下降或內建的優化函式,以最大限度地減少成本函式。