读了几篇boosting文献的收获
距離上一篇blog都3個多月了。最近也是有的懶,看到別人的blog層次都很高,總是介紹些opencv的粗淺的東西,總是感覺自慚形愧。所以一直野就沒寫啥。白駒過隙,3個月,我都轉博了,opencv都2.4.3了,可是感覺自己還是弱爆了,懂得太少,翻來看看以前學習過的知識,也多半一知半解。這次就又翻了翻boosting的東西學習了一下(研一上課就這東西聽懂了。。。。)。自己看完了,也不知道自己的理解都對不對,歡迎各路高手拍磚指正,不吝賜教。
boosting這東西的思路也很清楚,就是多個弱分類器去學習,和一個強分類器是等價的。而且弱分類學習的算法實現起來要比強分類算法要容易的多。
提到boosting,不得不提最有代表性的adaboost,《A decision-theoretic generalization of on-line learning and an application to boosting》,adaboost就是提高前一輪被分類分錯的樣本的權重,降低前一輪正確分類樣本的權重,最后再用加法模型得到一個總的分類器。關于每個弱分類器的系數以及更新樣本權重分布的公式相關文獻都有很好的證明,我就不多寫了。算法流程如下,我讀了幾篇相關文獻,有幾個疑惑或收獲吧:
1.關于每次迭代,訓練樣本的權值分布的更新,各文獻的更新公式有所差別,但思想都是一樣:分錯時,w權重增大,分對時,w權重降低。
2.關于弱分類器的個數,也就是圖中的T的確定,是否是個經驗值?
然后又讀了讀online-adaboost,參考的是這篇《online bagging and boosting》,算法流程圖如下:
這篇的思想就是對于新來的label的樣本,如果更新弱分類器,有點類似online-bagging的做法。仔細看了看這個流程圖,雖然沒有證明,但我還是有個疑惑,隨著訓練樣本的online增加,我感覺樣本輸入的順序,對弱分類器的貢獻是遞減的,可能是我理解有誤,希望高人指點一下~~
還有一篇onlineAdaboosting就是走的不同的路線《online boosting and vision》,文章也是結合他的應用來改進的adaboost算法,把boosting來做feature的select,而非用在weak classifier上。他這么做的好處,就是可以避免計算樣本的權重分布,因為online的過程樣本很多是未知的。也就是在每個feature pool中選擇最具區分度的feature來做當前的分類器。算法流程如下:
為了提高feature pool的多樣性,每次還把分類效果最差的分類器更新掉。而且在實際的編程中,還把feature pool的大小由M*N簡化到M,這樣大大降低了計算量。
最后,又看了看simi-boosting,也是上一篇作者的,結合tracking做的paper《semi-supervised online boosting for robust tracking》,如果細看可以這篇《semiboost:boosting for semi-supervised learning》。思想就是根據unlabeled的data和labeled data的相似度給予一個偽label,然后再做online boosting for feature selection。流程圖如下:
寫完發現又寫的很水,很粗淺。其實也就是我讀完了一個簡單的筆記。具體的體會還得去看原文來的實在。也不知道我讀的這些算不算是經典。如果大家有啥boosting的好文獻,也希望多分享。之所以選擇tracking作為應用,是因為這幾篇有代碼可以參考,如果有時間,可以結合code再說說我的心得體會。歡迎大家多提意見多交流,我才疏識淺,難免有錯~~
from:?http://blog.csdn.net/yang_xian521/article/details/8213128
總結
以上是生活随笔為你收集整理的读了几篇boosting文献的收获的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 改进合作 Git 工作流:自动提取、合并
- 下一篇: ASM(active shape mod