Adaboost在學(xué)習(xí)AdaBoosting和online Boosting, 最好有bagging和boosting基礎(chǔ),這樣看起來比較會(huì)比較順,。有空再補(bǔ)上,。 AdaBoost 算法的主要思想之一就是在訓(xùn)練集上維護(hù)一套權(quán)重分布,初始化時(shí) ,Adaboost 為訓(xùn)練集的每個(gè)訓(xùn)練例指定相同的權(quán)重 1/m。接著調(diào)用弱學(xué)習(xí)算法進(jìn)行迭代學(xué)習(xí),。每次迭代后更新訓(xùn)練集上不同樣本的權(quán)值,對訓(xùn)練失敗的樣本賦以較大的權(quán)重,也就是讓學(xué)習(xí)算法在后續(xù)的學(xué)習(xí)過程中集中對比較難的訓(xùn)練例進(jìn)行學(xué)習(xí)
首先給定一個(gè)弱學(xué)習(xí)算法和訓(xùn)練集 ( x1 , y1 ), ( x2 , y2 ),..., ( xN , y N ) ,xi ∈ X , 表示某個(gè)X實(shí)例空間; yi ∈ Y = {1, ?1} ,Y 表示一個(gè)帶類別標(biāo)志的集合,。在每一步的迭代中,弱學(xué)
誤差 ε m 的大小與訓(xùn)練弱學(xué)習(xí)算法所依賴的樣本分布 Dt 相關(guān),可以理解為對于權(quán)值較大
online Adaboost
和online算法對應(yīng)是offline算法(在線學(xué)習(xí)算法和離線學(xué)習(xí)算法),,以前我學(xué)的大多數(shù)都是offline算法,,例如,svm,,神經(jīng)網(wǎng)絡(luò)等算法 offline算法最明顯的特征是:首先訓(xùn)練模型,,模型訓(xùn)練完就預(yù)測,預(yù)測得到一個(gè)結(jié)果,沒有考慮到預(yù)測的樣本對模型的影響,。 而online算法:首先也要訓(xùn)練一個(gè)簡單的模型,,其主要在預(yù)測的過程中學(xué)習(xí),由于預(yù)測的樣本沒有保存在內(nèi)存中,,只有一次的學(xué)習(xí)機(jī)會(huì),。
下面來介紹一下這篇文章的主要思想,,這篇文章最好最好要有online boosting基礎(chǔ)。也和online boosting差不多,。先看算法的流程,。
首先介紹一下選擇選擇器(selectors)和分類器(classifier). 在算法的開始,每個(gè)選擇器里面都有m個(gè)弱分類器,,算法的目的就是每個(gè)選擇器在m個(gè)分類器中找出最優(yōu)的一個(gè)分類器,。然后再把n個(gè)選擇器組合起來。這種思想確實(shí)和adbooost一樣,。m個(gè)弱分類器可以自己建立,,也可以在每一維上建立分類器。 λ的作用是樣本在每個(gè)分類上的權(quán)重,。當(dāng)?shù)谝粋€(gè)選擇器分類正確是,,λ的值就回減少,否則就增加,,這也和adboost有點(diǎn)像,。 αn表示每個(gè)選擇器的權(quán)重,是按選擇器錯(cuò)誤率來定權(quán)的,,這也和adboost有點(diǎn)像,。所以online adoosting就是offline adboosting算法的山寨版。
這幾年的cvpr上的幾篇做tracking的文章以這個(gè)idea為基礎(chǔ),。tracking的方法是用最近比較流行的tracking-by-detection的方法。簡答的說就是在tracking的時(shí)候,,observation model這一塊是用一個(gè)在線訓(xùn)練的分類器,。tracking的過程如下圖所示(圖中還有一步是用跟蹤的結(jié)果作為訓(xùn)練器的新的輸入):
以上是我個(gè)人的理解,如有錯(cuò)誤,,請留言告訴我,,本人感激不盡。 作者:BIGBIGBOAT/Liqizhou |
|