美文网首页
ESL 10.1 Boosting Methods

ESL 10.1 Boosting Methods

作者: 找不到工作 | 来源:发表于2021-09-13 00:43 被阅读0次

Boosting 最初是为解决分类问题设计的,后来又被扩展到了回归问题。Boosting 的原理是将很多弱分类器组合起来产生一个强分类器。

一个弱分类器是某种比随机猜测结果略好的简单分类器。Boosting 每次将输入特征赋予不同的权重,并应用弱分类器进行分类,最后将所有结果通过投票的形式产生最终结果。

AdaBoost

我们从最基本的 AdaBoost 开始介绍。
假设某个分类问题结果为 -1 或者 +1。一共有 N 个样本,并且我们已有 M 个弱分类器。AdaBoost算法表述为:

  1. 初始化权重 w_i = 1/N, i = 1,2,...,N
  2. For m = 1 to M:
    a. 对每个样本 x_i 附加权重 w_i 并送入分类器 G_m(x)
    b. 计算错误率:
    \text{err}_m = \sum_{i=1}^N w_i I(y_i \neq G_m(x_i))
    c. 根据错误率计算该分类器权重(错误率越低权重越高)
    \alpha_m = \ln((1- \text{err}_m)/\text{err}_m)
    d. 更新分类错误的样本权重,并归一化处理(判断错误的样本权重提高,交由下一个分类器分类)
    w_i = \text{normalize} [ w_i e^{\alpha_m I(y_i \neq G_m(x_i))} ]
  3. 最终生成的强分类器为:
    G(x) = \sign [ \sum_{m=1}^M \alpha_m G_m(x)]

其中,I(x) 是条件判断。false = 0, true = 1。

2.d 比较难理解。调整样本权重的意义在于,如果某个分类器已经正确分类 i 样本,后续的分类器的责任在于“补全” A 分类器的功能,即,不要重复正确的结论,应该把重点放在 A 分类错误的样本上。

如果后续某个分类器与 A 分类器的结论重复,那由 2.c 得到的分类器权重会很低。在最终的强分类器中,几乎不产生影响。反之,如果与 A 互补,那可能会得到一个很高的权重。

AdaBoost 简单例子

假设有如下训练数据。


待分类样本数据

我们有如下分类器(都比随机猜测略好):

G_1(x) = \begin{cases} +1 & x_1 \leq 2 \\ -1 & x_1 > 2 \end{cases}

G_2(x) = \begin{cases} -1 & x_2 \leq 1 \\ +1 & x_2 > 1 \\ \end{cases}

G_3(x) = \begin{cases} +1 & x_1 \leq 1 \\ -1 & x_1 > 1 \end{cases}

首先,我们将样本权重设置为 w_i = 0.2,应用 G_1 分类器,发现位于 (1.5, 0.5) 的点(假设为 5 号点)分类错误:

\text{err}_1 = 0.2

计算 G_1 分类器权重:

\alpha_1 = \ln ((1-0.2) / 0.2) = \ln 4

调整分类错误的样本权重并归一化:

w_i = \text{normalize} [ 0.2, 0.2, 0.2, 0.2, 0.8] = [\frac{1}{8}, \frac{1}{8}, \frac{1}{8}, \frac{1}{8}, \frac{4}{8}]

此后再将新的权重用于 G_2 的分类:

\text{err}_2 = \frac{1 }{8} *1 + \frac{1}{8} *1 = \frac{1}{4}

\alpha_2 = \ln ((1-0.25) / 0.25) = \ln 3

w_i = \text{normalize} [ 0.6, 0.2, 0.2, 0.6, 0.8] = [\frac{3}{12}, \frac{1}{12}, \frac{1}{12}, \frac{3}{12}, \frac{4}{12}]

再用 G_3 分类:

\text{err}_3 = \frac{1 }{12}

\alpha_3 = \ln 11

最终得出:

G(x) = \sign [\ln4 G_1(x) + \ln3 G_2(x) + \ln11 G_3(x)]

各区域实际值

得到的边界为:


边界

参考资料

  1. Lectures on Machine Learning

相关文章

  • ESL 10.1 Boosting Methods

    Boosting 最初是为解决分类问题设计的,后来又被扩展到了回归问题。Boosting 的原理是将很多弱分类器组...

  • Lecture 1 | Introduction to Conv

    1999 - 2000 statistical ML methods: svm, boosting, and a ...

  • ESL 10.9 Boosting Trees

    实际问题中的数据往往不像例子中那么简单。通常,输入可能是不同类型的组合(数字、类别、bool 等),还存在丢失部分...

  • BaggingClassifier

    写在前面 Ensemble methods 组合模型的方式大致为四个:/bagging / boosting / ...

  • ESL 3: Linear Methods for Regres

    一个线性回归模型假设回归函数 E(Y|X) 对于输入 X 是线性的。它的优势在于: 简单 能够表示每个输入对输出的...

  • ESL 4: Linear Methods for Classi

    4.2 Linear Regression of an Indicator Matrix 对于分类问题,我们可以把...

  • ESL 9.2 Tree-Based Methods

    树方法将特征空间分割为不同区域,然后用一个简单的模型(比如常数)来拟合每个区域。 考虑一个简单的回归问题。特征是二...

  • 李航-第8章提升方法

    Adaboost:adaptive Boosting。 Boosting 是 Ensemble Learning ...

  • Adaboost

    1.Boosting提升算法 Adaboost是典型的Boosting提升算法。Boosting算法是将弱...

  • 集成学习(4)boosting代表——gradient boos

    1 从boosting到gradient boosting (1)原理 从上一篇集成学习(3)boosting代表...

网友评论

      本文标题:ESL 10.1 Boosting Methods

      本文链接:https://www.haomeiwen.com/subject/stdxgltx.html