AdaBoost
AdaBoost(自適應提升,Adaptive Boosting,Freund 與 Schapire)是一種用許多弱分類器——每個都只比擲硬幣略好一點——建出一個強分類器的方法,做法是依序訓練它們,並強迫每個新分類器專注於前面那些的錯誤。直覺是一個讀書會:第一位同學考試錯了一些題;你接著把正是那些難題標記給下一位同學,讓他專攻;你持續加入同學,每位都補上前面同學的盲點;最終答案是加權投票,被證明較準確的同學說話較有分量。
精確地說,AdaBoost 為每個訓練樣本維持一個權重,一開始全部相等。每一輪它訓練一個弱學習器以最小化加權誤差,計算該學習器的整體準確度,並給它一個隨誤差縮小而增大的投票權重(alpha)。然後它對資料重新加權:新學習器答錯的樣本權重調高、答對的調低,使下一輪集中在仍然困難的案例上。強分類器就是所有弱學習器加權投票和的正負號。這背後有深厚的理論——AdaBoost 可證明使訓練誤差呈指數下降,並可理解為對指數損失的貪婪逐階最小化——而且即使訓練誤差已達零,它往往仍能藉由擴大間隔持續改善泛化。
在視覺領域,AdaBoost 的殺手級應用是偵測中的特徵選擇。在 Viola–Jones 人臉偵測器中,每個弱學習器是建立在單一 Haar 特徵上的決策樁(decision stump)——本質上是「這個矩形對比是否高於某個門檻?」候選 Haar 特徵有數萬個,而 AdaBoost 藉由每輪挑出最佳特徵,同時建出分類器並選出真正重要的數百個特徵,捨棄其餘。這些輪次接著被切成注意力級聯的各個階段。AdaBoost 對標籤雜訊與嚴重離群點敏感(它會不斷加重它怎麼也答不對的樣本,而這些可能是被標錯的),在許多表格資料情境中已被梯度提升(XGBoost、LightGBM)取代;但作為傳統即時偵測的引擎,以及提升法與集成方法的教科書入門,它是奠基性的。
常被忽略的微妙處:在 Viola–Jones 中,提升法身兼二職——它既建出準確的分類器,也選出特徵。在 24×24 視窗約 16 萬個候選 Haar 特徵中,AdaBoost 只保留承載訊號的那數百個,這正是讓評估便宜到足以即時的原因。