Bootstrap & Cross-Validation
- Bootstrap
有放回抽樣,減少不確定性 - Cross-Validation
K等分,留一份做測試集其余為訓(xùn)練集;為了模型評估結(jié)果的穩(wěn)定性,常用于特征選擇,模型選擇,- Bias-Variance Trade-Off
K 越大test error(以validation data set 的 error代替)的variance越高,bias越低- 經(jīng)驗選擇 k=5或10
- 減少計算量
- bias - variance trade-off
- 經(jīng)驗選擇 k=5或10
- Bias-Variance Trade-Off
Bagging, Random Forests
Bagging: Bootstrap aggregation
用bootstrap方法得到B個數(shù)據(jù)集(每個數(shù)據(jù)集包含n個數(shù)據(jù)),以B個數(shù)據(jù)集建立B個模型,最終結(jié)果為所有模型結(jié)果的平均(或多數(shù)投票)Out of Bag Error Estimation (OOB)
平均每次只有2/3的樣本會進入訓(xùn)練模型,剩下的1/3可用來計算測試集誤差。平均每個樣本會B/3次出現(xiàn)在測試集中,計算誤差時取均值。若用決策樹,每棵樹都完全生長不剪枝
單顆樹low bias, high variance;再結(jié)合Bagging的方法降低variance;B越大越好,經(jīng)驗值取100-
Random Forests
RF在bagged trees的基礎(chǔ)上通過隨機選取特征來降低樹與樹之間的相關(guān)性。- bagged trees模型若變量中有部分變量有較強預(yù)測性,則生成的各顆樹相似度較高。不能顯著降低模型variance。
m 的經(jīng)驗值為√p, 在相關(guān)變量較多時宜使用較小的m
Boosting
- 與bagging的區(qū)別
bagged trees中的樹是各自建立在自己的抽樣的數(shù)據(jù)集上,訓(xùn)練過程獨立;Boosting方法中樹是依次建立的并且沒有使用bootstrap抽樣;Boosting是一群弱分類器的加權(quán)組合; - Boosting有三個重要參數(shù)
- 樹的個數(shù):樹太多時會過擬合,通常用cross-validation來確定樹的個數(shù)
- 樹的深度:通常深度為1
- 學(xué)習(xí)率:通常為0.01或0.001,較小的學(xué)習(xí)率需要較多的樹。
- Boosting方法訓(xùn)練時每棵樹會考慮前面樹的效果,因此宜使用較簡單的樹(深度?。涣硗夂唵蔚臉溆休^高的解釋性(如用stumps構(gòu)成additive model)
- Boosting算法的實現(xiàn)
- AdaBoost(Adaptive Boosting)
- XGboost
Extreme Gradient Boosting
Reference:
《Introduction to statistical learning》
《Machine learning in action》