隨機森林和adaboost演算法都可以用來分類,它們都是優秀的基於決策樹的組合演算法。相對於經典線性判別分析,其分類效果一般要好很多。
boosting方法
提公升學習(boosting)是一種機器學習技術,可以用於回歸和分類的問題,它每一步產生弱**模型(如決策樹),並加權累加到總模型中;如果每一步的弱**模型的生成都是依據損失函式的梯度方式的,那麼就稱為梯度提公升(gradient boosting);
提公升技術的意義:如果乙個問題存在弱**模型,那麼可以通過提公升技術的辦法得到乙個強**模型;
常見的模型有:
adaboost
gradient boosting(gbt/gbdt/gbrt)
隨機森林
概念:隨機森林利用隨機的方式將許多決策樹組合成乙個森林,每個決策樹在分類的時候決定測試樣本的最終類別
在bagging策略的基礎上進行修改後的一種演算法
從樣本集中用bootstrap取樣選出n個樣本;
從所有屬性中隨機選擇k個屬性,選擇出最佳分割屬性作為節點建立決策樹;
重複以上兩步m次,即建立m棵決策樹;
這m個決策樹形成隨機森林,通過投票表決結果決定資料屬於那一類
rf演算法在實際應用中具有比較好的特性,應用也比較廣泛,主要應用在:分類、
回歸、特徵轉換、異常點檢測等。常見的rf變種演算法如下:
extra tree
totally random trees embedding(trte)
isolation forest
rf的主要優點:
訓練可以並行化,對於大規模樣本的訓練具有速度的優勢;
由於進行隨機選擇決策樹劃分特徵列表,這樣在樣本維度比較高的時候,仍然具有比較高的訓練效能;
給以給出各個特徵的重要性列表;
由於存在隨機抽樣,訓練出來的模型方差小,泛化能力強;
rf實現簡單;
對於部分特徵的缺失不敏感。
rf的主要缺點:
在某些噪音比較大的特徵上,rf模型容易陷入過擬合;
取值比較多的劃分特徵對rf的決策會產生更大的影響,從而有可能影響模型的效果
adaboost
基於資料集多重抽樣的分類器
adaboost 是一種迭代演算法,其核心思想是針對同乙個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成乙個更強的最終分類器(強分類器)
adaboost 演算法本身是通過改變資料分布來實現的,它根據每次訓練集中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改過權值的新資料送給下層分類器進行訓練,最後將每次得到的分類器融合起來,作為最後的決策分類器
「關注」被錯分的樣本,「器重」效能好的弱分類器實現:
假設訓練資料集
初始化訓練資料權重分布
使用具有權值分布dm的訓練資料集學習,得到基本分類器
計算gm(x)在訓練集上的分類誤差
計算gm(x)模型的權重係數αm
權重訓練資料集的權值分布
權重歸一化
構建基本分類器的線性組合
區別
相同處:
1,相同:二者都是bootsrap自助法選取樣本。
2,相同:二者都是要訓練很多棵決策樹。
不動處:
1,不同:adaboost後面樹的訓練,其在變數抽樣選取的時候,對於上一棵樹分錯的樣本,抽中的概率會加大。
2,不同:隨機森林在訓練每一棵樹的時候,隨機挑選了部分變數作為拆分變數,而不是所有的變數都去作為拆分變數。
3,不同:在**新資料時,adaboost中所有的樹加權投票來決定因變數的**值,每棵樹的權重和錯誤率有關;隨機森林按照所有樹中少數服從多數樹的分類值來決定因變數的**值。
隨機森林和Adaboost的區別
隨機森林 對於每棵樹而言,隨機且有放回地從訓練集中抽取n個樣本訓練 如果每個樣本的特徵維度為m,指定乙個常數madaboost改變了訓練資料的權值,也就是樣本的概率分布,其思想是將關注點放在被錯誤分類的樣本上,減小上一輪被正確分類的樣本權值,提高那些被錯誤分類的樣本權值。然後,再根據所採用的一些基本...
AdaBoost與隨機森林 簡單區別
首先明確乙個大方向 強可學習和弱可學習是等價的。所以,弱可學習方法可以提公升為強可學習方法。adaboost最具代表性。對於提公升方法,有兩個問題需要回答 adaboost的做法 不改變所給的訓練資料,而不斷改變訓練資料權值的分布,使得訓練資料在基本分類器的學習中起不同的作用,這就是adaboost...
隨機森林與Adaboost的區別
隨機森林與adaboost兩者均歸屬於整合學習演算法,隨機森林是bagging方法,adaboost是boosting方法。我們先來比較一下boosting方法和bagging方法的區別 1.在樣本選擇上 boosting每一輪的訓練集是不變的,改變的只是每乙個樣本的權重 bagging採用的是bo...