【机器学习】集成学习之boosting AdaBoost
Boosting
Boosting策略在上一篇中有提到過,這里再說一遍。
Boosting策略的核心思想就是對錯誤分類的樣本投入更大的關(guān)注。采用的是加法模型和向前分步算法,向前分步算法中的每一步都會改變樣本的權(quán)重。
模型是加法模型、損失函數(shù)為指數(shù)函數(shù)、學(xué)習(xí)算法為前向分步算法的二類分類學(xué)習(xí)方法
一、AdaBoost簡介
? ? ? Boosting, 也稱為增強學(xué)習(xí)或提升法,是一種重要的集成學(xué)習(xí)技術(shù), 能夠?qū)㈩A(yù)測精度僅比隨機猜度略高的弱學(xué)習(xí)器增強為預(yù)測精度高的強學(xué)習(xí)器,這在直接構(gòu)造強學(xué)習(xí)器非常困難的情況下,為學(xué)習(xí)算法的設(shè)計提供了一種有效的新思路和新方法。其中最為成功應(yīng)用的是,Yoav Freund和Robert Schapire在1995年提出的AdaBoost算法。
? ? ? AdaBoost是英文"Adaptive Boosting"(自適應(yīng)增強)的縮寫,它的自適應(yīng)在于:前一個基本分類器被錯誤分類的樣本的權(quán)值會增大,而正確分類的樣本的權(quán)值會減小,并再次用來訓(xùn)練下一個基本分類器。同時,在每一輪迭代中,加入一個新的弱分類器,直到達到某個預(yù)定的足夠小的錯誤率或達到預(yù)先指定的最大迭代次數(shù)才確定最終的強分類器。
弱分類器:
什么是弱分類器,只比隨機猜測好一點點的分類器叫弱分類器。就比如一個強分類器來判斷這是一只貓還是一只狗,它可能會給出,這張圖片有0.99的概率為狗。那么弱分類器就只能夠說這張圖片有0.55的概率是狗。只比隨機猜測要好一點點。
弱分類器的優(yōu)勢是什么?弱分類器的特性就是high-bias & low variance(高偏差-低方差),其與生俱來的優(yōu)點就是泛化性能好。因此,將多個算法組合起來之后,可以達到降偏差的效果,進而得到一個偏差小、方差小的泛化能力好的模型。
所以說Boosting與bagging很大不同的一點就是,boosting是通過集成模型來降低偏差,而bagging是通過集成模型來降低方差。
常用的弱分類器像決策樹樁,ID3,C4.5,CART因為決策樹很容易過擬合,所以說用這些樹模型的時候一定要預(yù)剪枝限制深度等或者后剪枝,總之要低方差,偏差高無所謂。
Adaboost算法流程:
另一種符號表示的
的推導(dǎo) 訓(xùn)練誤差界
最終得到的分類器是,如果,有,則,如果,有,則,那么有下式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
簡單說就是不想等的時候左邊為1,右邊>=1。想等的時候左邊為0,右邊>=0.
再根據(jù)權(quán)值的更新公式,變下型
有
接下來就可以開始正式的推導(dǎo)了。
(1)式右端項有
公式編輯器好蛋疼。直接上圖吧,符號有一點不一樣。
因此可以得出,Adaboost的誤差界為
它的就是我這里的
權(quán)值更新也可以重新推導(dǎo),不再需要去復(fù)雜的計算。縮放就可以得到下一步迭代的新的權(quán)重。
戲稱為Thank God Hole
AdaBoost應(yīng)到到多分類場景
M1,M2:https://blog.csdn.net/tyh70537/article/details/76675098
掌握上面這些推導(dǎo)理論基本上算是穩(wěn)了。接下來講一下adaboost的優(yōu)缺點和應(yīng)用場景。
Adaboost的回歸算法
Adaboost R2:
其實大體的思路與分類算法一樣,就是一些系數(shù)的計算更新公式變了,多分類也是這樣的。
二分類的一個實例
https://blog.csdn.net/hffhjh111/article/details/72348378
優(yōu)缺點和應(yīng)用場景
優(yōu)點
缺點
?
?
參考:http://www.csuldw.com/2016/08/28/2016-08-28-adaboost-algorithm-theory/
?
總結(jié)
以上是生活随笔為你收集整理的【机器学习】集成学习之boosting AdaBoost的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】集成学习ensemble之随
- 下一篇: 【机器学习】集成学习之梯度提升树GBDT