《機器學習》讀書筆記---第二章 模型評估與選擇

1.經驗誤差與過擬合

錯誤率: 錯誤樣本/樣本數

學習器在訓練集上的誤差叫做 “訓練誤差”或“經驗誤差”,在新樣本上的誤差稱爲“泛化誤差”, 我們希望得到泛化誤差小的學習器,而我們能做的是使經驗誤差最小化,但這樣容易導致泛化性能下降,出現“過擬合”現象。

我們要做的就是避免過擬合。機器學習面臨的問題通常是NP難甚至更難問題,而有效的學習算法必然是在多項式時間內運行完成,若可徹底避免過擬合,則通過經驗誤差最小化就能獲得最優解,這就意味着我們構造性證明了P=NP。總之就是過擬合不可避免。

在機器學習的模型選擇中,理想的解決方案是選擇候選模型中泛化誤差最小的那個。(問題又來了,我們無法直接獲得訓練誤差

2.評估方法

我們需要測試集和訓練集,因爲要相對客觀,所以測試集應該與訓練集儘可能的互斥。可是如果我們只有m個樣例的數據集D = {(x1,y1), (x2,y2),…,(xm,ym)},既要訓練,又要測試。我們就應該對D進行適當處理,將其分爲訓練集S和測試集T。

2.1留出法

留出法是直接將D劃分爲兩個互斥的集合S和T。在S上訓練後,在T上進行評估誤差(作爲泛化誤差的估計)。

訓練/測試集的劃分要注意保持數據分佈的一致性,就比如在分類任務中至少要保持樣本的類別比例類似。如果從採樣的角度來看待數據集的劃分過程則保留類別比例的採樣方式通常稱爲“分層採樣”。
另一個要注意的是單次使用留出法往往不夠可靠,所以一般要採用若干次隨機劃分、重複進行實驗評估後取平均值作爲留出法的評估結果。

此外我們希望評估的是用D訓練出來的模型的性能,這樣S和T的比例問題就比較尷尬。通常我們將大約 2345\dfrac{2}{3} 到 \dfrac{4}{5}的樣本用於訓練,其餘用於測試。

2.2 交叉驗證法

將數據集D劃分爲k個互斥子集(每個子集儘可能保持數據分佈的一致性),每次用k-1個子集作爲訓練集,剩下的一個作爲測試集,進行k次訓練和測試,這就叫k折交叉驗證。k最常用的取值是10,再次就是5、20。

同樣,爲了減小因樣本劃分不同而引入的差別,k折交叉驗證通常要隨即使用不同的劃分p次,最終的評估結果是這p次k折交叉驗證的均值。10次10折。
留一法在數據集比較小的情況下比較準確,數據大時複雜度過高。

2.3 自助法

我們有一個包含m個樣例的數據集D,每次隨機從D中選一個樣本copy到D‘,重複m次。這樣D中的樣本約有36.8%未出現在D’中。D’用於訓練,D用於測試。
自助法在數據集較小、難以有效劃分訓練集和測試集時很有用。(集成學習有好處)。因改變了數據集的分佈,會引入估計偏差。

。。待更新

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