上兩篇說了決策樹到集成學(xué)習(xí)的大概,這節(jié)我們通過adaboost來具體了解一下集成學(xué)習(xí)的簡單做法。

集成學(xué)習(xí)有bagging和boosting兩種不同的思路,bagging的代表是隨機森林,boosting比較基礎(chǔ)的adaboost,高級一點有GBDT,在這里我也說下我理解的這兩個做法的核心區(qū)別:

隨機森林的bagging是采用有放回抽樣得到n個訓(xùn)練集,每個訓(xùn)練集都會有重復(fù)的樣本,每個訓(xùn)練集數(shù)據(jù)都一樣,然后對每個訓(xùn)練集生成一個決策樹,這樣生成的每個決策樹都是利用了整個樣本集的一部分,也就說每棵決策樹只是學(xué)習(xí)了大部分,然后決策的時候綜合每棵決策樹的評分,最終得出一個總的評分

boosting的adaboost每次訓(xùn)練的時候用的是同一個數(shù)據(jù)集,但是前一棵決策樹分錯的樣本在后面的權(quán)重會升高,相當(dāng)于說,后面的決策樹利用了前面決策樹學(xué)習(xí)的結(jié)果,不斷的優(yōu)化這個結(jié)果,也就是說,后面的決策樹恰恰擅長的是前面決策樹不擅長(分錯)的樣本,相當(dāng)于說,boosting的每棵決策樹擅長的“領(lǐng)域”不一樣,并且在擅長的領(lǐng)域都很厲害

而對比bagging,bagging中的每一棵樹都是同樣普通的決策樹,相當(dāng)于每棵決策樹擅長的“領(lǐng)域”區(qū)分不大,也沒有很擅長。

下面我們看下adaboost是如何工作的吧,這次我們使用更簡單的例子。

這是二維平面的上的兩個點,紅色是正樣本,綠色是負(fù)樣本,如果使用強分類器,例如深度大于1的決策樹,很簡單就可以區(qū)分開了,或者使用邏輯回歸,計算一下,就可以輕松得到一條直線把這兩個類別的點區(qū)分開了,我們這里主要是先學(xué)習(xí)adaboost是如何把弱分類器組裝成強大的強分類器以及boosting的學(xué)習(xí)效果

類別和之前不一樣,這里的正負(fù)樣本的類似是1,-1,原因是預(yù)測結(jié)果的分界線不一樣,決策樹是沒有對類別做任何的操作,adaboost設(shè)計到多棵樹的權(quán)重相加,使用0作為正負(fù)樣本的分界線會更好