【集成模型】Bootstrap Aggregating(Bagging)


0 - 思想  

  如下圖所示,Bagging(Bootstrap Aggregating)的基本思想是,從訓練數據集中有返回的抽象m次形成m個子數據集(bootstrapping),對於每一個子數據集訓練一個基礎分類器,最后將它們的結果綜合起來獲得最終輸出。

1 - 特點

  Bagging需要不同的/獨立的(diverse/independent)基礎模型,因此太過穩定的模型不適合這種集成方法,例如:

  • KNN是穩定的
  • 決策樹是不穩定的,特別是未剪枝的決策樹(因為對於每一份數據的擬合可能很不一樣)

  此外,集成模型的性能在基礎模型的數量達到一定規模之后,將收斂。

2 - 隨機森林(Random Forest)

  一類最經典的Bagging集成模型是隨機森林(Random Forest),其中通過如下兩個點來確保隨機性(即確保不同基礎模型之間的差異性):

  • 每一棵樹都使用一個子數據集進行訓練(a bootstrap sample of data)
  • 每一個結點的最優分割加入了隨機化,具體有如下三種方法
    • 從全部的$m$個屬性中隨機選取$d$個屬性,計算它們的信息增益再選擇最優的分割;
    • 計算$L$個隨機屬性的線性組合,線性組合的權重從$[-1,1]$中隨機采樣(這一種方法不太理解);
    • 計算全部$m$個屬性的信息增益,而后選擇最高的$d$個屬性,再從中隨機選取一個屬性進行分割。

3 - 總結

  1. Bagging的工作原理是減少預測方差
  2. 簡單分析預測結果,可以知道Bagging有預測錯誤概率的上界
    • 假設對於基礎模型$i$,其預測錯誤的概率為$P(h_i(x)\neq f(x))=\epsilon $
    • 並且取預測最多的類別最為最終結果,表示為$H(x)=sign\left(\sum_{i=1}^T h_i(x) \right )$
    • 那么最終預測錯誤的概率可以表示為(利用Hoeffding inequality)$P(H(x)\neq f(x))=\sum_{k=0}^{\left \lfloor T/2 \right \rfloor}\binom{T}{k}(1-\epsilon)^k\epsilon^{T-k}\leq exp\left(-\frac{1}{2}T(2\epsilon-1)^2 \right )$
  3. Bagging很適合並行處理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM