2.1:經(jīng)驗誤差與過擬合
通常我們把分類錯誤的樣本數(shù)占樣本總數(shù)的比例稱為“錯誤率”,相應的。精度即“1-錯誤率”。更一般的,我們把學習器的實際預測輸出和樣本的真實輸出之間的差異稱為“誤差”。
*需要注意,這里所說的誤差均是指的是誤差期望。
學習器在訓練集上的誤差稱為“訓練誤差”或者“經(jīng)驗誤差”,在新樣本上的誤差稱之為“泛化誤差”。
我們現(xiàn)在努力做得是把經(jīng)驗誤差最小化。我們實際希望的,是在樣本上能表現(xiàn)出來的很好的學習器。為了達到這個目的,應該從訓練樣本上盡可能的學出適用于所有潛在樣本的“普遍規(guī)律”,這樣才能在遇到新樣本時做出正確的判別。但是當訓練樣本在訓練的時候已經(jīng)把自身的一些特點當做了所有潛在樣本的一個普遍規(guī)律時,這樣就會導致泛化能力的下降。這樣的問題在機器學習中就叫做“過擬合”。
李航在《統(tǒng)計機器學》中的過擬合定義:
過擬合是指在學習時選擇模型所包含的參數(shù)過多,以至于出現(xiàn)這一模型對已知數(shù)據(jù)預測的很好,但是對未知數(shù)據(jù)預測的很差的現(xiàn)象??梢哉f模型的選擇旨在避免過擬合并且提高模型的預測能力。對于模型的選擇,理想的解決方案當然是對候選模型的泛化能力進行評估,去選擇泛化誤差最小的那個模型。
有很多的因素導致過擬合,最常見的情況是因為學習能力太過于強大,以至于把訓練樣本所包含的不太一般的數(shù)據(jù)都可以學到了,而欠擬合則是因為學習能力低下所造成的。而學習能力是否“過于強大”。是由學習算法和數(shù)據(jù)內(nèi)涵共同決定的。
現(xiàn)在來說過擬合是機器學習面臨的關(guān)鍵障礙,各類學習算法都必然帶有一個針對過擬合的措施;然而必須認識到,過擬合是無法徹底避免的,我們所做的只是緩解,或者說減少風險。
在書中提到了機器學習面臨的問題是NP難甚至更難。這里的NP:一個能在多項式時間內(nèi)驗證證明是否正確題目的難度。這里的P顧名思義:一個能在多項式內(nèi)證明題目的難度。并且NP是多年來無法解決的問題的總和,如果解決一個這個集合的問題,所有的問題也都解決了。
2.2:評估方法
通常情況下,我們可以通過實驗測試來對學習器的泛化誤差評估進行評估并進一步作出選擇。但是在現(xiàn)實任務中往往還會考慮時間開銷,存儲開銷,可解釋性等方面的因素。在這里只考慮泛化的誤差。
在實際情況下,我們一般會使用一個測試集來測試學習器對新樣本的判別能力,然后以測試機上的“測試誤差”作為泛化誤差的近似。
*應該注意,測試集應該盡可能與訓練集相互排斥,即訓練樣本盡量不在訓練集中出現(xiàn),未在訓練過程中使用過。
當我們只有一個包含m個樣例的數(shù)據(jù)集D時,即需要訓練,又要測試,應該通過對D的處理,從中產(chǎn)生訓練集S和測試集T。
2.2.1:留出法
“留出法”是直接將數(shù)據(jù)集D劃分為兩個互斥的集合,其中一個作為訓練集S,另一個作為測試集T,即D包括S和T,但是S和T的之間為空集。在S訓練處模型后,用T來評估測試誤差,對于泛化誤差的估計。
*需要注意的是,訓練或測試集的劃分要盡可能的保持數(shù)據(jù)分布的一致性,避免因數(shù)據(jù)劃分過程引入額外的偏差從而對最終結(jié)果產(chǎn)生影響。因為如果S,T的樣本類別比例差別很大,則誤差估計將由于訓練/測試數(shù)據(jù)的分部的差異而產(chǎn)生差異。
*另一個要注意的問題是,即便在給定訓練/測試集樣本比例后,仍然產(chǎn)生多種的劃分方式對初始的數(shù)據(jù)D進行分割,因為這些不同的劃分將導致不同的訓練/測試集,相應的,模型的評估的使用也會有差別,因此在單次使用留出法得到的估計結(jié)果往往不夠穩(wěn)定可靠,在做出留出法時,一般要采用若干次隨機劃分,重復進行實驗評估后取平均值作為留出法的評估結(jié)果。同時可以得到估計結(jié)果的標準差。現(xiàn)在常用的方法是將大約60-70%的數(shù)據(jù)進行訓練,剩下的進行測試。一般而言,測試集至少包括30個樣例。
2.2.2:交叉驗證法
這個就是我們經(jīng)常使用的K倍交叉驗證法,其實很大程度上,交叉驗證法評估結(jié)果的穩(wěn)定性和保真性很大程度上取決于K的取值。
與留出法相似,將數(shù)據(jù)集D劃分為K個子集同樣存在于多種劃分方式,為減少因樣本劃分不同而引入的差別,K折交叉驗證通常要隨機使用不同的劃分P次,最終的評估結(jié)果就是這次P次K折交叉驗證的結(jié)果的均值。
*10次10折交叉驗證與100次留出法都是進行了100次的訓練測試
留一法優(yōu)缺點:
優(yōu)點:留一法不受隨機樣本劃分方式的影響,因為m個樣本只有唯一的方式劃分為m個子集,并且每個子集中包含一個樣本;留一法的使用的訓練集和初始的數(shù)據(jù)集只少了一個樣本。這就使得在絕大多數(shù)情況下,留一法中被實際評估的模型和用D期望評估的訓練模型很相似。因此留一法的評估結(jié)果往往被認為比較準確的。然而在數(shù)據(jù)比較大的時候,訓練M個數(shù)據(jù)模型的計算開銷是難以忍受的,并且根據(jù)NFL定理,留一法的估計結(jié)果也未必永遠比其他方法準確。
2.2.3:自助法
自助法在數(shù)據(jù)集小,難以有效劃分訓練測試集時很有用,此外,自助法能從初始數(shù)據(jù)集中產(chǎn)生多個不同的訓練集,這對集成學習等方法有很大的好處。然而,自助法產(chǎn)生的數(shù)據(jù)集改變了初始數(shù)據(jù)集的分步,這樣就會引入估計偏差。因此在數(shù)據(jù)量充足時,常用留出法和交叉驗證法。