机器学习之集成算法

本文介绍的集成学习算法主要的基于决策的集成学习算法:Bagging、Boosting、Stacking。
他们的思想都是基于Bootstraping(自助法),是一种有放回的抽样法,是一种非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。根据《机器学习》中的描述,自助法的思路为:

给定包含 m m m个样本的数据集 D D D ,我们对它进行采样产生数据集 D ′ D' D:每次随机从 D D D中挑选一个样本,将其拷贝放入 D ′ D' D, 然后再将该样本放回初始数据集 D D D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行 m m m 次后,我们就得到了包含 m m m 个样本的数据集 D ′ D' D,这就是自助采样的结果。显然, D D D中有一部分样本会在 D ′ D' D中多次出现,而另一部分样本不出现。可以做一个简单的估计,样本在 m m m 次采 样中始终不被采到的概率是 ( 1 − 1 m ) m (1-\frac{1}{m})^m (1m1)m, 取极限得到 lim ⁡ m → ∞ ( 1 − 1 m ) m → 1 e ≈ 0.368 \lim_{m\to\infty}(1-\frac{1}{m})^m \to \frac{1}{e} \approx 0.368 mlim(1m1)me10.368

1. Bagging(Bootstrap aggregating)

该算法让模型训练多轮,每轮的训练集都是采用自助法采样所得。算法的基本框架:在这里插入图片描述
在训练得到所有的基学习器的预测结果之后,分类问题一般采用投票方法进行综合结果,回归问题一般采用平均法进行综合结果。

2. Boosting

Boosting算法的训练为串行,一开始训练集中的样本权重相同,没训练一轮都会根据训练的预测结果重新分配样本权重,对训练失败的样本赋予更大的权重,下一轮的训练将重点训练。最终的结果综合和Bagging类似,不同之处在于其每个基学习器具有权重,采用加权投票法和加权平均法。
在这里插入图片描述

3. Stacking

Stacking算法是分层训练,第一层为原始数据集训练,得到多个基学习器,然后将其预测值作为新的特征构造新的训练集,第二层基于新的训练集训练得到最终的模型。
在这里插入图片描述

小结

集成学习的算法的目的就是弥补单个学习器的不足,提高模型的预测能力。具体的应用有随机森林(Bagging)、Adaboost(Boosting)、GBDT(Boosting)。

其中Adaboost和GBDT模型的不同之处在于:

  1. Adaboost 是通过提升错分数据点的权重来弥补模型的不足(利用错分样本),而 GBDT 是通过算梯度来弥补模型的不足(利用残差);
  2. AdaBoost 采用的是指数损失,GBDT 使用的是绝对损失或者 Huber 损失函数;

参考资料:
1.https://zhuanlan.zhihu.com/p/86263786
2.https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/6295630.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值