机器学习算法之Bagging与RF详解

本文深入探讨了Bagging算法及随机森林的工作原理,包括基于自助采样法的Bagging如何降低模型方差,以及随机森林如何通过集成多个决策树提高准确率。对比了Bagging与Boosting的区别,如样本选择、权重分配和预测函数的不同。

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

之前我们已经介绍过Boosting算法,是通过对训练集进行采样,产生不同的独立的子集,然后再训练出一个基学习器,通过集成可以得到一个泛化能力强的模型。但为了有更好的集成,我们希望个体学习器之间的差异不能太大,否则会因为每个学习器只用到了一小部分训练数据,不足以进行有效的学习。

因此,有必要考虑使用相互有交叠的采样子集。

Bagging

Bagging是并行式集成学习方法最著名的代表。是基于自主采样法(bootstrap sampling)进行采样,具体步骤如下:

1、在给定包含m个样本的数据集,先随机抽取一个样本放入采样集中,再把该样本放入初始数据集。使得下次采样时该样本仍然有可能被选中;

2、重复上述步骤,经过m次的随机采样操作,可以得到包含m个样本的采样集,在该训练集中有的样本多次出现,有的则从未出现。计算可知,初始训练集中的约有63.2%的样本出现在采样集中。

3、基于上述采样好的训练集训练m个基学习器,再将这些基学习器进行结合,在对预测输出进行结合的时候,Bagging通常对分类任务使用简单的投票法,对回归任务使用简单的平均法。

从偏差-方差分解的角度看,Bagging主要关注降低方差。


随机森林(Random Forest,RF)

随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。

组成结构:Bagging + 决策树 = 随机森林

随机森林具体如何构建呢?有两个方面:数据的随机性选取,以及待选特征的随机选取

用bootstrap方法生成m个训练集,然后,对于每个训练集,构造一颗决策树,在节点找特征进行分裂的时候,并不是对所有特征找到能使得指标(如信息增益)最大的,而是在特 征中随机抽取一部分特征,在抽到的特征中间找到最优解,应用于节点,进行分裂

优点
1、具有极高的准确率
2、随机性的引入,使得随机森林不容易过拟合
3、随机性的引入,使得随机森林有很好的抗噪声能力
4、能处理很高维度的数据,并且不用做特征选择


Bagging与Boosting区别

样本选择上:Bagging采用的是Bootstrap随机有放回抽样;而Boosting每一轮的训练集是不变的,改变的只是每一个样本的权重。

样本权重:Bagging使用的是均匀取样,每个样本权重相等;Boosting根据错误率调整样本权重,错误率越大的样本权重越大。

预测函数:Bagging所有的预测函数的权重相等;Boosting中误差越小的预测函数其权重越大。

并行计算:Bagging各个预测函数可以并行生成;Boosting各个预测函数必须按顺序迭代生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeremy_lf

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值