西瓜书 第八章习题 集成学习总结(Adaboost、GradientBoost、Bagging、RandomForest)

本文介绍了集成学习的基本思想,包括串行的Boosting方法(如Adaboost和GradientBoost)以及并行的Bagging和RandomForest。Adaboost通过加权或重采样使错误数据受到更多关注,GradientBoost则根据误差调整数据。Bagging使用自助采样法创建独立模型,并利用剩余数据进行外包估计以防止过拟合。RandomForest在Bagging基础上增加了属性子集的随机选择,增加基学习器的差异性,同时提高训练速度。文章提供了相关参考资料和代码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据及代码在git上:https://github.com/qdbszsj/Ensemble-learning

这里用sklearn实现的代码,4种常用的集成学习的方法,手写有点麻烦,这里重点不是代码,是学习总结。

集成学习(ensemble-learning)通过将多个学习器进行结合,常常可以获得比单一学习器更显著的泛化性能,我们的目标是基于一个大数据集产生若干“好而不同”的学习器,然后用这些学习器去进行预测,少数服从多数,或者根据误差或者主管判断进行加权什么的。

目前的集成学习方法有两大类:

一类是boosting,串行地产生的若干基学习器,后一个基学习器依据前一个基学习器的表现,进行一些参数的调整,从而依次产生若干新的基学习器,这里参数的调整方案不同,因此又分为Adaboost、GradientBoost等等boost,Adaboost相当于是不修改原数据内容,只是进行加权(重赋权法,re-weighting)或者是重采样(re-sampling),从而让错误数据受到更多重视,而gradientBoost是直接根据原数据和预测出的数据的差值,修改当前数据再进行下一次迭代,大概就是这样,具体迭代公式此处篇幅不易展开。

另一类是Bagging、随机森林这些,可以并行产生的。Bagging是用自助采样法,m个样本,独立采m次,根据极限法则,m趋于无穷时,(1-1/m)^m=1/e,也就是说有1/e的样本没有被采到,我们就用剩下的1-1/e=63.2%的样本来生成模型,这样子有很多独立的样本,可以并行计算出很多独立的预测模型,最后再把这些模型整合在一起。这里用自助采样有一个好处,是可以用剩下的36.8%的模型进行外包估计,决策树里可以用来辅助剪枝,神经网络里可以辅助早停,防止过拟合。另外,bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效果明显。RF就是在Bagging决策树基础上加了一点随机因素,让每次选属性子集的时候随机舍弃一些属性,这样子基学习器基本上还是好的学习器,但是不同基学习器的差异性会大一些,正好符合我们“好而不同”的要求。而且在训练RF的时候,因为可以舍弃一些属性,训练速度还加快了。这里有个参数k,假如当前有d个可选属性,我们通常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值