机器学习——集成算法

本文深入探讨了集成算法的三大主流方法:Bagging、Boosting和Stacking。Bagging通过随机采样和平均来减少过拟合,如随机森林。Boosting通过迭代提升弱学习器,例如AdaBoost和GBDT。Stacking则是通过多个模型的组合,利用元模型进行预测。实验分析显示,集成算法如硬投票、软投票、Bagging策略等能有效提升模型性能,其中Stacking通常表现更优。

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

(一)集成算法原理

集成算法
构建多个学习器,然后通过一定策略结合把它们来完成学习任务的,常常可以获得比单一学习显著优越的学习器。

集成算法一般分为三类:Bagging,Boosting,Stacking(我们可以把它简单地看成并行,串行和树型)

1.1 Bagging模型

Bagging模型详解

Bagging的全称是bootstrap averaging,它把各个基模型的结果组织起来,具体实现也有很多种类型,以sklearn中提供的Bagging集成算法为例(下面代码中会用到部分算法):

  1. BaggingClassifier/BaggingRegressor是从原始数据集抽选S次(抽取实例,抽取属性),得到S个新数据集(有的值可能重复,有的值可能不出现)。使用同一模型,训练得到S个分类器,预测时使用投票结果最多的分类。
  2. RandomForestClassifier随机森林,它是对决策树的集成,用随机的方式建立一个决策树的森林。当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行判断,预测时使用投票结果最多的分类,也是少数服从多数的算法。
  3. VotingClassifier,可选择多个不同的基模型,分别进行预测,以投票方式决定最终结果。

Bagging中各个基算法之间没有依赖,可以并行计算,它的结果参考了各种情况,实现的是在欠拟合和过拟合之间取折中。

最典型的代表就是随机森林

随机:数据采样随机,特征选择随机

森林:很多个决策树并行放在一起

随机森林优势:

  1. 它能够处理很高维度(feature很多)的数据,并且不用做特征选择。
  2. 在训练完后,它能够给出哪些feature比较重要。
  3. 容易做成并行化方法,速度比较快。
  4. 可以进行可视化展示,便于分析。

树模型:

理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了。

训练多个分类器取平均 f ( x ) = 1 / M ∑ m = 1 M f m ( x ) f(x)=1/M\sum_{m=1}^{M}f_{m}(x) f(x)=1/Mm=1Mfm(x)
M表示建立树模型的个数。

1.2 Boosting模型

从弱学习器开始加强,通过加权来进行训练。
F m ( x ) = F m − 1 ( x ) + a r g m i n h ∑ i = 1 n L ( y i , F m − 1 ( x i + h ( x i ) ) F_{m}(x)=F_{m-1}(x)+argmin_{h}\sum_{i=1}^{n}L(y_{i},F_{m-1}(x_{i}+h(x_{i})) Fm(x)=Fm1(x)+argmin

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值