Shallow Learning —Bias and Variance

訓練出的模型的error的來源:bias(偏差)和 variance(方差)

直觀表現是更復雜的模型在testing data上並不總是會有比較好的表現。

1.   關於bias和variance對最終結果的影響用下圖能較好說明。


是最準確的模型,是目標模型,這兩個之間產生的是初始的bias,是實際生成的模型,與我們的目標模型之間產生的誤差是variance。

2.   使用相同的模型,採用不同的訓練數據會得到不同的,越簡單的模型被訓練數據影響的程度越小。




可以看到,模型越複雜,variance可能越大,但bias越小,與實際的模型的擬合程度越高。模型太簡單,會出現欠擬合(underfitting),模型太複雜,會出現過擬合(overfitting)。

3.   

解決underfitting:redesign model

1)增加特徵(w的數量)

2)使用更復雜的模型(x的次數)

解決overfitting

1)採用更多數據(並不總是有效)

2)Regularization(正則化,簡單理解就是懲罰高次項,在誤差函數中加入懲罰項,然後再使用梯度下降法求偏導時會降低懲罰項的影響,直觀效果相當於減少了feature,因此可能會增大bias,這裏還不是很懂

模型選擇:在bias和variance之間要有一個權衡,其實這裏是假設有幾個模型,針對某個模型通過交叉驗證得到一個打分情況,經過幾輪打分後得到當前模型的總成績,然後再比較幾個模型之間的打分選擇最合適的模型,對最終選定的模型再用全部的數據進行訓練得到最後的結果,對testing data進行預測。

不能直接將訓練得到的模型直接用於testing data,需要有一個validation的過程

使用Cross Validation(交叉驗證),將訓練集的一部分拿出來當做validation data,可以充分利用現有數據去修正誤差。


關於validation更詳細的介紹見:https://zhuanlan.zhihu.com/p/24825503?utm_source=tuicool&utm_medium=referral

評論區有一段比較好的解釋: