1. 程式人生 > >【機器學習】隨機初始化思想神經網絡總結

【機器學習】隨機初始化思想神經網絡總結

算法 代價函數 所有 -i 如果 中間 相同 決定 最小

 之前在進行梯度下降時,通常我們讓Θ等參數為0,這樣的做法在邏輯回歸中還是可行的,但是在神經網絡中,如果你讓所有的參數都初始化為0,這將意味著第二層的所有的激活單元都會有相同的值,同理,如果我們初始化所有的參數都是一個非0的數,結果也是一樣的。

例如在設置初始化參數Θ時,可以用如下方法:

Theta1 = rand(10,11) * (2 *INIT_EPSILON)-INIT_EPSILON

  

小結一下使用神經網絡時的步驟:
網絡結構:第一件要做的事是選擇網絡結構,即決定選擇多少層以及決定每層分別有多
少個單元。
第一層的單元數即我們訓練集的特征數量。
最後一層的單元數是我們訓練集的結果的類的數量。
如果隱藏層數大於 1,確保每個隱藏層的單元個數相同,通常情況下隱藏層單元的個數
越多越好。
我們真正要決定的是隱藏層的層數和每個中間層的單元數。
訓練神經網絡:
1. 參數的隨機初始化
2. 利用正向傳播方法計算所有的 h θ (x)
3. 編寫計算代價函數 J 的代碼
4. 利用反向傳播方法計算所有偏導數
5. 利用數值檢驗方法檢驗這些偏導數
6. 使用優化算法來最小化代價函數

【機器學習】隨機初始化思想神經網絡總結