Adaboost Algorithm Step

Adaboost Algorithm Step

  1. 給定一個數據集:

    ​ $$ D=\{(x^{(1)}, y^{(1)}), (x^{(2)}, y^{(2)}) … (x^{(n)}, y^{(n)})\} $$學習

    併爲數據集初始化一個對應的權重分佈$W_{k,i}$,得:it

    ​ $$W_{k,i} = (w_{k,1}, w_{k,2} … w_{k,n})$$nw

    初始時設置$k=1$,且初始時權重向量中的每一項的值爲$w_{1i}=\frac{1}{n}, i=1,2…n$數據

  2. 對具備權重分佈的數據集$D$進行學習,獲得基本分類器,記爲 $G_k(x):X \to \{-1,1\}$

    而且標記這次基本分類器的預測結果爲$G_k(x^{(i)}), i\in (1,2…n)$,仍然初始時$k=1$規範化

  3. 計算基本分類器對應的偏差$e_k$ :

    ​ $$ e_k = \sum_{i=1}^nw_{k,i}I(G_k(x^{(i)})\neq y^{(i)}) $$boost

    而後根據偏差計算基本分類器的 $G_k(x)$ 的權重值 $\alpha_k$ :ab

    ​ $$\alpha_k = \frac{1}{2}log(\frac{1-e_k}{e_k})$$

  4. 根據第$k$輪的基本分類器$G_k(x)$的權重值更新第$k+1$輪的數據集權重$W_{k+1,i}$:

    ​ $$w_{k+1,i}=\frac{w_k,i}{Z_k}exp(-\alpha_k*y^{(i)}*G_k(x^{(i)})) $$

    其中$Z_k$爲規範化因子,爲的是將權重值映射到區間$(0,1)$

    ​ $$where: Z_k = \sum_{i=1}^nw_{k,i}*exp(-\alpha_k*y^{(i)}*G_k(x^{(i)}))$$

  5. 進行了$K$輪的更新後,獲得基本分類器的線性組合

    ​ $$f(x) = \sum_{k=1}^K\alpha_k*G_k(x)$$

    最終的分類器即爲$F(x) = sign(f(x)) = \sum_{k=1}^K\alpha_k*G_k(x)$

相關文章
相關標籤/搜索