[深度學習-2.2] 方差和偏差的理解

方差(Variance)和偏差(Bias)是看似是很基本的概念,但是深入理解會發現其中也包含着很大的學問。理解好方差和偏差能幫助我們改進擬合過程,從而得到更好地模型。

  以下面這個簡單的數據分類問題爲例。我們希望將圖中的兩類樣本點正確劃分。

  顯然,中間圖是一個很理想的分類,絕大部分的樣本點都得到了正確的劃分。而假如使用像邏輯迴歸這種簡單的模型,我們可能得到左邊圖中那樣一條直線,這個模型就對應高偏差,因爲有較多的樣本點被錯誤的劃分,這種情況我們稱模型“欠擬合”。如果我們使用的一個非常複雜的模型,像右圖那樣所有的樣本點都得到了正確的劃分,這是個好的模型嗎?答案是否定的,這個模型存在高方差,因爲如果我們加入一些新的樣本點(例如下圖中的a和b),模型將會很大概率將他們劃分到錯誤的類別裏,特別是位於分類邊緣的一些樣本,這種情況我們稱爲“過擬合”。

  還有一種況,即高偏差高方差的情況,如下圖所示,高偏差是因爲模型對訓練樣本點不能很好的擬合,有較多的樣本點被錯誤劃分;高方差是因爲對中間兩個樣本點過度擬合。因此這是一個比較糟糕的分類器。

總結

  簡單來說,可以理解爲偏差體現了模型對於數據的擬合程度,方差體現了模型的泛化性能,即對於一些新的樣本是不是能夠正確分類。
  在訓練一個深度網絡模型的時候,我們可以通過其在訓練集和驗證集上的誤差來分析模型的好壞,進而進行模型調整。可以通過下面這個簡單規則來進行判斷:

訓練集誤差 較高
驗證集誤差 較高 更高
結論 低偏差,低方差 高方差 高偏差 高方差,高偏差

在訓練過程判斷出模型存在的問題後,就可以針對不同的情況採取不同的措施改善模型性能。具體如下

  • 高偏差: 增加網絡層數,增加隱藏層神經元數量,增加算法迭代次數,或者用更好的優化算法。
  • 高方差: 增加用來訓練模型的樣本數,或者使用正則化防止過擬合。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章