AdaBoost 算法 入门
AdaBoost 是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器,即弱分類器,然后把這些弱分類器集合起來,構(gòu)造一個更強的最終分類器。算法的適應性在于前一個基本分類器分錯的樣本會得到加強,加權(quán)后的全體樣本再次用來訓練下一個基本分類器。同時,在每一輪中加入一個新的弱分類器,直至達到某個預定的足夠小的錯誤率或達到預先指定的最大迭代次數(shù)。
具體來說,整個 AdaBoost 迭代算法包含 3 個主要步驟:
(1)初始化訓練數(shù)據(jù)的權(quán)值分布。如果有 M 個樣本,則每一個訓練樣本最開始時都被賦予相同的權(quán)值:1/M。
(2)訓練弱分類器。在訓練過程中,如果某個樣本點已經(jīng)被準確地分類,那么在構(gòu)造下一個訓練集中它的權(quán)值就被降低;相反,如果某個樣本點沒有被準確地分類,那么它的權(quán)值就得到提高。在 t 輪訓練結(jié)束后,根據(jù)得到的弱分類器 h_t 的性能,計算該分類器對應的權(quán)值 α_t ,并由 h_t 在訓練集上的分類結(jié)果對權(quán)重向量 W_i→ W_(i+1) 進行更新。接著,權(quán)值更新過的樣本集用于訓練下一個分類器,整個訓練過程如此迭代地進行下去。
(3)將各個訓練得到的弱分類器組合成強分類器。各個弱分類器的訓練過程結(jié)束后,加大分類誤差率小的弱分類器的權(quán)重,使其在最終的分類函數(shù)中起較大的決定作用,降低分類誤差率大的弱分類器的權(quán)重,使其在最終的分類函數(shù)中起較小的決定作用。換言之,誤差率低的弱分類器在最終分類器中占的權(quán)重較大,否則較小。
AdaBoost 算法的特點:
AdaBoost 是一種具有很高精度的分類器,其算法具有如下特點:
(1) 可以使用各種方法構(gòu)建子分類器,AdaBoost 算法提供對其進行組合以及提升的框架。
(2) 當使用簡單分類器時,計算出的結(jié)果是可以理解的。
(3) 弱分類器構(gòu)造極其簡單,無須做特征篩選。
(4) AdaBoost 算法簡單,不用調(diào)整分類器,不會導致過擬合。
AdaBoost 算法的應用:
(1) 用于二值分類或多分類的應用場景。
(2) 用于特征選擇(Feature Selection)。
(3) 無須變動原有分類器,而是通過組合出新的分類器,提升分類器的性能。
(1)D1 表示樣本的初始權(quán)重分配,數(shù)據(jù)點包含兩類數(shù)據(jù),兩種顏色。在 AdaBoost算法運行過程中,我們使用水平或者垂直的直線作為分類器來進行分類。算法最開始給了一個均勻分布D。因此,h_1 里的每個點的權(quán)重是0.1。
(2)利用第一個分類器進行劃分,有三個數(shù)據(jù)點劃分錯了,根據(jù)誤差公式,計算得到帶權(quán)的誤差為:?_1 = (0.1+0.1+0.1)= 0.3。第一個分類器的權(quán)重a_1 為0.42。根據(jù)算法要求,把分錯的數(shù)據(jù)點的權(quán)值變大,得到新的權(quán)重分布。
至此,根據(jù)分類的正確率得到一個新的樣本權(quán)重分布 D_2 ,一個子分類器h_1。
(3)進行第2次迭代,根據(jù)分類的正確率,得到一個新的樣本權(quán)重分布 D3 以及一個子分類器 h2 。
(4)計算最后一個分類器的錯誤率和權(quán)重,得到最后一個分類器的權(quán)重為 h3。
(5)整合所有子分類器,即對其進行加權(quán)求和。從結(jié)果中看,即使簡單的分類器,組合起來也能獲得很好的分類效果。
總結(jié)
以上是生活随笔為你收集整理的AdaBoost 算法 入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络(十四)-CSMA/CD协议
- 下一篇: GDI+图像处理前言