1、基本原理算法
AdaBoost是adaptive boosing的縮寫,它是一種基於Boosting框架的算法。下圖爲該算法的迭代過程。框架
AdaBoost從原始數據集D1開始學習第個模型,通過三輪的迭代,獲得三個弱分類器,每一輪的迭代都要評估下模型的分類偏差,在一輪時把分錯的樣本進行加權,最後把三個分類器按照必定的權重組合起來獲得一個強分類器。學習
從上圖能夠看出,每個弱分類器的模型都很簡單,示例圖中的它們只是一個一層的決策樹,每個弱分類器在融合的時候都有一個權重,三個弱分類器融合後,變成一個能力更強的複雜模型。spa
由上圖可知,AdaBoost是由多個弱分類器組成,每次由一個弱分類器訓練數據集,而後把這個訓練器分錯的數據集權重加大,沒分錯的減少權重,再由下一個弱學習器訓練這個數據集,這樣一直迭代下去,最後融合成一個最強的學習器。3d
AdaBoost算法構建過程,blog
一、假設訓練集T = {(X1,Y1),(X2,Y2)……(Xn,Yn)}原理
二、初始化訓練數據權重分佈,im
D1 = (Wl1,Wl2……Wln),Wli = 1/n,i=1,2……nd3
三、使用具備權值分佈的Dm的訓練集學習,獲得基本分類器數據
四、計算Gm(x)在訓練集上的分類偏差
五、計算Gm(x)模型的權重係數am
六、權重訓練集的權值分佈
七、這裏Zm是規範化因子(規一化)
八、構建分類器的線性組合
九、獲得最終分類器
AdaBoost算法推導
算法的直觀理解
AdaBoost小結
一、AdaBoost是一種Boosting的融合算法,它經過級聯的方式,把一系列的弱學習模型融合在一塊兒變成一個強分類器。
二、AdaBoost既能夠作分類,也能夠作迴歸
三、AdaBoost作分類模型的時候,默認的基學習類型是決策樹。
四、AdaBoost的多個子模型經過加權求和的方式融合,並非簡單的求平均,子模型的權重取決於子模型的偏差率大小,偏差率越小,權值越大