Bagging演算法與隨機森林

2021-07-27 07:41:49 字數 1449 閱讀 1858

給定包含m個樣本的資料集d,我們對它進行取樣產生資料集d』:每次隨機從d中挑選乙個樣本,將其拷貝放入d』,然後再將該樣本放回初始資料集d中,使得該樣本在下次取樣時仍有可能被取樣到;這個過程重複執行m次後,我們就得到了包含m個樣本的資料集d』,這就是自助取樣的結果。

顯然有一部分樣本會在d『中出現多次,而另一部分樣本不出現。樣本在m次取樣中始終不被採到的概率是:

limm→∞

(1−1

m)m=

1e=0.368

即通過自助取樣法,初始資料集d中約有36.8%的樣本未出現在樣本資料集d『中。於是我們可將d』用作訓練集,d\d』用作測試集,這種做法簡稱「包外估計」

我們可以取樣出t個含有m個訓練樣本的取樣集,然後基於每個取樣集訓練出乙個集學習器,在將這些基學習器進行結合。在對**輸出進行結合時,bagging通常對分類任務使用簡單投票法,對回歸任務使用簡單平均法。若分類**時出現兩個類收到同樣票數的情形,則最簡單的做法是隨機選擇乙個。

演算法描述

輸入:訓練集d=

;​ 基學習演算法

ξ ;

​ 訓練輪數t。

過程for t = 1,2 , … , t do

​ 通過自助取樣法得到db

s ​

ht=ξ

(d,d

bs)

end for

輸出: h(

x)=a

rgmaxy∈y

∑tt=

1i(h

t(x)

=y)

令dt 表示ht

實際使用的訓練樣本集,令ho

ob(x

) 表示對樣本x的包外估計,即僅考慮哪些未使用x訓練的集學習器在x上的** ho

ob(x

)=ar

gmaxy∈

y∑t=

1ti(

ht(x

)=y)

i(x∉

dt)

則bagging泛化誤差的包外估計為 ϵo

ob=1

|d|∑

(x,y

)∈di

(hoo

b(x)

≠y)

隨機森林(random forest ,簡稱rf) 是 bagging的乙個擴充套件變體。rf再以決策樹為基學習器構建bagging整合的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。

對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇乙個包含k個屬性的子集,然後再從這個子集中選擇乙個最優屬性用於劃分。

k控制了隨機性的引入程度

若令k=d,則基決策樹的構建與傳統決策樹相同

若令k=1,則隨機選擇乙個屬性用於劃分

一般情況下推薦值k=

log2

d .

隨機森林中基學習器的多樣性不僅來自樣本擾動,還來自屬性擾動,這就使得最終整合的泛化效能可通過個體學習器之間差異度的增加而進一步提公升

Bagging與隨機森林

給定包含 m 個樣本的資料集 d,我們對它進行取樣產生資料集 d 每次隨機從 d 中挑選乙個樣本,將其拷貝放入 d 然後再將該樣本放回初始資料集 d 中,使得該樣本在下次取樣時仍有可能被採到 這個過程重複執行 m次後,我們就得到了包含 m 個樣本的資料集 d 這就是自助取樣的結果。顯然,d 中有一部...

Bagging與隨機森林

前今天整理了決策樹的原理實現,順手再把隨機森林的原理整理整理。bagging是並行式整合學習方法最著名的代表,其原理是給定包含m個樣本的資料集,我們先隨機取出乙個樣本放入取樣集中,再把該樣本放回初始資料集 有放回 這樣經過m此隨機取樣操作,我們得到含有m個樣本的取樣集。照這樣,我們可取樣出t個含m個...

Bagging 隨機森林

bagging是n個相互無信賴的弱學習器,通過一定的策略,得到乙個強學習器。bagging乙個主要的特點是隨機取樣,bagging是有放回的取樣。對於乙個有m個樣本的資料集,每次採集乙個樣本,被採的概率是 frac 不被採的概率是 1 frac 如果m次取樣都沒有被採中的概率是 1 frac m 當...