1. 程式人生 > >ML-提升方法和決策樹學習筆記

ML-提升方法和決策樹學習筆記

整合學習

整合學習通過構建並結合多個學習器來完成學習任務,有時也被稱為多分類器系統,基於委員會的學習。

同質整合:只包含同種型別的個體學習器。

異質整合:包含不同型別的個體學習器。

根據個體學習器的生成方式,目前的整合學習方法大致可分為兩大類,即個體學習器間存在強依賴關係,必須序列生成的序列化方法,以及個體學習器間不存在強依賴關係,可同時生成的並行化方法;前者的代表是Boosting,後者的代表是Bagging(Boostrap AGGregatING)和隨機森林。

為了保證儘量的獨立,bagging的做法是:給定一個訓練資料集,一種可能的做法是對訓練樣本進行取樣,產生若干個不同的子集,再從每個資料子集中訓練出一個基學習器。基於自助取樣法,給定包含m個樣本的資料集,我們隨機取出一個樣本放入取樣集中,再把該樣本放回資料集,使得下次取樣時該樣本仍有可能被選中。

Bagging通常對分類任務採用簡單投票法,對迴歸任務使用簡單平均法。

標準AdaBoost只適用於二分類任務,Bagging能不經修改地用於多分類,迴歸等任務。

隨機森林(Random Forest)以決策樹為基學習器構建Bagging整合的基礎上,進一步在決策樹的訓練過程中引入隨機屬性選擇。傳統決策樹在選擇劃分屬性是在當前結點的屬性集合中選擇一個最優屬性;在RF中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇一個包含k個屬性的子集,然後再從這個子集中選擇一個最優屬性用於劃分。帶來屬性擾動和樣本擾動。通常隨著個體學習器數目的增加,隨機森林通常會收斂到更低的泛化誤差。

 

 

提升方法

此為《統計學習方法》的讀書筆記,摘錄自己認為重要的概念。

提升方法就是從弱學習演算法出發,反覆學習,得到一系列弱分類器(又稱基本分類器),然後組合這些弱分類器,組合成一個強分類器。大多數的提升方法都是改變訓練資料的概率分佈,針對不同的訓練資料分佈呼叫弱學習演算法學習一系列弱分類器。

這樣,對於提升方法來說,有兩個問題需要回答:一是在每一輪如何改變訓練資料的權值或概率分佈;第二是如何將弱分類器組合成為一個強分類器。

 

AdaBoosting 的做法是對於第一個問題: 提高那些被前一輪弱分類器錯誤分類樣本的權值,而降低那些被正確分類樣本的權值。導致那些沒有得到正確分類的資料,由於其權值的加大而受到後一輪的弱分類器的更大關注。第二個問題:加大分類錯誤誤差率小的弱分類器的權值,使其在表決中起較大的作用,減小分類誤差率大的弱分類器的權值,使其在表決中起較小的作用。

決策樹 由特徵選擇,樹的生成以及剪枝組成。

ID3演算法的核心是在決策樹各個結點上應用資訊增益準則選擇特徵,遞迴地構建決策樹

C4.5演算法在生成的過程中,用資訊增益比來選擇特徵。

決策樹 過擬合的原因在於學習時過多地考慮如何提高對訓練資料的正確分類,從而構建出過於複雜的決策樹。解決這個問題的辦法是考慮決策樹的複雜度,對已生成的決策樹進行簡化,這個過程叫做剪枝。從已經生成的樹上裁掉一些子樹或葉結點,並將其根結點或者父結點作為新的葉結點,從而簡化分類樹模型。

決策樹的剪枝往往通過極小化決策樹整體的損失函式或代價函式來實現。

決策樹生成只考慮了通過提高資訊增益(或者資訊增益比)對訓練資料進行更好的擬合。而決策樹剪枝通過優化損失函式還考慮了減小模型複雜度。決策樹生成學習區域性的模型,而決策樹剪枝學習整體的模型。

損失函式的極小化等價於正則化的極大似然估計。因此,利用損失函式最小原則進行剪枝就是用正則化的極大似然估計進行模型選擇。

決策樹的剪枝演算法可以由一種動態規劃的演算法實現。

分類與迴歸樹(Classification And Regression Tree, CART)既可以用於分類也可以用於迴歸。

生成:對迴歸樹用平方誤差最小化準則,對於分類樹用基尼指數最小化準則。

一個迴歸樹對應著輸入空間(即特徵空間)的一個劃分以及在劃分上的單元上的輸出值。當輸入空間的劃分確定時,可以用平均誤差來表示迴歸樹對於訓練資料的預測誤差,用平方誤差最小的準則求解每個單元上的最優輸出值。

基尼指數 表示集合的不確定性,與熵類似。

剪枝演算法從完全生長的決策樹的底端剪去一些子樹,使決策樹變小(模型變簡單),從而能夠對未知資料有更準確的預測,CART剪枝演算法由兩步組成:首先從生成演算法產生的決策樹底端開始不斷剪枝,直到根結點,形成一個子樹序列;然後通過交叉驗證法在獨立的驗證資料集上對子樹序列進行測試,從中選擇最優子樹。