Boosting, Online Boosting,adaboost

bagging,boosting,adboost,random forests都屬於集成學習範疇.

 在boosting算法產生之前,還出現過兩種比較重要的算法,即boostrapping方法和bagging方法。首先介紹一下這二個算法思路:

  1. 從整體樣本集合中,抽樣n* < N個樣本 針對抽樣的集合訓練分類器Ci ,抽樣的方法有很多,例如放回抽樣,不放回抽樣等.
  2. 對於預測樣本, 衆多分類器進行投票,最終的結果是分類器投票的優勝結果.

以上就是bagging的主要思想.但是,上述這兩種方法,都只是將分類器進行簡單的組合,實際上,並沒有發揮出分類器組合的威力來。到1989年,Yoav Freund與 Robert Schapire提出了一種可行的將弱分類器組合爲強分類器的方法。即boosting算法. 還有1995年,Freund and schapire提出了現在的adaboost算法:http://www.cnblogs.com/liqizhou/archive/2012/04/23/2466578.html.

以下參考別人寫的boosting方法,加上自己的一點體會.

 

Boosting方法:

    Boosting這其實思想相當的簡單,大概是,對一份數據,建立M個模型(比如分類),一般這種模型比較簡單,稱爲弱分類器(weak learner)每次分類都將上一次分錯的數據權重提高一點再進行分類,這樣最終得到的分類器在測試數據與訓練數據上都可以得到比較好的成績。

    image

    上圖(圖片來自prml p660)就是一個Boosting的過程,綠色的線表示目前取得的模型(模型是由前m次得到的模型合併得到的),虛線表示當前這次模型。每次分類的時候,會更關注分錯的數據,上圖中,紅色和藍色的點就是數據,點越大表示權重越高,看看右下角的圖片,當m=150的時候,獲取的模型已經幾乎能夠將紅色和藍色的點區分開了。

    Boosting可以用下面的公式來表示:image

    訓練集中一共有n個點,我們可以爲裏面的每一個點賦上一個權重Wi(0 <= i < n),表示這個點的重要程度,通過依次訓練模型的過程,我們對點的權重進行修正,如果分類正確了,權重降低,如果分類錯了,則權重提高,初始的時候,權重都是一樣的。上圖中綠色的線就是表示依次訓練模型,可以想象得到,程序越往後執行,訓練出的模型就越會在意那些容易分錯(權重高)的點。當全部的程序執行完後,會得到M個模型,分別對應上圖的y1(x)…yM(x),通過加權的方式組合成一個最終的模型YM(x)。

    我覺得Boosting更像是一個人學習的過程,開始學一樣東西的時候,會去做一些習題,但是常常連一些簡單的題目都會弄錯,但是越到後面,簡單的題目已經難不倒他了,就會去做更復雜的題目,等到他做了很多的題目後,不管是難題還是簡單的題都可以解決掉了。

 

算法的流程:

  1. 給每個樣本都賦予一個權重,可以使隨機,也可以使相等的權重.
  2. 按照樣本權重從大到小的順序,選擇n個樣本訓練弱分類器Ci.
  3. 在樣本預測階段, 多個分類器進行投票決定樣本數據那種分類.

 

Online Boosting

 在線 Boosting 算法重點研究如何替換弱分類器來學習時變的樣本集,本文提出了一種新的在線 Boosting 算法,各弱學習器調節自身參數進而適應時變的環境。與以往直接替換學習器的方式不同,該方法隨着新的樣本集的到來調節弱分類器的參數,使分類正確率高的弱分類器有較高的權重,而分類正確率低的弱分類器的權重也會相應降低。

下面講一下Poisson重採樣
對每一訓練樣本,按照參數爲 λ 的 Poisson分佈得到一個隨機數,對樣本重複訓練該隨機數次。一個基學習器訓練完畢之後將該樣本繼續傳遞給下一個基學習器。當一個基學習器誤分類一個訓練樣本,該樣本在提交給下一個基學習器時,其對應的 Poisson 分佈參數 λ 增加;反之樣本對應的 Poisson分佈參數減少,並通過這些來更新每個基學習器的誤差 ε 。從這個角度,訓練樣本的權重更新方法和離線 AdaBoost 相同。

其流程如下:

 

其中:λm 的作用是控制整個基分類器的誤差,因爲在線進來的不知一個樣本。有很多樣本。

下面給出online boosting 和online adboosting的思路。

在目標圖像的目標物體附近選擇正樣本,離目標物體遠的區域作爲負樣本。

OAB1 = 在線boosting(搜索半徑r=1,每幀1個正樣本)
OAB5 = 在線boosting(搜索半徑r=5,每幀45個正樣本)

 


發佈了20 篇原創文章 · 獲贊 13 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章