boosting是一種集成技術(shù),試圖從多個弱分類器中創(chuàng)建強分類器废菱。通過從訓(xùn)練數(shù)據(jù)構(gòu)建一個模型咖刃,然后創(chuàng)建第二個模型試圖糾正第一個模型中的錯誤。不斷添加模型拗军,直到訓(xùn)練集被完美地預(yù)測或者添加到最大數(shù)量。
AdaBoost是第一個為二分類開發(fā)的真正成功的提升算法》⑶郑現(xiàn)代boosting方法建立在AdaBoost上交掏,最著名的是隨機梯度提升機(stochastic gradient boosting machines)刃鳄。
AdaBoost用于短決策樹盅弛。創(chuàng)建第一棵樹之后叔锐,使用樹在每個訓(xùn)練實例上的性能來得到一個權(quán)重挪鹏,決定下一棵樹對每個訓(xùn)練實例的注意力。
難以預(yù)測的訓(xùn)練數(shù)據(jù)被賦予更多權(quán)重愉烙,而易于預(yù)測的實例被賦予更少的權(quán)重讨盒。模型是一個接一個地順序創(chuàng)建的,每個模型更新訓(xùn)練實例上的權(quán)重返顺,這些權(quán)重影響序列中下一個樹所執(zhí)行的學(xué)習(xí)禀苦。構(gòu)建完所有樹之后创南,將對新數(shù)據(jù)進行預(yù)測伦忠。
因為著重于修正算法的錯誤,所以重要的是提前清洗好數(shù)據(jù)稿辙,去掉異常值昆码。
Adaboost是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器)邻储,然后把這些弱分類器集合起來赋咽,構(gòu)成一個更強的最終分類器(強分類器)吨娜。
算法簡介
Adaboost是一種迭代算法脓匿,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器)宦赠,然后把這些弱分類器集合起來陪毡,構(gòu)成一個更強的最終分類器(強分類器)勾扭。其算法本身是通過改變數(shù)據(jù)分布來實現(xiàn)的毡琉,它根據(jù)每次訓(xùn)練集之中每個樣本的分類是否正確妙色,以及上次的總體分類的準(zhǔn)確率桅滋,來確定每個樣本的權(quán)值身辨。將修改過權(quán)值的新數(shù)據(jù)集送給下層分類器進行訓(xùn)練丐谋,最后將每次訓(xùn)練得到的分類器最后融合起來,作為最后的決策分類器号俐。使用adaboost分類器可以排除一些不必要的訓(xùn)練數(shù)據(jù)特征,并放在關(guān)鍵的訓(xùn)練數(shù)據(jù)上面定庵。
算法應(yīng)用
對adaBoost算法的研究以及應(yīng)用大多集中于分類問題,同時也出現(xiàn)了一些在回歸問題上的應(yīng)用洗贰。就其應(yīng)用adaBoost系列主要解決了: 兩類問題陨倡、多類單標(biāo)簽問題敛滋、多類多標(biāo)簽問題兴革、大類單標(biāo)簽問題绎晃、回歸問題。它用全部的訓(xùn)練樣本進行學(xué)習(xí)庶艾。
應(yīng)用示例
adaboost 是 bosting 的方法之一袁余,bosting就是把若干個分類效果并不好的分類器綜合起來考慮咱揍,會得到一個效果比較好的分類器颖榜。
下圖煤裙,左右兩個決策樹掩完,單個看是效果不怎么好的硼砰,但是把同樣的數(shù)據(jù)投入進去且蓬,把兩個結(jié)果加起來考慮题翰,就會增加可信度恶阴。
adaboost 的栗子豹障,手寫識別中冯事,在畫板上可以抓取到很多 features沼填,例如 始點的方向桅咆,始點和終點的距離等等坞笙。
training 的時候岩饼,會得到每個 feature 的 weight薛夜,例如 2 和 3 的開頭部分很像籍茧,這個 feature 對分類起到的作用很小梯澜,它的權(quán)重也就會較小寞冯。
而這個 alpha 角 就具有很強的識別性晚伙,這個 feature 的權(quán)重就會較大吮龄,最后的預(yù)測結(jié)果是綜合考慮這些 feature 的結(jié)果咆疗。