Boosting算法與假設間隔

間隔概念

間隔是一種幾何度量,能夠用於度量分類器預測的可信程度。間隔的兩種定義:①樣本間隔: 被預測樣本與決策面間的距離。支持向量機( support vector machine,SVM) 算法採用了樣本間隔概念; ②假設間隔: 要求對分類器之間的距離進行度量,表示在不改變分類結果的前提下分類器可移動的距離,Boosting 算法採用了假設間隔的概念。研究結果表明: ①假設間隔很容易計算; ②假設間隔較大的類別集同樣具有較大的樣本間隔。圖 1 給出了樣本間隔和假設間隔的示意
在這裏插入圖片描述
間隔在機器學習中具有重要意義,如果訓練分類器的樣本具有較大的間隔,則利用該樣本訓練出的分類器具有較高的置信度,因此一些算法利用最大間隔準則構造評估函數進行特徵選擇。

AdaBoost算法

Boosting類算法能夠提升學習算法的分類準確率,是一種重要的機器學習算法。AdaBoost算法在訓練過程中能夠對得到的弱分類器錯誤進行適應性調整,建立互補型分類器組合,提升樣本分類預測的準確度。
AdaBoost 算法的主要思想是爲訓練樣本維護分佈權重,並根據該權重使弱分類算法關注上一輪中誤分類的樣本。弱學習算法hHh \in H 的目標是爲分佈DtD_t找到一個適當的弱假設ht:χ{11}h_t: χ→\{ -1,1\} 。假設數據集中有 m 個樣本,初始時 AdaBoost 爲每個訓練樣本賦予相等的權重 1/m,樣本 i 在第 t 輪的分佈權重表示爲Dt(i)D_t( i)。弱假設的錯誤率以式(1)進行度量:
ϵt=i:ht(xi)liDt(i)\epsilon_t=\sum_{i:h_t(x_i) \neq l_i}D_t(i)
其中i:ht(xi)lii:h_t(x_i) \neq l_i表示僅當樣本i錯誤分類時才取該樣本的分佈權重。在第tt輪假設被接受後,算法更新分佈DtD_t的權重:
Dt+1(i)=Dt(i)exp(αtliht(xi))ztD_{t+1}(i)=\frac{D_t(i)exp(-\alpha_t l_i h_t(x_i))}{z_t}
αt=12In1ϵtϵt\alpha_t=\frac{1}{2}In\frac{1-\epsilon_t}{\epsilon_t}
zt=i=1mDt(i)exp(αtliht(xi))=2ϵt(1ϵt)z_t=\sum^m_{i=1}D_t(i)exp(-\alpha_tl_ih_t(x_i))=2\sqrt{\epsilon_t(1-\epsilon_t)}
其中αt\alpha_t表示假設hth_t的投票權重(可信度)。隨着ϵ\epsilon的減小α\alpha將增大,表示弱分類器的可信程度隨其錯誤率的減小而增大。
如果樣本被分類正確,則lil_iht(xi)h_t(x_i)的符號一致,Dt+1(i)=Dt(i)exp(αt)ztD_{t+1}(i)=\frac{D_t(i)exp(-\alpha_t)}{z_t},否則,Dt+1(i)=Dt(i)exp(αt)ztD_{t+1}(i)=\frac{D_t(i)exp(\alpha_t)}{z_t}。隨着置信度α\alpha的增大,被正確和錯誤分類的樣本權重DtD_t將分別減小和增大。由於樣本被選中的概率由其權重決定,因此後續過程中的弱分類器將以更高的概率處理被錯誤分類的樣本。重複執行TT次,將產生TT個弱分類器,將這些弱分類器進行加權組合得到強分類器:
H(xi)=t=1Tαtht(xi)H(x_i)=\sum^T_{t=1}\alpha_th_t(x_i)
在提升弱分類算法過程中,以最小化間隔指數衰減函數的方式構造弱分類器。每一輪訓練中被弱分類器誤分類樣本的權重將會增加,因此 AdaBoost 算法將集中處理難以分類的樣本,這種學習過程能夠使訓練誤差上限逐步最小化。在高維數據空間構造弱分類器並不容易,弱分類算法的設計通常基於標量特徵,因此 AdaBoost 算法適用於特徵選擇與分類器的聯合設計。

AdaBoost 平均間隔

AdaBoost 具有優良的泛化性能,通常採用間隔分析法對其進行解釋。參考資料【2】引入了統計學習中的間隔理論分析其泛化誤差,認爲間隔可以作爲分類器預測能力的度量,如果分類器間隔較大則算法具備良好的泛化能力,間隔較小則泛化能力弱,Schapire 同時給出了 AdaBoost 的泛化誤差上界,認爲其泛化能力只依賴於間隔分佈,且 AdaBoost 所採用的貪心方法具有增大訓練樣本間隔的能力。與任意實例 i 相關的 AdaBoost 間隔定義:
ρ(xi)=liH(xi)w=lit=1Tαtht(xi)w\rho (x_i)=\frac{l_i H(x_i)}{w}=\frac{l_i\sum_{t=1}^T\alpha_th_t(x_i)}{w}
其中,ww表示歸一化因子,w=t=1Tαtw=\sum^T_{t=1}\alpha_t。假設正確時lil_iht(xi)h_t( x_i) 符號相同,假設錯誤時兩者符號相異,因此可以看出間隔ρ(xi)\rho( x_i)的取值範圍爲 [1,1][-1,1],並且僅當 ρ(xi)>0\rho( x_i)>0 時樣本能夠被正確分類。與普通間隔相比,平均間隔能夠從統計學角度考慮整體間隔分佈。
m個樣本的平均間隔$E_s[lH(x_i)]定義爲:
ρˉ=1mi=1mρ(xi)=i=1mliH(xi)mw=i=1mlit=1Tαtht(xi)mt=1Tαt=i=1mt=1Tliαtht(xi)mt=1Tαt\bar{\rho}=\frac{1}{m}\sum^m_{i=1}\rho (x_i)=\frac{\sum^m_{i=1}l_i H(x_i)}{mw}=\frac{\sum^m_{i=1}l_i\sum_{t=1}^T\alpha_th_t(x_i)}{m\sum^T_{t=1}|\alpha_t|}=\frac{\sum^m_{i=1}\sum_{t=1}^Tl_i\alpha_th_t(x_i)}{m\sum^T_{t=1}|\alpha_t|}
根據參考資料【3】的證明,可以歸納出 AdaBoost泛化能力的依賴條件: ①樣本大小; ②弱分類器複雜度; ③平均間隔; ④迭代次數。這些因素都會影響 AdaBoost 泛化錯誤率,其中平均間隔對泛化能力的影響可以描述爲:平均間隔越大則泛化能力越強。本文基於平均間隔大小與 AdaBoost 泛化性能成正比的結論,採用了平均間隔概念對特徵質量進行評估。

參考資料

  1. 基於最大平均間隔的特徵選擇方法研究
  2. How boosting the margin can also boost classifier complexity.
  3. The kth,median and average margin bounds for AdaBoost.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章