2.2.3 自助法
我們希望評估的是用D訓練出的模型,但在留出法和交叉驗證法中,由于保留了一部分樣本用于測試,因此實際評估的模型所使用的訓練集比D小,這必然會引入一些因訓練樣本規模不同而導致的估計偏差.留一法受訓練樣本規模變化的影響較小,但計算復雜度又太高了:有沒有什么辦法可以減少訓練樣本規模不同造成的影響,同時還能比較高效地進行實驗估計呢?
“自助法”(bootstrapping)是一個比較好的解決方案,它直接以自助采樣法(bootstrap sampling)為基礎[Efron and Tibshirani,1993].給定包含m個樣本的數據集D,我們對它進行采樣產生數據集D7:每次隨機從D中挑選一個樣本,將其拷貝放入D',然后再將該樣本放回初始數據集D中,使得該樣本在下次采樣時仍有可能被采到;這個過程重復執行m次后,我們就得到了包含m個樣本的數據集D7,這就是自助采樣的結果.顯然,D中有一部分樣本會在D'中多次出現,而另一部分樣本不出現.可以做一個簡單的估計,樣本在m次采樣中始終不被采到的概率是(1 -擊)…,取極限得到即通過自助采樣,初始數據集D中約有36.8070的樣本未出現在采樣數據集D'中,于是我們可將D'用作訓練集,DD'用作測試集;這樣,實際評估的模型與期望評估的模型都使用m個訓練樣本,而我們仍有數據總量約1/3的、沒在訓練集中出現的樣本用于測試.這樣的測試結果,亦稱“包外估計”(out-of-bagestimate).自助法在數據集較小、難以有效劃分訓練/測試集時很有用;此外,自助法能從初始數據集中產生多個不同的訓練集,這對集成學習等方法有很大的好處,然而,自助法產生的數據集改變了初始數據集的分布,這會引入估計偏差.因此,在初始數據量足夠時,留出法和交叉驗證法更常用一些.?