树模型(三):集成学习

常见的集成学习框架有三种:Bagging,Boosting 和 Stacking。

1 模型方差与偏差(缘起)

在 Bagging 和 Boosting 框架中,通过计算基模型的期望和方差我们可以得到模型整体的期望和方差。为了简化模型,我们假设基模型的期望为 μ \mu μ,方差 σ 2 \sigma ^{2} σ2,模型的权重为 r r r,两两模型间的相关系数$\rho $相等。由于 Bagging 和 Boosting 的基模型都是线性组成的,那么有:

模型总体期望:

模型总体方差(公式推导参考协方差的性质,协方差与方差的关系):

2 Bagging

2.1 基本思想

Bagging(Bootstrap aggregating)思路是这样的:

  1. 从原始样本集合 中 有放回抽取n个训练样本,共进行k论抽取,得到k个训练集。
  2. 对于k个训练集,分别训练k个模型(弱分类器,如决策树)
  3. 对于分类问题:k个分类器投票表决,选取投票数最高的那种分类作为最终分类;对于回归问题:k个回归器预测结果的均值作为最后预测结果

2.2 方差与偏差

对于 Bagging 来说,每个基模型的权重等于 1/m 且期望近似相等,故我们可以得到:

通过上式我们可以看到:

  • 整体模型的期望等于基模型的期望,这也就意味着整体模型的偏差和基模型的偏差近似。
  • 整体模型的方差小于等于基模型的方差,当且仅当相关性为 1 时取等号,随着基模型数量增多,整体模型的方差减少,从而防止过拟合的能力增强,模型的准确度得到提高。但是,模型的准确度一定会无限逼近于 1 吗?并不一定,当基模型数增加到一定程度时,方差公式第一项的改变对整体方差的作用很小,防止过拟合的能力达到极限,这便是准确度的极限了。

在此我们知道了为什么 Bagging 中的基模型一定要为强模型,如果 Bagging 使用弱模型则会导致整体模型的偏差提高,而准确度降低。

3 Boosting

3.1 基本思想

Boosting的思路是这样的,本质是不断迭代的过程:

  1. 对于训练集中每个样本建立权值 w i w_{i} wi,代表对每个样本的关注度。当某个样本被误分类的概率很高时,需要加大对该样本的权值 w i w_{i} wi
  2. 迭代训练的过程中,每一轮迭代中的每一步都会生成一个弱分类器/弱回归器。通过某种策略将其组合,作为最终模型。不同的Boosting实现 方法不尽相同

3.2 方差与偏差

对于 Boosting 来说,由于基模型共用同一套训练集,所以基模型间具有强相关性,故模型间的相关系数近似等于 1,针对 Boosting 化简公式为:

通过观察整体方差的表达式我们容易发现:

  • 整体模型的方差等于基模型的方差,如果基模型不是弱模型,其方差相对较大,这将导致整体模型的方差很大,即无法达到防止过拟合的效果。因此,Boosting 框架中的基模型必须为弱模型。
  • 此外 Boosting 框架中采用基于贪心策略的前向加法,整体模型的期望由基模型的期望累加而成,所以随着基模型数的增多,整体模型的期望值增加,整体模型的准确度提高。

4 Stacking

Stacking 是先用全部数据训练好基模型,然后每个基模型都对每个训练样本进行的预测,其预测值将作为训练样本的特征值,最终会得到新的训练样本,然后基于新的训练样本进行训练得到模型,然后得到最终预测结果

5 Bagging和Boosting的区别

  1. 样本选择:Bagging采用的是随机有放回的抽样;Boosting每一轮训练都使用同样的训练集,改变的只是每个样本的权值 w i w_{i} wi
  2. 样本权值: Bagging认为每个样本拥有同样的权值,即人人平等;Boosting会根据错误率来调整样本权值,错误率越大,权值越大,会哭的孩子有奶吃,就是这个道理。
  3. 弱分类器权值:Bagging认为每个弱分类器拥有同样的权值,即干好干坏都发一样的工资;Boosting会根据分类误差小的弱分类器分配更高的权值,即干得好升职加薪。
  4. 并行计算:Bagging各个弱分类器可以并行生成互不干扰;Boosting有迭代概念,各个弱分类器必须按照顺序生成。
  5. 串行的Boosting和并行的Bagging,前者通过对错判训练样本重新赋权来重复训练,以提高基学习器准确性,降低偏差;后者通过采样方法,训练出多样性的基学习器,降低方差
  • Bagging + 决策树 = RF
  • 一阶Gradient Boosting + 决策树 = GBDT
  • 二阶Gradient Boosting + 一阶Gradi Boosting + 决策树 = XGBoost
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值