机器学习: ensemble learning

Ensemble Learning是结合多个模型以提升预测能力的技术。它包括Bagging(如Bootstrap Aggregation和Random Forest)、Boosting(如Adaboost和GBDT)以及Stacking。Bagging通过有放回采样减少模型方差,Boosting则通过强调前一轮错误的样本来减少偏差,而Stacking使用多层模型组合以学习更复杂的融合策略。这些方法在解决复杂问题时能提供更好的泛化性能。
摘要由CSDN通过智能技术生成

机器学习: ensemble learning

ensemble learning即把多个模型综合成一个模型。这样往往能达到不错的效果。原因为: 不同的模型可能采用了不同的数据、或对数据的刻画方式角度不一样;直觉上讲,如果一个问题从多个角度去看,那么效果往往会比从单角度看效果更好。

各种ensemble的方法,据说在kaggle比赛中也有明显的效果

ensemble的方式大致分几类:

bagging (bootstrap aggregation):

bootstrap 代表:有放回的重采样。bagging即在原始数据中,首先有放回的重采样出多份数据,每一份数据训练出一个model, 然后再把model组合起来(分类一般采用投票法,回归采用平均法)。

  • bagging可以有效降低模型的variance(可能提高bias), 因为多个模型放在一起,提升了泛化性. 所以bagging对高方差的模型比较有效,比如树模型
  • 多个模型的训练是不互相依赖的,即多个模型可以并行训练
  • radnom forest是bagging基础上的一个扩展。bagging为了引入样本的多样性,采用有放回的重采样,而rf是对特征进行随机选择,每一轮随机选出K个特征,然后训练出一个弱分类起。最终将这些弱分类器进行emsemble. (随机森林简单、容易实现、性能好)(参考西瓜书)

boosting

Boosting involves incrementally building an ensemble by training each new model instance to emphasize the training instances that previous models mis-classified. In some cases, boosting has been shown to yield better accuracy than bagging, but it also tends to be more likely to over-fit the training data(wiki)

  • boosting can give good results even if the base classifier is weak learner(only slightly better than random)
  • base classifier are trained in sequence(注意这里必须串行训练,每一个模型的训练依赖之前的模型,和bagging不同)
  • 所有模型训练完成后,在将所有模型组合到一起
  • 特点: 可以提升对训练数据的拟合,减小bias, 但是可能造成overfitting(增加variance)
  • 例子: adboost, gbdt, gbdt

stacking

分两层,第一层是多种模型利用数据训练出的不同模型,第一层所有模型的输出是第二层模型的输入,第二层模型的输出是最终结果。(个人理解,普通的模型输出综合无非是平均法、投票法。而stacking把所有模型的输出当作了输入,这样就可以学到比平均/投票法更复杂的模型融合方法)

其他

  • Bayes optimal classifier(wiki,T代表training data, h_i 代表第i个假设,最终的结果是多个假设计算出的模型,按照概率加权投票)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值