集成算法(bagging,boosting, stacking)

集成算法中主要分为

bagging算法、boosting算法、stacking算法

bagging的算法过程:

从原始样本集中使用Bootstraping方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集(k个训练集之间相互独立,元素可以有重复)。对于抽取的k个训练集,可以训练出k个模型。

模型预测结果:
对于分类问题:由投票表决产生的分类结果;
对于回归问题,由k个模型预测结果的均值作为最后预测的结果。

Boosting的算法过程:

对训练集中的每个样本建立权值wi,表示每个样本的权重。在随后的运算中:
对于被错误分类的样本,权重会在下一轮的分类中获得更大的权重。
对于误差率较小的弱学习器,加大权值,使其在表决中起到更大的作用。
对于误差率较大的弱学习器,减小权值,使其在表决中起到较小的作用。
每一次迭代都得到一个弱学习器,需要使用某种策略将其组合(boosting是串联形式,bagging是并联形式。boosting降低偏差;bagging降低方差)为最终模型。

Bagging 和 Boosting 的主要区别:

样本选择上: Bagging采取Bootstraping的是随机有放回的取样,而Boosting的每一轮训练的样本是固定的,改变的是每个样的权重。
样本权重上:Bagging采取的是均匀取样,且每个样本的权重相同,Boosting根据错误率调整样本权重,错误率越大的样本权重会变大。
预测上:Bagging所有的预测函数权值相同,Boosting中误差越小的预测函数其权值越大。
并行计算: Bagging 的各个预测函数可以并行生成;Boosting的各个预测函数必须按照顺序迭代生成.

将决策树与以上框架组合成新的算法:

Bagging + 决策树 = 随机森林
AdaBoost + 决策树 = 提升树
gradient + 决策树 = GDBT

常用的决策树有ID3, C4.5 ,CART三种. 三种算法模型构架相似,只是采用了不同的指标:信息增益,信息增益率、基尼指数。

stacking的算法过程:

将训练数据D划分为两个不相交的子集D1,D2;
用训练集的第一部分D1训练多个不同的基模型;
将多个基模型用于预测训练集的第二部分D2;
将基模型的预测结果当作输入,D2的样本标签当作学习目标,训练一个高层的模型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值