本系列将重點續寫內建算法,其中包括随機森林(RF)—>GBDT—>XGB—>LightGBM,本文将重點介紹随機森林算法(RF)。
1. 什麼是內建學習
內建學習,有個說法叫“三個臭皮匠,頂一個諸葛亮”,如下圖所示,簡單來說就是對于訓練集資料,我們通過訓練若幹個個體學習器,通過一定的結合政策,就可以最終形成一個強學習器,以達到博采衆長的目的。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSP9EVYoRnMYZnRXFGN5wmYx40MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxcjM5ETMzETMyETNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
其中個體學習期的選擇方法要給予,低方差、高偏差的原則。
2、什麼是個體學習器
個體學習器分為同質個體學習器和異質個體學習器。
同質個體學習器:個體分類器屬于同種,比如決策樹分類器、神經網絡分類器
異質個體學習器:個體分類器不屬于同種,比如一個分類問題,分類器同時用到了SVM、LR、樸素貝葉斯等等,然後利用某種結合政策形成最終的強分類器
2.1、同質個體學習器
是否存在依賴關系可以分為兩類
強依賴關系(串行):Boost算法系列(AdaBoost、GDBT、XgBoost、GBM)
不存在強依賴關系(并行):Bagging算法系列(随機森林)
3、Boosting算法
如上圖所示,Boosting算法的工作原理,簡要叙述就是,對于訓練資料集,先設定樣本初始權重,一般利用均值作為初值。然後訓練個體學習器1,經過個體學習器1學習後的學習誤差率更新樣本權重,原則就是加大被分錯樣本的權重,減小分類正确樣本的權重。然後在訓練個體學習期2,以此類推,得到個體學習器T。最後将這T個個體學習期以某種結合政策得到最終的強學習器。
4、Bagging算法
過程如上圖所示,對m個樣本進行又放回抽樣,每抽樣一次,就訓練一次個體學習器(弱學習器),然後對T個個體學習期進行某種結合政策形成強學習器。
5、結合政策
結合政策一般分為三種方法
1、平均法:針對回歸問題
2、投票法:針對分類問題
3、學習法:代表方法stacking.
5.1、平均法
假定有T個弱分類器{h1,h2,…hT}
對于數值類的回歸預測問題,通常使用的結合政策是平均法。最簡單的就是算數平均,最終結果為
H ( x ) = 1 T ∑ 1 T h i ( x ) H\left ( x \right )=\frac{1}{T}\sum_{1}^{T}h_{i}\left ( x \right ) H(x)=T11∑Thi(x)
如果每個個體學習器有一個權重w,則最終結果為
H ( x ) = ∑ 1 T ω i h i ( x ) H\left ( x \right )=\sum_{1}^{T}\omega _{i}h_{i}\left ( x\right ) H(x)=1∑Tωihi(x)
其中 ω i \omega _{i} ωi是個體學習器 hi 的權重。
5.2、投票法
相對多數投票法:少數服從多數
絕對多數投票法:票過半數
權重投票法:同權重平均法一樣
5.3、學習法
代表方法是stacking,當使用stacking的結合政策時,我們将訓練集弱學習器的學習結果作為輸入,将訓練集的輸出作為輸出,重新訓練一個學習器來得到最終結果。
在這種情況下,我們将弱學習器稱為初級學習器,将用于結合的學習器稱為次級學習器。對于測試集,我們首先用初級學習器預測一次,得到次級學習器的輸入樣本,再用次級學習器預測一次,得到最終的預測結果。
6、随機森林
進階算法梳理之随機森林
6.1、随機森林建立方法
生成方法:
1、從樣本集中通過重采用的方式産生n個樣本
2、利用這n個樣本訓練時,随機選擇部分屬性,在這些部分屬性中選擇一個最優特征進行劃分。
3、重複抽樣m次,産生m可決策樹
4、采用投票(分類問題)/平均(回歸問題)的方式進行預測
随機性展現在兩點:1、樣本選擇的随機性。2、特征選擇的随機性
6.2、随機森林的特性
優點:
缺點:
随機森林是一種內建學習+決策樹的分類模型,它可以利用內建的思想(投票選擇的政策)來提升單顆決策樹的分類性能(通俗來講就是“三個臭皮匠,頂一個諸葛亮”)。
集內建學習和決策樹于一身,随機森林算法具有衆多的優點,其中最為重要的就是在随機森林算法中每棵樹都盡最大程度的生長,并且沒有剪枝過程。
随機森林引入了兩個随機性——随機選擇樣本(bootstrap sample)和随機選擇特征進行訓練。兩個随機性的引入對随機森林的分類性能至關重要。由于它們的引入,使得随機森林不容易陷入過拟合,并且具有很好得抗噪能力(比如:對預設值不敏感)。
實戰
不均衡資料處理方法
随機森林