深度學習之偏差與方差

機器學習就是利用訓練數據去訓練一個模型(model),使得這個模型盡可能逼近真實,用來衡量模型好壞的依據是模型的誤差,由偏差和方差兩部分組成。

Bias(偏差)

模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度,反應出算法的擬合能力。

Variance(方差)

模型每一次輸出結果與模型輸出期望之間的誤差,即模型的穩定性,反應出預測的波動情況。

偏差與方差的關系

偏差與方差之間按照高低,可以組合成四種關系,如下圖所示

偏差與方差關系

1、低偏差低方差

表示模型既準確又穩定,效果最好,但是現實中這種情形很少遇見。

2、低偏差高方差

表示模型準確但是穩定性差,對驗證數據&測試數據的擬合能力差,即是模型的泛化能力差,產生了過擬合(Overfitting)。

3、高偏差低方差

表示模型的準確度差,對數據的擬合能力弱,產生了欠擬合(Underfitting)。

4、高偏差高方差

表示模型既不準確又不穩定。

過擬合與欠擬合

由上面的分析可知,高方差往往預示著過擬合,高偏差則是欠擬合。

避免欠擬合(擬合太差)

1、增加訓練樣本數據

2、設計更復雜的神經網絡模型

3、增加迭代次數

4、更好的優化函數

5、調整超參數值

避免過擬合(擬合過度,泛化太差)

1、設計更簡單的神經網絡模型

2、增加訓練樣本數據

3、正則化。在損失函數后面添加上L2正則項

4、使用dropout。隨機性使得網絡中的部分神經元失效,效果上類似將模型變得更簡單。

5、調整超參數值
6、嘗試其他模型

7、提前結束訓練(early stopping)。即是提前結束優化損失函數。

簡單小結

在實際工程中,通常可以按下面的來操作

貝葉斯(最優)誤差-理論上的最小誤差值(通常比人類誤差小)

可避免偏差-訓練誤差 與 貝葉斯誤差 之間的差值

方差-驗證集誤差 與 訓練誤差 的差值

當 可避免偏差 大于 方差 時,發生 欠擬合。

當 方差 大于 可避免偏差 時,發生 過擬合。

在訓練模型時對照以上描述,有助于定位問題,更快找到最適合的模型。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容