真实面经题目 · 原创解析

什么是随机森林?

随机森林是用多棵决策树做 Bagging 集成的方法,通过样本随机和特征随机降低单棵树的方差,最终用投票或平均得到更稳的预测。

出现于:腾讯 · 算法

60 秒回答模板

随机森林可以理解为很多棵相对独立的决策树组成的集成模型。训练时每棵树用 bootstrap 抽样得到不同训练集,节点分裂时只在随机选出的部分特征中找最优切分,让树之间差异更大。分类任务通常投票,回归任务取平均。它相比单棵树更不容易过拟合,鲁棒性更好,也能给出特征重要性,但模型较大、解释性不如单棵树。

考点 两类随机
难度 真实面经题
回答目标 讲清方法、取舍和追问

深入解析

01

先说 Bagging 思想

随机森林属于 Bagging 集成。它训练多棵高方差、低偏差的决策树,再把结果平均或投票,用多个模型的差异抵消单棵树的不稳定。

02

样本随机产生差异

每棵树通常用 bootstrap 有放回抽样得到训练样本。不同树看到的数据不完全一样,因此学到的分裂结构也会不同,这为后续投票或平均提供了多样性基础。

03

特征随机降低相关性

节点分裂时不是扫描全部特征,而是在随机特征子集中选择最优切分。这样能避免所有树都依赖少数强特征,提高集成多样性。

04

预测靠投票或平均

分类任务让多棵树投票,回归任务通常取平均。树越多,整体预测方差通常越低,但训练和推理成本也会上升,所以工程上要在树数量、深度和延迟之间取舍。

05

优缺点要一起讲

随机森林对非线性和特征交互友好,对异常值相对鲁棒,调参成本不高;缺点是模型体积大、推理慢一些,对外推能力弱,解释性弱于单棵树。

易错点

  • 不要只说很多决策树,要说清样本随机和特征随机。
  • 不要把随机森林和 Boosting 混为一谈,它们一个偏并行降方差,一个偏串行减偏差。
  • 不要忽略树之间相关性,相关性太高时集成收益会下降。

面试官追问

随机森林和 GBDT 有什么区别?

随机森林是并行 Bagging 降方差,GBDT 是串行 Boosting 逐步拟合残差或梯度,优化目标和训练方式不同。

为什么特征随机能提升效果?

它降低树之间相关性,让集成时错误不那么同步,从而更有效降低方差。

OOB 误差是什么?

每棵树 bootstrap 没抽到的样本可作为袋外样本,用来估计泛化误差,不必额外划分验证集。