随机森林:原理、参数与适用场景
- 随机森林(Random Forest)模型
- 一、 随机森林的底层逻辑:为什么“多棵树”比“一棵树”好?
- 二、 随机森林的两大“随机性”:核心创新点
- 1. 样本随机:Bootstrap抽样(有放回抽样)
- (1) 抽样规则
- (2) 数学推导(可选,新手可跳过)
- (3) 核心作用
- 2. 特征随机:随机子空间(Random Subspace)
- (1) 选择规则
- (2) 核心作用
- 三、 随机森林的完整训练流程(分步骤拆解)
- 关键细节:
- 四、 随机森林的预测流程(分类+回归)
- 1. 分类任务:多数投票法(Majority Voting)
- 2. 回归任务:均值法
- 五、 随机森林的核心参数(Sklearn版)及调优策略
- 调优优先级:
- 六、 随机森林的优缺点深度分析
- 优点
- 缺点
- 改进方向
- 七、 随机森林的适用场景与典型应用
- 核心适用场景
- 不适用场景
- 八、 随机森林 vs 其他集成算法(核心对比)
- 总结
随机森林(Random Forest)模型
随机森林(Random Forest, RF)是集成学习(Ensemble Learning)中Bagging(装袋)策略的典型代表,由Leo Breiman于2001年提出。它通过“随机抽样+多树集成”的方式,解决了单棵决策树过拟合、稳定性差的核心问题,是兼顾性能与易用性的“万能模型”,广泛应用于工业界和数据竞赛。
一、 随机森林的底层逻辑:为什么“多棵树”比“一棵树”好?
单棵决策树的核心问题是方差大(数据微小变化会导致树结构大幅改变)、过拟合(完全生长的树会记住训练集噪声)。
随机森林的核心思路是:通过“随机性”制造多棵“差异化”的决策树,再通过“多数投票/均值”降低方差、提升泛化能力。
这符合集成学习的核心定理:
若基学习器(这里是决策树)满足“独立+性能优于随机猜测”,则集成后的模型性能会随基学习器数量增加而提升,最终收敛到更高的精度。
二、 随机森林的两大“随机性”:核心创新点
随机森林的“随机”体现在样本抽样和特征选择两个维度,这是它区别于普通决策树集成的关键:
1. 样本随机:Bootstrap抽样(有放回抽样)
(1) 抽样规则
对包含N NN个样本的原始训练集,每次随机抽取N NN个样本(有放回),形成一个新的训练子集:
- 约63.2%的样本会被抽到(至少一次),用于训练单棵决策树;
- 约36.8%的样本未被抽到,称为袋外样本(Out-of-Bag, OOB),可替代测试集评估模型。
(2) 数学推导(可选,新手可跳过)
单个样本被抽到的概率:1 − ( 1 − 1 N ) N 1 - (1-\frac{1}{N})^N1−(1−N1)N,当N → ∞ N→∞N→∞时,该值趋近于1 − 1 / e ≈ 63.2 % 1 - 1/e ≈ 63.2\%1−1/e≈63.2%。
(3) 核心作用
- 每棵树的训练数据不同,避免树与树“同质化”,保证基学习器的独立性;
- 袋外样本可无额外成本评估模型,无需单独划分验证集。
2. 特征随机:随机子空间(Random Subspace)
(1) 选择规则
训练单棵决策树的每个节点时,不使用全部M MM个特征,而是随机选择m mm个特征(m < M m < Mm<M)作为“候选特征集”,仅从该子集选择最优划分特征:
- 分类任务:默认m = M m = \sqrt{M}m=M(如20个特征选4~5个);
- 回归任务:默认m = M / 3 m = M/3m=M/3(如20个特征选6~7个)。
(2) 核心作用
- 避免“强特征主导”:若某特征对结果极重要,单棵树会反复用它划分,导致所有树结构相似;随机选特征后,不同树依赖不同特征,增强多样性;
- 降低特征间的相关性:高相关特征会导致决策树学习到重复信息,