Real Adaboost總結


Real Adaboost分類器是對經典Adaboost分類器的擴展和提升,經典Adaboost分類器的每個弱分類器僅輸出{1,0}或{+1,-1},分類能力較弱,Real Adaboost的每個弱分類器輸出的是一個實數值(這也是為什么叫“Real”),可以認為是一個置信度。和LUT(look-up table)結合之后,表達復雜函數的能力比經典Adaboost更強。

接下來分三部分,第一部分解釋經典Adaboost,第二部分解釋Real Adaboost,第三部分舉例說明

 

一、經典Adaboost

經典Adaboost分類器的訓練過程如下:

雖然弱分類器的樣式沒有限制,可以是基於多維特征的決策樹,甚至是SVM,但通常每個弱分類器都是基於所有特征中的某一維構建,並且輸出的結果只有+1,-1兩種(對於二分類)。因此,在訓練時,每一輪迭代都挑選在當前訓練集分布下,分類效果最好的那一維特征對應的弱分類器。

在預測時,輸入一個樣本,經典Adaboost將所有弱分類器輸出的{-1,+1}值帶權相加,作為最后結果。為了得到不同的准確率和召回率,使用者可以設置不同的threshold。例如:如果輸出是0.334,那么如果設置threshold=0,分類結果為+1,如果threshold=0.5,分類結果為-1.

二、Real Adaboost

Real Adaboost分類器的訓練過程如下:

 

三、舉例說明

第二部分里面介紹的Real Adaboost訓練估計大部分人看起來還是挺費解的,舉個例子說明一下。在堪稱經典的《fast rotation invariant multi-view face detection based on real adaboost》一文中,就用到了real adaboost。首先,論文從滑動窗口中提取了很多haar特征,如果不知道haar特征是什么,可以參考我的博客Viola Jones Face Detector。然后對於每一個haar特征,將其歸一化到[0,1],再對其做64等分。也就是說把0-1等分成了64份。這就是二里面說的若干個互不相交的子空間。接下來的計算和二里面一致,在這64個子空間里面計算正負樣本的帶權和W(+1)、W(-1),再用這兩個值計算弱分類器輸出和歸一化因子Z。最終選擇Z最小的那一個haar特征上的弱分類器作為該輪迭代選取出的弱分類器。這個弱分類器,其實就是對於64個子空間有64個對應的實數輸出值。在預測時,如果把64個值保存到數組中,我們就可以使用查表的方式來計算任意輸入特征對應的分類器輸出了。假設輸入的haar特征是0.376(已經歸一化了),0.376/(1/64)=24.064,那么這個值落在了第24個子空間中,也就是數組中的第24個元素的值。即當前弱分類器的輸出值。最后我們再將所有弱分類器的輸出求和,並設置好閾值b,就可以得到最終的強分類器輸出結果了。就是這么簡單。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM