随机森林基本原理与算法描述

本文介绍了随机森林的基本原理,包括随机抽取样本子集和特征,以及使用CART决策树作为基学习器。还探讨了额外的随机森林变种如Extra Trees和Isolation Forest。文章指出,随机森林需要较深的树来平衡偏差与方差,而xgboost/gbdt/Adaboost等算法则在较浅的树上表现良好。最后,讨论了偏差与方差在模型选择中的重要性。

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

一. 前言

在前几篇博文中我们介绍了boosting系列的几个主要算法GBDTAdaBoostXGboost的基本原理与算法描述。本篇博文将介绍集成学习的另一大分支bagging方法的代表算法随机森林(Random Forest)算法。

bagging系列的算法原理相较于boosting系列的算法要简单不少。bagging方法各个子树并行的生成,而不像boosting系列算法,下一棵子树的形成是建立在上一棵的基础之上的。bagging方法使用强学习器作为基学习器的时候效果会更好,这也是防止过拟合的一种方式,而boosting方法使用弱学习器作为基学习器的时候效果会更好。

本文的主要内容:首先介绍随机森林的基本原理,然后再介绍随机森林家族中的其他一些方法,接着会讨论关于方差与偏差的问题以及方差和偏差是如何影响着我们的机器学习模型,最后总结随机森林的优缺点。

下面我们就开始介绍随机森林吧!

二. 随机森林算法基本原理介绍

2.1 随机森林简单介绍

随机森林是在bagging算法的基础之上加了一点小小的改动演化过来的。我们知道bagging算法是在原始的数据集上采用有放回的随机取样的方式来抽取m个子样本,从而利用这m个子样本训练m个基学习器,从而降低了模型的方差。而我们的随机森林的改动有两处,第一:不仅随机的从原始数据集中随机的抽取m个子样本,而且在训练每个基学习器的时候,不是从所有特征中选择最优特征来进行节点的切分,而是随机的选取k个特征,从这k个特征中选择最优特征来切分节点,从而更进一步的降低了模型的方差;第二:随机森林使用的基学习器是CART决策树。

随机森林随机选择的样本子集大小m越小模型的方差就会越小,但是偏差会越大,所以在实际应用中,我们一般会通过交叉验证的方式来调参,从而获取一个合适的样本子集的大小。所以随机森林除了基学习器使用CART决策树和特征的随机选择以外,其他方面与bagging方法没有什么不同。

2.2 随机森林的算法描述

输入:训练数据集D=\left \{ (x{_{1}},y{_{1}}),(x{_{2}},y{_{2}}),...,(x{_{n}},y{_{n}}) \right \},样本子集的个数T

输出:最终的强分类器f(x)

(1)对t=1,2,...,T:

(a)从原始样本集中随机的抽取m个样本点,得到一个训练集

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值