給定包含
m 個樣本的資料集
d,我們對它進行取樣產生資料集 d′
:每次隨機從
d 中挑選乙個樣本,將其拷貝放入 d′
,然後再將該樣本放回初始資料集
d 中,使得該樣本在下次取樣時仍有可能被採到;這個過程重複執行
m次後,我們就得到了包含
m 個樣本的資料集 d′
,這就是自助取樣的結果。顯然,
d 中有一部分樣本會在 d′
中多次出現,而另一部分樣本不出現。可以做乙個簡單的估計,樣本在
m 次取樣中始終不被採到的概率是 (1
−1m)
m,取極限得到
limx→∞
(1−1
m)m→
1e≈0.368
即通過自助取樣,初始資料集
d 中約有
36.8
%的樣本未出現在取樣資料集 d′
中。那這些資料可以用作驗證集來對泛化效能進行「包外估計」。
通過自助取樣法,可以取樣出
t 個含
m個訓練樣本的取樣集,然後基於每個取樣集訓練出乙個基學習器,再將這些基學習器進行結合。在對**輸出值進行結合時,bagging 通常對分類任務使用簡單投票法,對回歸任務使用簡單平均法。
隨機森林是bagging的乙個擴充套件變體。rf 在以決策樹為基學習器構建 bagging 整合的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。傳統決策樹在選擇劃分屬性時是在當前的節點的屬性集合(假定有
d 個屬性)中選擇乙個最優屬性;而在rf中,對基決策樹的每個節點,先從該節點的屬性集合中隨機選擇乙個包含
k個屬性的子集,然後再從這個子集中選擇乙個最優屬性用於劃分。這裡
k 控制了隨機性的引入程度。推薦 k=
log2
d。 值得一提的是,隨機森林的訓練效率常優於 bagging,因為在個體決策樹的構建過程中,bagging使用的是「確定型」決策樹,在選擇劃分屬性時要對節點的所有屬性進行考察。而隨機森林使用的「隨機型」覺得書則只需要考察乙個屬性子集。
由於學習任務的假設空間往往很大,可能有多個假設在訓練集上達到同等效能,此時若使用單學習器可能因誤選而導致泛化效能不佳。第二,學習演算法往往會陷入區域性極小,有的區域性極小點對應的泛化效能可能很糟糕,而通過多次執行後進行結合,可降低陷入糟糕區域性極小點的風險。
Bagging與隨機森林
前今天整理了決策樹的原理實現,順手再把隨機森林的原理整理整理。bagging是並行式整合學習方法最著名的代表,其原理是給定包含m個樣本的資料集,我們先隨機取出乙個樣本放入取樣集中,再把該樣本放回初始資料集 有放回 這樣經過m此隨機取樣操作,我們得到含有m個樣本的取樣集。照這樣,我們可取樣出t個含m個...
Bagging 隨機森林
bagging是n個相互無信賴的弱學習器,通過一定的策略,得到乙個強學習器。bagging乙個主要的特點是隨機取樣,bagging是有放回的取樣。對於乙個有m個樣本的資料集,每次採集乙個樣本,被採的概率是 frac 不被採的概率是 1 frac 如果m次取樣都沒有被採中的概率是 1 frac m 當...
Bagging演算法與隨機森林
給定包含m個樣本的資料集d,我們對它進行取樣產生資料集d 每次隨機從d中挑選乙個樣本,將其拷貝放入d 然後再將該樣本放回初始資料集d中,使得該樣本在下次取樣時仍有可能被取樣到 這個過程重複執行m次後,我們就得到了包含m個樣本的資料集d 這就是自助取樣的結果。顯然有一部分樣本會在d 中出現多次,而另一...