一:bagging與隨機森林
與boosting族演算法不同的是,bagging和隨機森林的個體學習器之間不存在強的依賴關係,可同時生成並行化的方法。
bagging演算法
bagging的演算法過程如下:
1:從原始樣本集中使用bootstraping自助取樣的方法隨機抽取n個訓練樣本,共進行k輪抽取,得到k個訓練集。(k個訓練集之間相互獨立,元素可以有重複)
2:對於k個訓練集,我們訓練k個模型(這k個模型可以根據具體問題而定,比如決策樹,knn等)
3:對於分類問題:由k個模型的**結果投票表決產生分類結果;對於回歸問題:由k個模型**結果的均值作為最後**結果。(所有模型的重要性相同)
從演算法的流程可以看出,bagging生成的每個基學習器的訓練樣本都會不同,由此基學習器之間具有一定的差異,但是這種差異不會特別大,因為採集的樣本是在原樣本上有放回的重複取樣,取樣子集之間有交疊。k輪隨機取樣,每輪經過n次隨機的有放回的抽樣,得到k個含有n個樣本的取樣集。從而可以在k個取樣集上訓練出k個基學習器,然後再將這些基學習 器進行結合。在對**輸出進行結合時,對分類任務使用簡單的投票法,對回歸任務採用簡單平均法。
bagging演算法有以下優點:
(1)假定乙個基學習器的計算複雜度為o(m),bagging的複雜度為t(o(m)+o(s)),由於取樣過程和投票平均過程 的複雜度o(s)很小,t是乙個不大的常數,訓練乙個bagging與直接使用基學習演算法訓練乙個學習器的複雜度同階。
(2)與標準的adaboost演算法只能用於二分類任務 不同,bagging能不經修改的用於 多分類、回歸任務。
(3)由於取樣過程中每個基學習器會沒有使用約有36.8%的樣本,所以可以用來作為驗證集,對基學習器的樣本進行泛化效能包外估計。若基學習器為決策樹,包外樣本可用於對決策樹進行剪枝,若基學習器為神經網路,可用來輔助 早期停止,以減少過擬合的風險。
(4)從偏差方差分解來看,bagging主要是關注降低方差(在取樣過程新增了隨機性),在不剪枝的決策樹、神經網路等易受樣本擾動的學習器比較有效。決策樹是一種貪心的演算法,樣本中噪音過多時,容易過擬合。而神經網路的擬合能力非常強,所以也是一種對樣本中的噪音非常敏感的演算法,容易過擬合。
隨機森林演算法
隨機森林rf是是bagging演算法的變體。rf的基學習器為決策樹,其在構建決策樹基學習器的過程,是在bagging的基礎上,進一步引入了 隨機屬性 選擇。具體來說,一般決策 樹 是 在當前結點中所有的屬性集合中選擇最優屬性來劃分,而 rf對每個基決策樹的結點,從結點中隨機選擇乙個包含k個屬性的子集,然後再從這些子集中選擇乙個最優的屬性劃分。這個k在sklearn裡叫做max_feature,是重要的引數。k控制了隨機性的引入程度,即會對最終的演算法的泛化能力產生影響。
隨機森林的優點:
隨機森林與bagging相比,在其樣本擾動的基礎上,增加了屬性擾動,泛化效能通過個體學習器之間的差異 度的增加而進一步提公升。
隨機森林演算法可以對特徵的重要性進行選擇,如通過包外估計法和基於不純度減少的方法(哪個特徵對不純度減少的貢獻越大,那麼哪個特徵就越重要)
包外估計法原理:
假設針對某個特徵x,我們利用套袋法建立了一顆決策樹t,然後用t對袋外資料toob進行分類檢測,得到其正確分類的個數xt,然後對袋外資料的特徵x進行「隨機擾亂」,對特徵x的取值賦予隨機取的新數值,這時再用t對袋外資料toob'進行分類檢測,得到正確分類數xt',這時對於t來說,特徵x的重要性d=|xt' - xt|,我們對隨機森林中共n顆決策樹做相同操作,可以得到n個特徵x的重要性,取其均值作為x的重要性度量,即d(x) = (d1+d2+......+dn)/n,其中di = |xt'i - xti|(i=1,2,3,....,n)。
總結
隨機森林是一種優秀的演算法。由於隨機森林和bagging的方法在每個基學習器的訓練過程相對獨立,存在一種加法的性質 ,所以這決定了這演算法可以進行平行計算,從而加快執行速度。由於其加入了資料樣本擾動和輸入屬性擾動,所以會具有更好的泛化效能。
機器學習(五) Bagging與Boosting
bagging bagging breiman,1996 通過訓練許多基本分類器進行投票分類,每種基本分類器 如決策樹,神經網路 通過投票的方式降低偏差增加方差。假設我們的任務是使用訓練資料學習乙個模型 q 這些公式的含義?boosting boosting freund shapire,1996 ...
機器學習篇 bagging
bagging 隨機森林是ensemble整合演算法之一 1 模型 整合演算法,弱分類器或基模型一般為cart樹,可分類可回歸,判別模型 2 策略 bagging演算法對樣本重取樣,分別構造決策樹,並由各決策樹的分類結果進行投票或取平均 隨機森林 rf 與bagging的區別是除了樣本重取樣外還要特...
機器學習(十) 隨機森林與Bagging
確保了解決策樹,決策樹 子樹 從原資料集中有放回的選擇相同數量 和原資料集數量相同 樣本,並選擇部分屬性,以選擇的樣本和屬性進行cart決策樹構建 隨機森林就是並行的構建t個子樹的過程。構建完畢後,對於乙個 數,使用構建好的t個子樹進行 取最多的 結果作為隨機森林的 結果。完畢,以上就是隨機森林的梗...