知識篇——當AdaBoost遇見Cascade(淺談級聯(lián)分類)

AdaBoost,一個比Deep Learning還要久遠的名詞。
  想當年盤古初開天地...額不是,當年晴空一道霹靂,PVC里蹦出來一個強弱分類器等價問題。揭開了弱分類器向強分類器起義進軍的光輝歷史。
Cascade,一個一開始盯了半天也沒弄明白的單詞。
  網(wǎng)絡(luò)里有他,數(shù)據(jù)庫里有他,電路里也有他,現(xiàn)在機器學習里也看見了他。每個都不一樣,但好像又有些聯(lián)系……
  當AdaBoost遇見Cascade,又會碰撞出什么樣奇怪的小火花。

1 - 以Haar為始

找到一種方法,劃分一個東西。你會怎么做?

Haar各種特征示例

  看著上面這一大堆黑白塊,我想應該不難理解矩形特征這個詞——黑白兩部分嘛。規(guī)則不是特征,但按某個規(guī)則可以找到特征的話,當我們有了很多很多很多規(guī)則之后……
  沒錯,這就是Haar特征的思想,每一個小黑白塊就是一種規(guī)則,也是一種特征,也是一個分類器。不過單獨一個這樣的分類器當真不敢恭維,試想有啥分類能只靠一劈兩半看左右這種粗暴直接的方式區(qū)分的...
  所以,他們都是弱分類器,他們能做得不多,就像戰(zhàn)場上的士兵不計其數(shù),組合在一起卻會有意想不到的變化。(一篇講解openCV中Haar特征運用的博客

2 - 以Boost取意

所謂Boost,促進增援之意。把一堆準確率跟隨機數(shù)差不多的弱分類器集合在一起變成一個強大的強分類器,這就是Boosting算法。給每一個特征證明自己的機會,改變他們的地位,也改變樣本的地位。讓士兵和小怪一起進步,最終找到隱藏在人海中的英雄與Boss。這之中廣為人知的一種Boost算法就是我們的AdaBoost

3 - 以AdaBoost成形

AdaBoost的原理或者實現(xiàn)并不難理解(傳送門:基于AdaBoost的分類問題 & AdaBoost算法小例),只是他寧可放過不可錯殺還是寧可錯殺不可放過的閾值選擇問題讓人們備受困擾。想要提高正確率就要降低閾值,錯誤率也會變高,想要降低錯誤率就要提高閾值,正確率也會降低。這是一個無比頭疼卻又無可奈何的問題。

既然如此,就讓Cascade出場吧。這種問題,決策樹最喜歡了。

4 - 以Cascade扭轉(zhuǎn)乾坤

Cascade即為級聯(lián),在網(wǎng)絡(luò)WAN口級聯(lián)、數(shù)據(jù)庫信息間級聯(lián)以及電路連接中的級聯(lián)等等當中,級聯(lián)都有一種隱性的意義——一種一對多的關(guān)系。
  一是一種輸入,一類劃分,一個觸發(fā),一次動作。
  多是多方參與,多種途徑,多個標準,多個答案。
  AdaBoost解決了士兵的眾說紛紜,成為了一方名將。而級聯(lián)的出現(xiàn),就是要集百家名說成一方之言——一次決斷,多方銘鑒。如果我能找到99.9%的目標分類,那錯誤的分類中哪怕有50%誤入結(jié)果,20輪之后也將不足為懼:20級的級聯(lián)足夠在99.9%變成99%的過程中,把50%變成0.0001%。
  這就是級聯(lián),或者說表現(xiàn)成的決策樹。讓每一個AdaBoost出身的強分類器依次進行決策,被認為是正確的就將向下傳遞,錯誤的則被直接拋棄。再配合權(quán)重改變樣本的分布,訓練,上場,一錘定音。


我們的822,我們的青春
歡迎所有熱愛知識熱愛生活的朋友和822實驗室一起成長,吃喝玩樂,享受知識。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容