bagging與隨機森林(python實現)

2021-09-25 04:44:59 字數 1148 閱讀 9276

採用資料隨機重抽樣的分類器構建方法,從訓練集進行子抽樣組成每個基學習器的子訓練集,結合所有基學習器的**結果進行最終的**。如下圖所示:

關於「隨機取樣」:

隨機取樣(bootsrap)就是從我們的訓練集裡面採集固定個數的樣本,但是每採集乙個樣本後,都將樣本放回。也就是說,之前採集到的樣本在放回後有可能繼續被採集到。對於我們的bagging演算法,一般會隨機採集和訓練集樣本數m一樣個數的樣本。這樣得到的取樣集和訓練集樣本的個數相同,但是樣本內容不同。如果我們對有m個樣本訓練集做t次的隨機取樣,,則由於隨機性,t個取樣集各不相同。其中有1/e(計算很簡單)的資料是從未取樣到的,可以用來作為測試集。

gbdt的子取樣是無放回取樣,bagging是有放回取樣。

為什麼說bagging是減少variance,而boosting是減少bias?

隨機森林的改進:

首先,rf使用了cart決策樹作為弱學習器,這讓我們想到了梯度提公升樹gbdt。第二,在使用決策樹的基礎上,rf對決策樹的建立做了改進,對於普通的決策樹,我們會在節點上所有的n個樣本特徵中選擇乙個最優的特徵來做決策樹的左右子樹劃分,但是rf通過隨機選擇節點上的一部分樣本特徵,這個數字小於n,假設為nsub,然後在這些隨機選擇的nsub個樣本特徵中,選擇乙個最優的特徵來做決策樹的左右子樹劃分。這樣進一步增強了模型的泛化能力。

隨機森林的優缺點

rf的主要優點有:

1) 訓練可以高度並行化,對於大資料時代的大樣本訓練速度有優勢。這是的最主要的優點。

2) 由於可以隨機選擇決策樹節點劃分特徵,這樣在樣本特徵維度很高的時候,仍然能高效的訓練模型。

3) 在訓練後,可以給出各個特徵對於輸出的重要性

4) 由於採用了隨機取樣,訓練出的模型的方差小,泛化能力強。

5) 相對於boosting系列的adaboost和gbdt, rf實現比較簡單。

6) 對部分特徵缺失不敏感。

rf的主要缺點有:

1)在某些噪音比較大的樣本集上,rf模型容易陷入過擬合。

2) 取值劃分比較多的特徵容易對rf的決策產生更大的影響,從而影響擬合的模型的效果。

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 當...