1. Resampling Methods
重採樣方法是現代統計學習中不可缺失的一環。它們包括:
- 重複的從訓練集中採樣
- 重複的擬合模型以獲得額外的信息
重採樣方法會耗費計算機資源,因爲需要從訓練集中採集不同的子集來多次擬合同一個模型。下面,我們將要討論兩個較爲常用的重採樣方法:
- (交叉驗證)
其中交叉驗證估計測試誤差以靈活的選擇模型;衡量了給定方法參數估計的準確性。
2. Cross Validation
Test Error Rate, Train Error Rate
- Test Error Rate得到了一個方法預測新樣本的平均誤差;而Train Error Rate得到了一個方法在訓練過程中Response和Label的誤差。
- 然而,Test Error Rate往往高於Train Error Rate
當缺少一個較大的測試集來估計Test Error Rate的時候,還有很多其他的替代方案如通過訓練集得到Test Error Rate。在交叉驗證中,訓練樣本中一個假冒的子集會扮演測試集。
The validation set approach
- 假設我們要估計一個模型的Test Error Rate,Validation set approach是個非常簡單的策略。它將所有樣本隨機分成2份,一份作爲Training Set,另一份作爲Validation Set(Hold-out Set)。模型在Training Set上進行訓練,並通過Validation Set來驗證模型的能力。嘗試用來評價模型的驗證效果,它是一種對Test Error Rate的評估。
- 現在使用Auto數據集來驗證Validation Set Approach方法
- 在Auto dataset中,mpg和horsepower有着非線性的關係,所以在線性迴歸模型中加入這一項,將會使得模型獲得更好的效果。那麼,我們很自然的想知道,三次擬合或者更高次的擬合會不會有更好的效果呢?在前文中,我們採用來檢測這一點,但現在可以使用驗證方法如來回答這個問題。
- 我們將392個樣本隨機分爲2份,即Training Set和Validation Set各196各樣本。我們使用Training Set擬合不同的迴歸模型(從1次到高次),並在Validation Set上使用作爲驗證誤差的度量,以評估各模型的性能。
- 從實驗結果上,我們可以發現:二次擬合明顯優於線性擬合;然而三次和之後的高次擬合MSE不減反增,這證明了它們並沒有很好的提升模型的性能。當整個數據集被重複的隨機分成不同的Training Set和Validation Set,並訓練模型後,會發現各個MSE曲線各不相同,它們對於哪個模型能夠獲得最好的性能並沒有統一的意見。我們僅能得到的結論是:二次項的加入大大提升了模型的性能,表現在MSE普遍降低,故線性迴歸不適合該數據集。
- Validation Set Approach很簡單但有兩個潛在的問題
- 對所有數據集,不同的拆分發,訓練出來的模型在驗證集上各不相同,過於依賴特定的Training Set和Validation Set。
- 在驗證方法中,只用訓練集中的樣本擬合模型,故當訓練樣本較小時,驗證集的Test Error Rate將被過高的估計。
3. Leave-One-Out Cross-Validation
-
簡稱。假設有樣本,每次從樣本中挑選出一個樣本作爲Validation Set,剩下的個樣本當作Training Set。模型將會用個樣本來擬合模型,並用1個樣本計算值。
-
根據上述選擇Test Set的方法,可將過程重複次得到個的值。估計Test MSE的方法爲,求個Test Error估計的均值:
-
相對於Validation Set Approach方法有以下兩個優點
- 偏差低(far less bias)。bias高會導致過高估計Test Error Rate,因爲浮動性太大,而造成這個問題的主要原因是訓練樣本不充足。而每次都選取個樣本,相對於Validation Set Approach的,Training Set大得多。故偏差高的問題得到緩解。
- Validation Set Approach中的Training Set中的樣本隨機性太強,導致各個MSE曲線各不相同,無法得出有用的結論。而總會得出相似的MSE曲線,故在拆分訓練集/測試集時沒有隨機性。
-
然而,使用對算力要求較高,因爲要測試次模型。當過大時,會耗費大量的時間擬合最小二乘線性或者多項式迴歸中,但是可通過一個捷徑減小的開銷至訓練一個模型相當。公式如下:
- 其中,未原始最小二乘的第個擬合值;是高槓杆點。這個值和原始的相似,但第個殘差除以了。值位於之間,反應了一個樣本對於擬合自身的影響。因此,高槓杆點的殘差被正確的計算,從而使得等式成立。
- 也就是說,影響Test Error Rate往往是異常點:離羣點、高槓杆點。其中,高槓杆點的影響尤爲明顯,擬合次模型就是爲了消除這些異常點的影響。而通過上述捷徑公式可直接消除異常點的影響,無需進行多次的擬合,但該方法並不一直使用。
4. K-Fold Cross-Validation
-
的一個替代品就是K-Fold CV,其步驟如下
-
首先將訓練集分成等大小的組
-
每次選擇其中一組作爲驗證集,模型擬合剩餘的組,MSE計算均方差。
-
重複次後,K-Fold CV可用於計算下式的估計
不難發現,當時,是K-Fold CV的一個特殊形式。
-
-
在實踐中,往往設置或者,那麼K-Fold相對於的優勢在哪裏呢?
- 首先肯定是降低了計算量。需要擬合次模型,當很大的時候,這幾乎是場災難。
- 。通過將訓練集隨機分成10個,並使用9個進行訓練得到的Error Curve(誤差曲線)的變化明顯沒有Validation Set Approach強烈。
-
我們再詳細的看一下。
- 當時,K-Fold CV相對於有着計算上的優勢。我們將該優勢放在一邊,可以發現K-Fold CV一個不太明顯但卻更加重要的優點是:它相較於對於Test Error Rate的估計會更加的精確,這和相關。
- 在上文中,我們提到Validation Set Approach會對Test Error Rate估計過高,因爲這個方法中的訓練集僅爲數據集的一半。在這個邏輯下,不難看出給出的測試誤差近似無偏估計(因爲每個訓練集包含個樣本,接近整體了,求的就是每個整體數據集訓練出來的模型的MSE的均值)。
- 而K-Fold CV,當或的時候,將會找到偏差較爲中間的部分,因爲每個訓練集包含個樣本,比的方法少得多,但比Validation Approach多得多。所以,從減少偏差的角度,優於K-Fold CV。
- 但在估計的過程中,偏差(Bias)並不是唯一需要關心的,我們必須要同時考慮。事實證明,當時,的明顯高於K-Fold CV。爲什麼?當我們進行的時候,我們實際上室對個擬合模型的輸出進行平均,每個模型幾乎都在相同的訓練集上進行訓練,因爲這些輸出高度相關。相比之下,K-Fold CV的輸出相關性較小,因爲每個模型的訓練集的重疊度較小。
- 因爲許多高度相關量的均值比低相關量的均值,有更高的方差;因此,產生的測試誤差估計往往比K-Fold CV有更高的方差。
本文爲作者原創,轉載需註明出處!