樹模型-隨機森林RF
樹模型
1、決策樹 ID3,C4.5,CART
2、隨機森林RF
3、Adaboost
4、GBDT
5、XGboost
6、孤立森林(異常檢測)
二、隨機森林RF
一、整合學習
整合學習通過構建多個學習器採用加權的方式來完成學習任務,類似於“三個臭皮匠頂個諸葛亮”的思想。當然多個學習器之間需要滿足一定的條件,一般來講,多個學習器同屬於一種模型,比如決策樹,線性模型,而不會交叉用多種模型。為了保證整合學習的有效性,多個弱分類器之間應該滿足兩個條件:
1)準確性:即個體學習器要有一定的準確性,在訓練集上正確率至少達到 0.5 才能有好的效果。
2)多樣性:即學習器之間要有一些差異,因為完全相同的幾個學習器整合起來後完全沒有任何效果。
目前,整合學習主要分為Bagging和Boosting兩種方式,前者通過Booststrap Aggregation的重取樣得到多組訓練集,並行的訓練基學習器。而後者是一種提升的思想,基學習器是序列執行的,下一個學習器會基於上一個學習的經驗進行調整,學習器前後有依賴關係,多個學習器最終組合得到強學習器。
//整合學習的有效性說明:
二、隨機森林
隨機森林是整合學習中Bagging方式的代表,其相對決策樹的提高很重要的一點防止過擬合,主要通過以下兩點來防止過擬合,這與深度學習中的Dropout(隨機的丟失一些樣本和特徵)技術非常相似
1)樣本選擇隨機:Bootstrap Sampling
2)特徵選擇隨機:基學習器決策樹的特徵選擇
Bootstrap Sampling:是一種統計學上的抽樣方法,該方法是這樣執行的,對於有個樣本的資料集,進行次有放回取樣得到資料集 ,這樣與的大小一致。有放回取樣使得中有的樣本重複出現,有的樣本則沒有出現,簡單估計一下,某個樣本在次取樣中始終沒被採到的概率為,取極限:
即中的樣本大概有基學習器:早期的Bagging方法是每個基學習器都是一個決策樹,完全按照決策樹的規則建樹。隨機森林則在Bagging的基礎繼續採用特徵隨機,每個基學習器只對在個特徵構成的子集下進行建樹,一般取。這樣構建的決策樹相對於完整的決策樹是一個“淺決策樹”,這樣就構成了特徵的隨機性。
隨機森林過程:
- 假設我們設定訓練集中的樣本個數為,然後通過Bootstrap Sampling來獲得個有重複的樣本集;
- 針對每個樣本集獨立訓練,對於有個特徵的資料集,隨機選擇個特徵構成特徵選擇集。然後在樣本集,特徵集上構建決策樹。值是保持不變的, 隨機選取特徵增加樹的獨立性,每棵決策樹都最大可能地進行生長而不進行剪枝;
- 通過對所有的決策樹進行加權來預測新的資料(在分類時採用多數投票,在迴歸時採用平均)。
到此,隨機森林基本介紹完,但是依然存在問題,隨機森林為什麼能防止過擬合,隨機森林適合什麼樣的場景?
Bias and Variance 分析
從Bias和Variance的角度分析,Bagging對樣本的重取樣得到個訓練集,對於每個訓練集訓練一個基學習器,因為基學習器相同,因此各個學習器有近似的Bais和Variance(學習器並不一定獨立)。假設每個學習器的權重相同即。每個學習器的損失用表示,那麼隨機森林的損失可表示為:
所以 Bagging 後的 Bias和單個基學習器的接近,並不能顯著降低bias,但是若各基學習器獨立,因為每個學習器的權重是,所以引入的方差為,那麼隨機森林的Variance可表示為: