學習理論之誤差和方差

下面的內容是臺灣大學李宏毅老師2016年的機器學習課程第5課 Where does the error come from? 的筆記。

輔助記憶:模型可以看成是範圍有限的某個參數空間(二維的參數空間是平面),訓練的過程就是在這個空間中尋找一點,簡單的模型空間範圍有限,複雜的模型空間範圍更大,更可能包含我們尋找的目標函數。

一些不成體系的文字

一般地,訓練模型在測試數據上的誤差主要來源於兩個方面,一個是模型的誤差(bias),另一個是模型的方差(variance)

在測試數據上,較複雜的模型不一定能夠取得很好的性能。

我們訓練得到的模型 f^(x)\hat{f}(x) 只是對於真實函數 f(x)f(x) 的一種估計(當然實際中並不知道 f(x)f(x) 的表達式)。

我們訓練得到的函數只是參數空間中的一個點,舉個例子,比如我們的假設集(hypothesis set)爲 y^(x)=ω x+b\hat{y}(x) = \omega\,x + b,那麼我們需要確定的參數只有兩個,因此我們的參數空間就是某個平面(比如說一個圓),而我們最終求得的函數只是這個平面上的一點,因此訓練得到的函數可以看成是參數空間中的一點。

誤差(Bias)的結論

越是簡單的模型,其誤差就越大;而越是複雜的模型,其誤差就越小。可以這麼解釋,簡單模型的參數空間的取值範圍較小,可能不包括目標函數的參數取值;與之相反,複雜模型的參數空間的取值範圍較大,可能會包含目標函數的參數取值。

bias

方差(Variance)的結論

越是簡單的模型,其方差就越小,極端的情況就是 f(x)=cf(x) = c ,此時的方差爲 00;與之相反,越是複雜的模型,其方差就越大。可以這麼解釋,簡單模型的參數空間的取值範圍很小,因此無論最後取什麼值,各個取值之間的“距離”都不會太大;而複雜模型的參數空間的取值範圍很大,因此各個取值之間的“距離”是存在比較大的差異的。總而言之,越簡單的模型越不易受到訓練數據的影響

variance

誤差 v.s. 方差

在實際中,最好在兩種誤差之間進行權衡,使得總的誤差最小。

bias_vs_variance

應對方法

對於欠擬合(Underfitting),即誤差(Bias)較大的情況:

  • 重新選擇一個更加複雜的模型
  • 添加更多的特徵

對於過擬合(Overfitting),即方差(Variance)較大的情況:

  • 更多的數據(理想情況)
  • 正則化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章