Adaboost理解笔记

上回我们讲到boost以及GBDT,这次我们来讲Adaboost的原理

我们之所以要进行集成学习是因为单个模型的预测效果可能不好,要想达到强分类器的效果我们就需要结合多个弱分类器。

先看一个例子在讲原理。
Adaboost理解笔记

更具两个相邻的x的中值来选取阈值,如0.5,1.5,2.5。同时对每一个阈值要计算出准确率,也就是有多少正类,多少负类。初始化所有的权重都为0.1。 比如我们选取0.5为当前阈值。那么正类全对,负类错了5个(序号:2.3.7.8.9),误差率就是0.5.,然后我们挨个比较下面的1.5,2.5,3.5…最后得到阈值为2.5 的时候当前误差率最小–>是0.3.

然后求得如下公式,具体每个符号代表什么最后再讲 [1]
Adaboost理解笔记
然后下一步我们就需要更新模型D1变成---->D2包括里面的w1-10都要被更新。
第二批的数据分布(w)使用此公式. [2]
Adaboost理解笔记
通过计算我们可以发现序号,7,8,9三个点是预测错误的点,所以他们的权值被增大**[3]**:Adaboost理解笔记

然后我们使用新的D2来寻找新的阈值,开始新的一轮。三轮过后我们得到三个系数,相加得到我们最后的强分类器:
Adaboost理解笔记

下面讲一下具体原理:
首先了解一个定义:
Adaboost理解笔记

[1] 当前模型的系数

Adaboost理解笔记
e(m)为当前的误差率,如上面例子中的0.3

[2]第二批数据分布w(i)

Adaboost理解笔记
这里使用指数损失函数。
我们需要将原有数据分为,分类正确的(减少权重),分类错误的(增加权重)
对于分类正确的Zm=:
Adaboost理解笔记

分类错误的Zm=:

Adaboost理解笔记

这样就得到了我们的下一批次的分布 [3]
这样我们这题的3轮下来最后得到最终的强分类器:
Adaboost理解笔记

Renfernce

https://zhuanlan.zhihu.com/p/41536315