集成學習主要包括Boosting和Bagging兩大類,本文主要分享第二類Bagging類集成學習,會講解Bagging的原理,以及在Bagging基礎上改進之後的隨機森林(Random Forest,簡稱RF)算法。碼字不易,喜歡請點贊!!!
一、集成學習
1.1 集成學習簡介
集成學習(Ensemble Learning),通過組合多個基學習器來完成任務。可用於分類、迴歸、異常點檢測、特徵選取集成等。是現在非常火爆的機器學習方法。
1.2 集成學習種類
集成學習就是將一些基學習器組合成一個強學習器。對於這些基學習器來說,可以選擇同一種類的,比如隨機森林都採用決策樹作爲基學習器;也可以選擇不全相同的類別的。但是一般來說都採用同質的基學習器,目前來說,應用的最廣泛的基學習器是決策樹和神經網絡。
同質學習器按照基學習器之間是否存在依賴關係可以分爲兩類:
- 基學習器之間存在依賴關係:代表算法爲Boosting算法
- 基學習器之間無依賴關係(可並行生成):代表算法爲Bagging算法
1.2.1 Boosting原理
Boosting原理如下圖,首先在訓練集中用初始權重訓練Model1,根據Model1中的學習誤差率來更新訓練樣本的權重,使得Model1中的學習誤差率高的樣本點的權重變高,那麼在Model2中這些樣本將會更受重視;如此重複迭代,直接達到達到T個基學習器。最終將這T個基學習器通過集合策略進行整合,得到最終的強學習器。
Boosting系列算法裏最著名算法主要有AdaBoost算法和提升樹(boosting tree)系列算法。之後我們會進行講解介紹。
1.2.2 Bagging原理
上面說到Boosting算法的基學習器之間是具有關聯的狀態的,而Bagging在這一點上則不同,Bagging算法的基學習器之間是沒有關聯的。如下圖:
先從數據集DataSet中通過自助採樣的方法,採集樣本,然後每個樣本跑一個基學習器,最後通過組合這些基學習器來完成任務。
二、Bagging
2.1 採樣方法
上面說到Bagging算法的基學習器之間是沒有關聯的。
對於具有M個樣本,和T個基學習器的Bagging算法。
首先針對每個基學習器,我們對樣本M採用自助採樣法(Bootstrap Sampling)進行採樣(就是我們知道的有放回抽樣),抽取M個樣本。
對於某個樣本,在每次抽樣,被抽到的概率爲,不被抽到的概率爲,則M次抽樣不被抽到的概率爲,當M趨近於∞時,,也就是說對於每個基學習器的樣本,約有36.8%的樣本不會被採集,這部分沒有被採集的樣本稱爲袋外樣本(Out Of Bags,簡稱OOB)。這些數據沒有參加基學習器模型的訓練,因此可以提高模型的泛化能力。
2.2 Bagging流程
輸入:M個樣本,基學習器個數T
輸出:強學習器
for i from 1 to T:
在樣本集M中有放回採樣M個樣本Mi,
對樣本Mi訓練處基學習器Ti
組合T個基學習器得到最終的強學習器f(x)
任務:
- 預測:將T個基學習器的預測結果採用平均值(或加權平均值)作爲最終的預測結果
- 分類:將T個基學習器的預測類別最多的一類作爲結果
三、隨機森林
3.1 採樣方法
隨機森林,簡稱RF,採用CART作爲基學習器,是在Bagging上的一種改進。採樣方法同Bagging算法,採用自助採樣法。
3.2 隨機森林流程
隨機森林的改進在於對於普通的決策樹,如果樣本具有n個特徵,不同於普通的決策樹在節點上所有的n個樣本特徵中選擇一個最優的特徵來做決策樹的左右子樹劃分。RF首先會隨機選擇個特徵,然後在這些隨機選擇的個樣本特徵中,選擇一個最優的特徵來做決策樹的左右子樹劃分。這樣進一步增強了模型的泛化能力。
這一點是RF(取部分特徵)和Bagging(取所有特徵)最大的不同。
輸入:M個樣本,基學習器個數T,模型特徵數
輸出:強學習器
for i from 1 to T:
在樣本集M中有放回採樣M個樣本Mi,隨機選擇n_sub個特徵fi
對樣本Mi在fi個特徵上訓練處基學習器Ti
組合T個基學習器得到最終的強學習器f(x)
任務:
- 預測:將T個基學習器的預測結果採用平均值(或加權平均值)作爲最終的預測結果
- 分類:將T個基學習器的預測類別最多的一類作爲結果
3.3 隨機森林優缺點
- 優點
- 訓練可以高度並行化,對於大數據時代的大樣本訓練速度有優勢。
- 由於可以隨機選擇決策樹節點劃分特徵,這樣在樣本特徵維度很高的時候,仍然能高效的訓練模型。
- 在訓練後,可以給出各個特徵對於輸出的重要性.
- 由於採用了隨機採樣,訓練出的模型的方差小,泛化能力強。
- 相對於Boosting系列的Adaboost和GBDT, RF實現比較簡單。
- 對部分特徵缺失不敏感。
- 缺點
- 在某些噪音比較大的樣本集上,RF模型容易陷入過擬合。
- 取值劃分比較多的特徵容易對RF的決策產生更大的影響,從而影響擬合的模型的效果。
參考文獻:
李航 《統計學習方法》
https://www.cnblogs.com/pinard/p/6156009.html