pytorch框架學習(15)——正則化

1. 正則化與偏差-方差分解

  • Regularization:減小方差的策略(防止過擬合)

  • 誤差可分解爲:偏差,方差與噪聲之和。即誤差 = 偏差 + 方差 + 噪聲

  • 偏差:度量了學習算法的期望預測與真實結果的偏離程度,即刻畫了學習算法本身的擬合能力

  • 方差:度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動所造成的影響(驗證集與訓練集之間的差異)

  • 噪聲:表達了在當前任務上任何學習算法所能達到的期望泛化誤差的下界

在這裏插入圖片描述

  • Regularization
    在這裏插入圖片描述
  • L1正則項:iNwi\sum^{N}_{i} |w_i|
  • L2正則項:iNwi2\sum^{N}_{i} w_i^2

2. pytorch中的L2正則項——weight decay

  • L2 Regularization = weight decay(權值衰減)
    在這裏插入圖片描述
    加入L2正則項之後,相當於wiw_i與一個大於0小於1的數相乘,相當於權值衰減

3. Dropout

  • Dropout:隨機失活
    • 隨機:dropout probability
    • 失活:weight = 0

讓神經元有一定的概率失去活性,具有了魯棒的特性,減輕過度的依賴,緩解過擬合。
在這裏插入圖片描述
需要注意的地方:

  • 數據尺度變化:測試時,所有權重乘以1-drop_prob(因爲在訓練過程中通過dropout隨機捨棄了部分數據,爲了保證測試時尺度相同,因此在測試時所有的權重乘以一個係數)

  • nn.Dropout

    • 功能:Dropout層
    • 參數:P:被捨棄概率,失活概率,默認爲0.5
    • 實現細節:訓練時權重除以1-p
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章