【機器學習】整合學習——Bagging與隨機森林
【資料集劃分Strategy】
- 留出法
- 交叉驗證法
- 自助法
留出法
在保證樣本類別均衡(正類和負類)的情況下,將資料集劃分為:訓練集和測試集,一般常見的做法是將大約~的樣本用於訓練,剩餘樣本用於測試。舉例:有1000個樣本,其中500個正類,500個負類,使用“分層取樣”方法,保證訓練集和測試集中正類、負類樣本數量1:1,若採用的比例,則訓練集有800個樣本,其中正類、負類各400個,測試集,正類、負類各100個。
交叉驗證法
先將資料集劃分為個大小相似的互斥子集,即
每個子集都儘可能保持資料分佈的一致性,即從中透過分層取樣得到。然後,每次用個子集的並集作為訓練集,餘下的那個子集作為測試集;這樣就可獲得組訓練/測試集,從而可進行次訓練和測試,最紅返回的是這個測試結果的均值。
自助法
給定包含個樣本的資料集,我們對它進行取樣產生資料集:每次隨即從中挑選一個樣本,將其複製放入,然後再將該樣本放回初始資料集中,使得該樣本在下次取樣時仍有可能被採到;這個過程重複執行次後,我們就得到了包含個樣本的資料集,這就是自助取樣的結果。顯然,中
有一部分樣本會在中多次出現,而領一部分樣本不出現。樣本在次取樣中始終不被採到的機率是,取極限得到:
之所以在這裡介紹這些內容,是因為bagging整合演算法中用到了自助取樣法(自助法),所以才會有了這部分內容。
【Bagging】
Bagging是並行式整合學習演算法最著名的代表。對資料集的劃分,採用自助取樣法,透過次取樣得到個訓練集和測試集,基於每個取樣集(訓練集)訓練出一個基學習器,再將這些基學習器進行結合。這就是Bagging的基本流程,在對個基學習器進行組合的時候,通常對分類任務使用簡單投票法,對迴歸任務使用簡單平均法。
演算法流程圖如下:
包外估計
自助取樣法為Bagging演算法提供了估計模型泛化效能的方法,即包外估計。由於每個基學習器只是用了初始訓練集中約63.2%的樣本,剩下約36.8%的樣本可用作驗證集來對泛化效能進行“包外估計”。為此需記錄每個基學習器所使用的訓練樣本,不妨設表示實際使用的訓練樣本集,令表示對樣本的包外預測,則僅考慮那些未使用訓練的基學習器在上的預測,有
則Bagging泛化誤差的包外估計為:
從偏差-方差的角度看,Bagging主要關注降低方差,Boosting主要關注減低偏差。
【隨機森林】
隨機森林是Bagging的一個擴充套件變體,簡稱RF。是在Bagging的基礎之上,進一步引入了隨機屬性選擇,即在決策樹的訓練過程中,引入了隨機屬性選擇,增加了基學習器的多樣性。
具體做法如下:傳統決策樹在選擇劃分屬性時是在當前節點的屬性集合(假定有個屬性)中選擇一個最優屬性;而RF,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇一個包含個屬性的子集,然後再從這個子集中選擇一個最優屬性用於劃分。這裡的引數控制了隨機性的引入程度:若,則基決策樹的構建與傳統決策樹相同;若令,則是隨機選擇一個屬性用於劃分;一般情況下,推薦值。
具體的程式碼實現,可以使用scikit-learn工具進行實現,程式碼可以參考【機器學習】決策樹——決策樹的兩種實現方式(Python版)
【整合學習——結合策略】
在整合學習中,對於訓練出來的基學習器我們一般採用以下三種方式進行組合:平均法,投票法,學習法(Stacking典型代表)
這部分內容,請參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/854/viewspace-2816557/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 01整合學習-概述、Bagging-隨機森林、袋外錯誤率隨機森林
- 6. 整合學習&隨機森林隨機森林
- 隨機森林和機器學習隨機森林機器學習
- Bagging與隨機森林(RF)演算法原理總結隨機森林演算法
- Bagging與隨機森林演算法原理小結隨機森林演算法
- 【小白學AI】隨機森林 全解 (從bagging到variance)AI隨機森林
- 機器學習之決策樹與隨機森林模型機器學習隨機森林模型
- 【機器學習】--決策樹和隨機森林機器學習隨機森林
- 隨機森林n_estimators 學習曲線隨機森林
- Bagging(Bootstrap aggregating)、隨機森林(random forests)、AdaBoostboot隨機森林randomREST
- 隨機之美,隨機森林隨機森林
- 整合學習demo(3) oob_bagging
- R資料分析:整合學習方法之隨機生存森林的原理和做法,例項解析隨機
- 機器學習-整合學習機器學習
- 機器學習(五):通俗易懂決策樹與隨機森林及程式碼實踐機器學習隨機森林
- 【Python機器學習實戰】決策樹與整合學習(三)——整合學習(1)Python機器學習
- 隨機森林的祕密隨機森林
- 隨機森林、EM、HMM、LDA隨機森林HMMLDA
- R:microtable包隨機森林隨機森林
- 《機器學習Python實現_10_09_整合學習_bagging_stacking原理及實現》機器學習Python
- ENVI新機器學習:隨機森林遙感分類工具操作手冊機器學習隨機森林
- 隨機森林演算法隨機森林演算法
- 決策樹和隨機森林隨機森林
- Python隨機森林 - CodeProjectPython隨機森林Project
- 【Python機器學習實戰】決策樹與整合學習(四)——整合學習(2)GBDTPython機器學習
- 機器學習基礎——整合學習1機器學習
- 機器學習-整合學習LightGBM機器學習
- 隨機森林演算法梳理隨機森林演算法
- 機器學習整合學習—Apple的學習筆記機器學習APP筆記
- 隨機森林演算法原理與Python實現隨機森林演算法Python
- 【問題3】:Kaggle練習題《房價預測》----分別採用的嶺迴歸,隨機森林,bagging模型,AdaBoost,XgBoost等。隨機森林模型
- Bagging和RandomForest學習randomREST
- 【Python機器學習實戰】決策樹與整合學習(六)——整合學習(4)XGBoost原理篇Python機器學習
- 林軒田機器學習技法課程學習筆記7 — Blending and Bagging機器學習筆記
- 演算法金 | 決策樹、隨機森林、bagging、boosting、Adaboost、GBDT、XGBoost 演算法大全演算法隨機森林
- 一句話總結隨機森林隨機森林
- Spark2 Random Forests 隨機森林SparkrandomREST隨機森林
- 隨機森林演算法原理剖析隨機森林演算法