【機器學習】十三、一文看懂Bagging和隨機森林算法原理

集成學習主要包括BoostingBagging兩大類,本文主要分享第二類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算法。
首先針對每個基學習器tit_i,我們對樣本M採用自助採樣法(Bootstrap Sampling)進行採樣(就是我們知道的有放回抽樣),抽取M個樣本。
對於某個樣本,在每次抽樣,被抽到的概率爲1/M1/M,不被抽到的概率爲11/M1-1/M,則M次抽樣不被抽到的概率爲(11M)M(1-\frac{1}{M})^M,當M趨近於∞時,(11M)M=1e=0.368(1-\frac{1}{M})^M=\frac{1}{e}=0.368,也就是說對於每個基學習器的樣本,約有36.8%的樣本不會被採集,這部分沒有被採集的樣本稱爲袋外樣本(Out Of Bags,簡稱OOB)。這些數據沒有參加基學習器模型的訓練,因此可以提高模型的泛化能力。

2.2 Bagging流程
輸入:M個樣本(x1,y1)(x2,y2)...(xm,ym)(x_1,y_1),(x_2,y_2),...,(x_m,y_m),基學習器個數T
輸出:強學習器f(x)f(x)

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首先會隨機選擇nsubn_{sub}個特徵,然後在這些隨機選擇的nsubn_{sub}個樣本特徵中,選擇一個最優的特徵來做決策樹的左右子樹劃分。這樣進一步增強了模型的泛化能力。
這一點是RF(取部分特徵)和Bagging(取所有特徵)最大的不同。

輸入:M個樣本(x1,y1)(x2,y2)...(xm,ym)(x_1,y_1),(x_2,y_2),...,(x_m,y_m),基學習器個數T,模型特徵數nsubn_{sub}
輸出:強學習器f(x)f(x)

for i from 1 to T:
	在樣本集M中有放回採樣M個樣本Mi,隨機選擇n_sub個特徵fi
	對樣本Mi在fi個特徵上訓練處基學習器Ti
組合T個基學習器得到最終的強學習器f(x)

任務:

  • 預測:將T個基學習器的預測結果採用平均值(或加權平均值)作爲最終的預測結果
  • 分類:將T個基學習器的預測類別最多的一類作爲結果

3.3 隨機森林優缺點

  • 優點
  1. 訓練可以高度並行化,對於大數據時代的大樣本訓練速度有優勢。
  2. 由於可以隨機選擇決策樹節點劃分特徵,這樣在樣本特徵維度很高的時候,仍然能高效的訓練模型。
  3. 在訓練後,可以給出各個特徵對於輸出的重要性.
  4. 由於採用了隨機採樣,訓練出的模型的方差小,泛化能力強。
  5. 相對於Boosting系列的Adaboost和GBDT, RF實現比較簡單。
  6. 對部分特徵缺失不敏感。
  • 缺點
  1. 在某些噪音比較大的樣本集上,RF模型容易陷入過擬合。
  2. 取值劃分比較多的特徵容易對RF的決策產生更大的影響,從而影響擬合的模型的效果。

參考文獻:
李航 《統計學習方法》
https://www.cnblogs.com/pinard/p/6156009.html


歡迎添加個人微信號:liu2536036458。
想進入交流羣的,備註:數據分析交流羣
我們共同學習,共同進步!!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章