AdaBoost的设计

Untitled

<aside> 1️⃣ 学习误差率e

在加权的样本分布上计算分类误差率。

$$ e_m(x)=\sum_{i=1}^Nw_{mi}I(G_m(x_i)\neq y_i)=\sum_{G_m(x_i)\neq y_i}w_{mi} $$

</aside>

<aside> 2️⃣ 弱学习器权重系数$\alpha$

根据分类误差率e调整弱分类器的系数:增大分类误差率小的弱分类器的权值,减小分类误差率较大的弱分类器的权值。

$$ \alpha_m=\frac{1}{2}\log\frac{1-e_m}{e_m} $$

</aside>

<aside> 3️⃣ 样本权重D

根据学习器的系数$\alpha$和前一轮是否被正确分类来调整这一轮的样本权重:提高那些被前一轮弱分类器错误分类的样本的权值,降低那些被正确分类的样本的权值。

$$ w_{m+1,i}=\frac{w_{mi}}{Z_m}\exp(-\alpha_m y_i G_m(x_i)),i=1,2,\cdots,N $$

</aside>

<aside> 4️⃣  结合策略

AdaBoost采取加权组合的方法,分类误差率小的弱分类器起的决定作用较大。

$$ f(x)=\sum_{m=1}^M \alpha_m G_m(x) $$

</aside>

AdaBoost二分类算法

输入:二分类的训练数据集$T=\{(x_1,y_1),(x_2,y_2),\ldots,(x_N,y_N)\}$,其中实例$x_i\in \mathcal{X}\subseteq\mathbf{R}^n$,标记$y_i\in\mathcal{Y}=\{-1,+1\}$;弱学习算法;

输出:最终分类器$G(x)$。

  1. 初始化训练数据的权值分布

    $$ D_1=\left(w_{11},\cdots,w_{1i},\cdots,w_{1N}\right),w_{1i}=\frac{1}{N},i=1,2,\cdots,N $$

    第一步训练数据集具有均匀的权值分布,保证第一步能够在原始数据上学习基本分类器$G_1(x)$。

  2. 对$m=1,2\cdots,M$

    1. 使用具有权值分布$D_m$的训练数据集学习,得到基本分类器

      $$ G_m(x):\mathcal{X}\rightarrow\{-1,+1\} $$

    2. 计算$G_m(x)$在加权训练数据上的分类误差率

      $$ e_m(x)=\sum_{i=1}^Nw_{mi}I(G_m(x_i)\neq y_i)=\sum_{G_m(x_i)\neq y_i}w_{mi} $$

    3. 计算$G_m(x)$的系数

      $$ \alpha_m=\frac{1}{2}\log\frac{1-e_m}{e_m} $$

      当$e_m\leq 0.5$时,$\alpha_m\geq 0$,且$\alpha_m$随着$e_m$的减小而增大,所以分类误差率越小的基本分类器在最终分类器中的作用越大。

    4. 更新训练数据集的权值分布

      $$ D_{m+1}=(w_{m+1,1},w_{m+1,2},\cdots,w_{m+1,N})\\w_{m+1,i}=\frac{w_{mi}}{Z_m}\exp(-\alpha_m y_i G_m(x_i)),i=1,2,\cdots,N\\Z_m=\sum_{i=1}^N w_{mi}\exp(-\alpha_m y_i G_m(x_i)) $$

      当错误分类即$y_i\neq G_m(x_i)$时,权值被扩大,反之,权值被缩小。因此误分类样本在下一轮学习中起更大的作用。

  3. 构建基本分类器的线性组合

    $$ G(x)=\sum_{m=1}^M \alpha_m G_m(x) $$

    得到最终分类器

    $$ \begin{aligned}f(x)&=sign(G(x))\\&=sign\left(\sum_{m=1}^M \alpha_m G_m(x)\right)\end{aligned} $$

    $\alpha_m$表示了基本分类器$G_m(x)$的重要性,这里$\alpha_m$之和并不为1。$G(x)$的符号决定实例x的类,$G(x)$的绝对值表示分类的确信度。

前向分步加法模型

加法模型

$$ f(x)=\sum_{m=1}^M\beta_m b(x;\gamma_m)

$$

其中$b(x;\gamma_m)$为基函数,$\gamma_m$为基函数的参数,$\beta_m$为基函数的系数。

给定训练数据及损失函数的条件下,学习加法模型即极小化损失函数

$$ \min_{\beta_m,\gamma_m} \sum_{i=1}^N L\left(y_i,\sum_{m=1}^M\beta_m b(x;\gamma_m)\right) $$