1. 程式人生 > >23.方差和偏差的處理方法 翻譯自 吳恩達新書-Machine Learning Yearning

23.方差和偏差的處理方法 翻譯自 吳恩達新書-Machine Learning Yearning

處理偏差和⽅差的時候有⼀個最簡單的準則:

  • 如果可避免的偏差很高,則增加你的模型的規模(比如,在神經網路中增加更多的隱藏層或神經元)。
  • 如果方差很高,就在訓練樣本集中增加更多的資料。

如果可以不受任何約束地擴大神經網路規模和訓練資料數量,那任何機器學習問題都會不在話下。

事實上,擴大學習模型的規模會逐漸帶來計算複雜度的問題,因為訓練⼀個巨⼤的模型是很慢的。獲取更多的訓練資料同樣也會讓你耗費巨大精力(即使是在網際網路上,貓咪圖片的數量也是有限的!)。

不同的模型架構,如不同的神經網路架構,會在你要解決的問題上,產生不同的偏差或方差。最近很多深度學習領域,出現了很多創新的模型架構。如果你正在使用神經網路,檢視相關的學術⽂獻會給你很多的啟發。在github上也有很多開源的資源。但是嘗試新的架構相對於簡單的增加模型和資料的規模,不會帶來那樣直接和可預測的收益。

增加模型的大小可以逐漸減少偏差,但是也可能會同時增加方差和過擬合的風險。然而,過擬合的問題通常只會在你沒有使用正則化時出現。如果你使用了正則化的模型,你通常可以安全方向的增加模型的規模而不必擔心會帶來過擬合。

假設你正在使用深度學習,用到了L2正則化或是dropout,在使用正則化的情況下,模型在開發樣本集上達到最優的效能。如果你增加模型的規模,通常效能會保持不變或是有所提升;但是不太可能會明顯變糟。避免使用更大的模型的唯⼀的原因是,隨著模型規模的增加,計算量也會逐漸增加。