高階演算法梳理之隨機森林

2021-09-22 10:02:16 字數 2608 閱讀 2196

本系列將重點續寫整合演算法,其中包括隨機森林(rf)—>gbdt—>xgb—>lightgbm,本文將重點介紹隨機森林演算法(rf)。

整合學習,有個說法叫「三個臭皮匠,頂乙個諸葛亮」,如下圖所示,簡單來說就是對於訓練集資料,我們通過訓練若干個個體學習器,通過一定的結合策略,就可以最終形成乙個強學習器,以達到博採眾長的目的。

其中個體學習期的選擇方法要給予,低方差、高偏差的原則。

個體學習器分為同質個體學習器和異質個體學習器。

同質個體學習器:個體分類器屬於同種,比如決策樹分類器、神經網路分類器

異質個體學習器:個體分類器不屬於同種,比如乙個分類問題,分類器同時用到了svm、lr、樸素貝葉斯等等,然後利用某種結合策略形成最終的強分類器

2.1、同質個體學習器

是否存在依賴關係可以分為兩類

強依賴關係(序列):boost演算法系列(adaboost、gdbt、xgboost、gbm)

不存在強依賴關係(並行):bagging演算法系列(隨機森林)

如上圖所示,boosting演算法的工作原理,簡要敘述就是,對於訓練資料集,先設定樣本初始權重,一般利用均值作為初值。然後訓練個體學習器1,經過個體學習器1學習後的學習誤差率更新樣本權重,原則就是加大被分錯樣本的權重,減小分類正確樣本的權重。然後在訓練個體學習期2,以此類推,得到個體學習器t。最後將這t個個體學習期以某種結合策略得到最終的強學習器。

過程如上圖所示,對m個樣本進行又放回抽樣,每抽樣一次,就訓練一次個體學習器(弱學習器),然後對t個個體學習期進行某種結合策略形成強學習器。

結合策略一般分為三種方法

1、平均法:針對回歸問題

2、投票法:針對分類問題

3、學習法:代表方法stacking.

5.1、平均法

假定有t個弱分類器

對於數值類的回歸**問題,通常使用的結合策略是平均法。最簡單的就是算數平均,最終結果為

h (x

)=1t

∑1th

i(x)

h\left ( x \right )=\frac\sum_^h_\left ( x \right )

h(x)=t

1​1∑

t​hi

​(x)

如果每個個體學習器有乙個權重w,則最終結果為

h (x

)=∑1

tωih

i(x)

h\left ( x \right )=\sum_^\omega _h_\left ( x\right )

h(x)=1

∑t​ω

i​hi

​(x)

其中 ω

i\omega _

ωi​是個體學習器 hi 的權重。

5.2、投票法

相對多數投票法:少數服從多數

絕對多數投票法:票過半數

加權投票法:同加權平均法一樣

5.3、學習法

代表方法是stacking,當使用stacking的結合策略時,我們將訓練集弱學習器的學習結果作為輸入,將訓練集的輸出作為輸出,重新訓練乙個學習器來得到最終結果。

在這種情況下,我們將弱學習器稱為初級學習器,將用於結合的學習器稱為次級學習器。對於測試集,我們首先用初級學習器**一次,得到次級學習器的輸入樣本,再用次級學習器**一次,得到最終的**結果。

6.1、隨機森林建立方法

生成方法:

1、從樣本集中通過重採用的方式產生n個樣本

2、利用這n個樣本訓練時,隨機選擇部分屬性,在這些部分屬性中選擇乙個最優特徵進行劃分。

3、重複抽樣m次,產生m可決策樹

4、採用投票(分類問題)/平均(回歸問題)的方式進行**

隨機性體現在兩點:1、樣本選擇的隨機性。2、特徵選擇的隨機性

6.2、隨機森林的特性

優點:

缺點:

隨機森林是一種整合學習+決策樹的分類模型,它可以利用整合的思想(投票選擇的策略)來提公升單顆決策樹的分類效能(通俗來講就是「三個臭皮匠,頂乙個諸葛亮」)。

集整合學習和決策樹於一身,隨機森林演算法具有眾多的優點,其中最為重要的就是在隨機森林演算法中每棵樹都盡最大程度的生長,並且沒有剪枝過程。

隨機森林引入了兩個隨機性——隨機選擇樣本(bootstrap sample)和隨機選擇特徵進行訓練。兩個隨機性的引入對隨機森林的分類效能至關重要。由於它們的引入,使得隨機森林不容易陷入過擬合,並且具有很好得抗噪能力(比如:對預設值不敏感)。

實戰不均衡資料處理方法

隨機森林

隨機森林演算法梳理

構建並結合多個學習器來完成學習任務,有時也被稱為多分類器系統 multi classifier system 基於委員會的學習 cjommottee based learning 根據個體學習器的生成方式分為 個體學習器間存在強依賴關係 必須序列生成的序列方法。如 boosting 個體學習器間不存...

隨機森林演算法梳理

整合學習通過構建並結合多個學習器來完成學習任務。即先產生一組個體學習器,再用某種策略將它們結合起來。整合學習通過將多個學習器進行結合,常可獲得比單一學習器顯著優越的泛化效能。根據個體學習器的生成方式,目前整合學習方法大致可分為兩大類 即個體學習器間存在強依賴關係 必須序列化生成的序列化方法,以及個體...

隨機森林演算法梳理

隨機森林演算法梳理 整合學習,由多個基學習器組成,核心在於各學習器的多樣性和準確性。大致分為blending bagging boosting。bagging演算法是通過bootstrap重取樣生成了多棵決策樹,然後根據投票 分類 或求平均 回歸 來給出最終輸出值,側重於減小方差 如果xi方差為xi...