Boosting算法與假設間隔
間隔概念
間隔是一種幾何度量,能夠用於度量分類器預測的可信程度。間隔的兩種定義:①樣本間隔: 被預測樣本與決策面間的距離。支持向量機( support vector machine,SVM) 算法採用了樣本間隔概念; ②假設間隔: 要求對分類器之間的距離進行度量,表示在不改變分類結果的前提下分類器可移動的距離,Boosting 算法採用了假設間隔的概念。研究結果表明: ①假設間隔很容易計算; ②假設間隔較大的類別集同樣具有較大的樣本間隔。圖 1 給出了樣本間隔和假設間隔的示意
間隔在機器學習中具有重要意義,如果訓練分類器的樣本具有較大的間隔,則利用該樣本訓練出的分類器具有較高的置信度,因此一些算法利用最大間隔準則構造評估函數進行特徵選擇。
AdaBoost算法
Boosting類算法能夠提升學習算法的分類準確率,是一種重要的機器學習算法。AdaBoost算法在訓練過程中能夠對得到的弱分類器錯誤進行適應性調整,建立互補型分類器組合,提升樣本分類預測的準確度。
AdaBoost 算法的主要思想是爲訓練樣本維護分佈權重,並根據該權重使弱分類算法關注上一輪中誤分類的樣本。弱學習算法 的目標是爲分佈找到一個適當的弱假設 。假設數據集中有 m 個樣本,初始時 AdaBoost 爲每個訓練樣本賦予相等的權重 1/m,樣本 i 在第 t 輪的分佈權重表示爲。弱假設的錯誤率以式(1)進行度量:
其中表示僅當樣本i錯誤分類時才取該樣本的分佈權重。在第輪假設被接受後,算法更新分佈的權重:
其中表示假設的投票權重(可信度)。隨着的減小將增大,表示弱分類器的可信程度隨其錯誤率的減小而增大。
如果樣本被分類正確,則和的符號一致,,否則,。隨着置信度的增大,被正確和錯誤分類的樣本權重將分別減小和增大。由於樣本被選中的概率由其權重決定,因此後續過程中的弱分類器將以更高的概率處理被錯誤分類的樣本。重複執行次,將產生個弱分類器,將這些弱分類器進行加權組合得到強分類器:
在提升弱分類算法過程中,以最小化間隔指數衰減函數的方式構造弱分類器。每一輪訓練中被弱分類器誤分類樣本的權重將會增加,因此 AdaBoost 算法將集中處理難以分類的樣本,這種學習過程能夠使訓練誤差上限逐步最小化。在高維數據空間構造弱分類器並不容易,弱分類算法的設計通常基於標量特徵,因此 AdaBoost 算法適用於特徵選擇與分類器的聯合設計。
AdaBoost 平均間隔
AdaBoost 具有優良的泛化性能,通常採用間隔分析法對其進行解釋。參考資料【2】引入了統計學習中的間隔理論分析其泛化誤差,認爲間隔可以作爲分類器預測能力的度量,如果分類器間隔較大則算法具備良好的泛化能力,間隔較小則泛化能力弱,Schapire 同時給出了 AdaBoost 的泛化誤差上界,認爲其泛化能力只依賴於間隔分佈,且 AdaBoost 所採用的貪心方法具有增大訓練樣本間隔的能力。與任意實例 i 相關的 AdaBoost 間隔定義:
其中,表示歸一化因子,。假設正確時與 符號相同,假設錯誤時兩者符號相異,因此可以看出間隔的取值範圍爲 ,並且僅當 時樣本能夠被正確分類。與普通間隔相比,平均間隔能夠從統計學角度考慮整體間隔分佈。
m個樣本的平均間隔$E_s[lH(x_i)]定義爲:
根據參考資料【3】的證明,可以歸納出 AdaBoost泛化能力的依賴條件: ①樣本大小; ②弱分類器複雜度; ③平均間隔; ④迭代次數。這些因素都會影響 AdaBoost 泛化錯誤率,其中平均間隔對泛化能力的影響可以描述爲:平均間隔越大則泛化能力越強。本文基於平均間隔大小與 AdaBoost 泛化性能成正比的結論,採用了平均間隔概念對特徵質量進行評估。
參考資料
- 基於最大平均間隔的特徵選擇方法研究
- How boosting the margin can also boost classifier complexity.
- The kth,median and average margin bounds for AdaBoost.