統計學習方法筆記 -- Boosting方法

AdaBoost算法算法

基本思想是,對於一個複雜的問題,單獨用一個分類算法判斷比較困難,那麼咱們就用一組分類器來進行綜合判斷,獲得結果,「三個臭皮匠頂一個諸葛亮」函數

專業的說法,學習

強可學習(strongly learnable),存在一個多項式算法能夠學習,而且準確率很高
弱可學習(weakly learnable),存在一個多項式算法能夠學習,但準確率略高於隨機猜想blog

而且能夠證實強可學習和弱可學習是等價的get

那麼發現一個弱可學習算法是很容易的,若是將弱可學習算法boosting到強可學習算法?it

AdaBoost就是這樣的算法,經過反覆學習,獲得一組弱分類器,經過組合這些弱分類器獲得強分類器方法

問題就是若是獲得一組弱分類器?im

固然你能夠用不一樣的分類算法來訓練
也能夠用不一樣的訓練集,好比bagging,對訓練集進行m次隨機抽樣,獲得m個新的訓練集d3

AdaBoost採用的方法是,用相同的算法和訓練集,但改變每一個訓練樣本的weight,由於在求解分類器時的目標函數是,加權偏差最小,因此不一樣的權值會獲得不一樣的分類器參數
具體的規則,是每輪分類後, 增大分錯的樣本的權值,減少分對樣本的權值,全部樣本權值和爲1
這樣下一輪分類器求解,就會更關注上一輪分錯的這樣樣本點,達到分而治之的目的規範化

須要注意,能夠想到,這個算法對離羣值比較敏感,容易overfitting

而且每一個弱分類器也有個weight,表明該分類器的偏差率,最終用加權多數表決的方式來獲得最終結果

具體算法,

對於image 訓練集

1. 初始化訓練樣本的權值,平均分佈,每一個樣本的機率相同

image

2. 反覆迭代學習獲得m個弱分類器,對於第m個弱分類器,

2.1 對於訓練集,以加權偏差最小爲目標,求出分類器,Gm

image

2.2 算出,該弱分類器的加權偏差

image

2.3 算出該弱分類器的權值,log函數,可見偏差越小,權值越高,即在最終強分類器中的做用越大

image

2.4 關鍵的一步,更新訓練樣本的權值

image

image

其中,第一個式子實際上是,

image

指數分佈,小於0,取值在(0,1),大於0,取值大於1
因此意思就是,當Gm(x)=y的時候,即判斷正確的樣本,減少權值
判斷錯誤的樣本,增長權值
之因此要除以Zm,是由於全部權值的和要爲1,用Zm來進行規範化

3. 上面咱們就獲得m個弱分類器,如何組合出強分類器,

image

image

很簡單的,加權多數表決 其中sign函數,取值-1(x<0),0,1(x>0)

相關文章
相關標籤/搜索