相同点:
都是将已有的分类器或回归算法通过一定的方式组合起来,形成一个功能更强大的分类器。说白了就是组装弱分类器,形成强分类器。
下面先分别介绍
Bagging (Boostrap aggregating)
套袋法,过程如下:
- 从原始的 N 个样本中,有放回的抽取
K轮
,每轮抽取 n(n<=N)个样本(因为有放回,所以可能重复),得到 k 个训练样本集 - 用 k 个训练集可以训练 k 个独立的分类器 (模型)
- 整体的分类结果由 k 个模型投票决定,回归问题取平均
Boosting
主要思想:将弱分类器组合成强分类器,在 PAC(概率近似正确)的学习框架下 [?!]
,一定可以将弱分类器组合成强分类器。
两个问题:
-
如何改变训练数据的权值或概率分布?
在每一轮训练中,提高被弱分类器误分类的样本的权值,降低正确分类的样本的权值,从而提高模型对误分样本的识别效果?这里的误分应该指的是实际上是 TP/TN,却被识别错了?所以要增强权值,使其能够被正确分类?以提高后续分类过程中的识别效果。
-
怎么组合弱分类器 ?
加法模型线性组合
AdaBoost 通过加权表决的方式,增大错误率小的分类器的权值,减小错误率大的分类器权值
提升树 通过拟合残差的方式逐步减小残差,将每一步生成的模型叠加得到最终模型
整体来说二者的区别如下:
Bagging | Boosting | |
---|---|---|
样本选择 | 在原始集中有放回的选取训练集,训练集相互独立 | 每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。 |
样例权重 | 均匀取样,每个样例的权重相等 | 根据错误率不断调整样例的权值,错误率越大则权重越大 |
预测函数 | 所有预测函数的权重相等 | 每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重 |
并行计算 | 各个预测函数可以并行生成 | 各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果 |
all:
整合的方式不一样,结果也不一样。总体来说会提高准确率,但是计算量会更大。
几个例子:
- Bagging + 决策树 = 随机森林
- AdaBoost + 决策树 = 提升树
- Gradient Boosting + 决策树 = GBDT
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于