機器學習之模型評估與模型選擇

一 模型評估
這裏寫圖片描述
對於這兩種誤差,測試誤差能夠反映學習方法對未知的測試數據集的預測能力,是學習中的重要概念,通常將學習方法對未知數據的預測能力稱爲泛化能力(generalization ability)。
二 泛化能力和過擬合問題
這裏寫圖片描述
過擬合是指學習時選擇的模型所包含的參數過多,以至於出現一模型對已知參數預測得很好,但對未知參數預測得很差的現象。以一維的迴歸分析爲例,如果用高階多項式去擬合數據,比如有五個數據點,用四次多項式去擬合,如果讓該多項式曲線均通過這幾個數據點的話,如圖2所示,則只有唯一解。這種情況可能使得訓練誤差很小,但是實際的真實誤差就可能很大,這說明學習模型的泛化能力很差(bad generalization),對未知數據的預測能力很差。
這裏寫圖片描述
從上面這個圖可以看出,測試誤差有一個先降後升的趨勢,如果定義測試誤差曲線的最低點爲dvc爲最佳vc維,那麼隨着橫座標向右移,訓練誤差下降,測試誤差上升,當測試誤差過大時就產生了過擬合的現象(over fitting);而如果從最佳vc維向左移,這樣造成了欠擬合(under fitting)。
造成過擬合成因有:模型的vc維過高,模型複雜度(model complexity)過高;數據中的噪聲,如果完全擬合的話,也許與真實情景的偏差更大;數據量有限,使得模型無法真正瞭解整個數據的真實分佈。

三 模型選擇
模型選擇旨在避免過擬合併提高模型的預測能力,比較典型的方法有正則化和交叉驗證。
1 正則化
一般形式如下所示
這裏寫圖片描述
其中,第1項是經驗風險,第2項是正則化項,可以爲參數向量的範數。 爲調整兩者之間關係的係數。第1項的經驗風險較小時模型可能比較複雜(有多個非零參數),這時第二項模型複雜度會較大,正則化的作用就是選擇經驗風險與模型複雜度同時較小的模型。
2 交叉驗證
交叉驗證的基本思想就是重複使用數據,把給定的數據進行切分,將切分的數據分成訓練集合測試集,在此基礎上反覆進行訓練、測試以及模型選擇。
(1) 簡單交叉驗證
隨機劃分數據爲兩部分:訓練集和測試集。將訓練集在各種條件(比如不同的參數)下訓練模型,從而得到不同的訓練模型。利用每個模型分別對測試集進行測試,選出測試誤差最小的模型。
(2) S折交叉驗證(S-fold cross validation)
隨機將數據劃分爲S個互不相同的子集,然後利用S-1個子集的數據訓練模型,利用餘下的子集測試模型。將這一過程重複進行S次,最後選出S次評測中平均測試誤差最小的模型。
(3) 留一交叉驗證
留一交叉驗證爲S折交叉驗證的特殊情況,即S=N(N爲樣本容量),往往在數據缺乏的時候使用。

引用:
1 作者Jason Ding http://www.open-open.com/lib/view/open1423572428467.html

2 李航 《統計學習方法》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章