集成学习(ensemble learning)基本原理


对于机器学习的一系列的算法,每个都有不同的适用范围,有处理线性可分问题的,有处理线性不可分问题,泛化性普遍不强。

集成学习方法是指组合多个模型,以获得更好的效果,使集成的模型具有更强的泛化能力。使用集成方法时会有多种形式:可以是不同算法的集成,也可以是同一算法在不同设置下的集成,还可以是数据集不同部分分配给不同学习模型之后的集成。最常见的集成思想有两种bagging和boosting。

1. Bagging(bootstrap aggregating):自举汇聚法1

Bagging 是 Bootstrap Aggregating 的简称,意思就是再取样 (Bootstrap) 。Bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,我们就可以得到T个采样集,对于这T个采样集,我们可以分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来得到最终的强学习器,所以Bagging可以降低模型的 variance。Random Forest就是一种基于Bagging的算法。算法流程如图2


2. Boosting

Boosting基于错误提升分类器性能,通过集中关注被已有分类器分类错误的样本,构建新分类器并集成。Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器3。Boosting 是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代不断进行,误差会越来越小,所以模型的 bias 会不断降低。Boosting系列算法里最著名算法主要有AdaBoost算法和提升树(Boosting tree)系列算法。Boosting tree系列算法里面应用最广泛的是梯度提升树(Gradient Boosting Tree)。算法流程如图:


  1. 统计学习方法. 李航 ↩︎

  2. http://blog.csdn.net/ruiyiin/article/details/77114072 ↩︎

  3. https://www.cnblogs.com/pinard/p/6131423.html ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值