☰
随机森林:让一群“小专家”帮你做决定
2026/10/28 2:05:19 网站建设 项目流程

随机森林:让一群“小专家”帮你做决定 🌲

一、先回顾:单棵决策树有个“毛病” 😣

🟢 趣味理解

上节课我们做了好几道决策树习题,比如奶茶店推荐饮品:

[天气类型] / | \ [晴天] [阴天] [雨天] ↓ ↓ ↓ [冰奶茶] [顾客年龄] [热奶茶] / \ [≤18岁] [>18岁] ↓ ↓ [果茶] [热奶茶]

还有超市给商品贴促销标签、判断蔬菜怎么定价——这些规则清晰、好懂,画出来一目了然。

但决策树有个明显短板——容易“过拟合”。

什么叫过拟合?好比奶茶店老板把每一位老顾客的偏好都记成规则:“穿红衣服的小王来了就推荐果茶”“戴眼镜的小李来了就推荐热奶茶”……规则越记越多、越记越细,结果来了一个新顾客,老板反而不知道推荐什么了——因为他记的都是“个例”,不是“规律”。

决策树也一样:树长得越深,越会揪住训练数据里的个别细节和噪声不放,遇到新数据反而判不准。

🧩更形象的比喻:一棵决策树就像一个特别较真的店长——老顾客的喜好他记得滴水不漏,但新顾客一进门,他就“这人我没见过”,反而不会推荐了。

所以结论是:一棵树,靠不住。

🔵 笔记速记

决策树直观好懂、能画出来,但容易过拟合——死记个例,换新数据就不会了。单棵树不稳定,需要改进。


二、新思路:集成学习 🤝

🟢 趣味理解

既然一棵树不稳,那能不能多种几棵树,让大家一起做决定?这就是集成学习。

回到奶茶店的例子:与其只听一个店长的推荐,不如让100位店员各自根据自己看到的顾客情况推荐饮品,最后投票选最受欢迎的那款。

  • 一个店员可能看走眼、可能偏科(只懂果茶不懂奶茶)
  • 但100个店员投票,个别人的小错误被互相抵消,推荐更靠谱

这就是“三个臭皮匠,顶个诸葛亮”。

🧩再举两个例子加深印象:

  • 看病:一个医生可能误诊,但让10个医生分别看,最后会诊投票,误诊概率大大降低。
  • 买手机:只看一个博主测评容易被带节奏,看几十个博主的综合评分,判断更准。

集成学习就是这个道理:集体的智慧,往往胜过单个“专家”。

🔵 笔记速记

集成学习 = 组合多个模型,集体做决定。核心思想就一句:三个臭皮匠,顶个诸葛亮——互相纠错,比单个模型稳。


三、随机森林是什么?

🟢 趣味理解

随机森林 = 很多棵决策树组成“森林”,一起做决定。

根据任务类型的不同,做决定的方式也不同:

  • 分类问题(判断是哪一类)→每棵树投票,少数服从多数🗳️
  • 回归问题(预测一个数值)→每棵树给个数,全部取平均📊

🧩比喻一(分类-投票):还是奶茶店——100棵决策树就是100个“推荐员”,每人根据天气、年龄给出推荐,最后票数最多的饮品胜出。就像班委选举,票多的当选。

🧩比喻二(回归-取平均):猜一位同学的体重——100个人各自估一个数(比如有人猜50kg,有人猜55kg),把100个估计值平均一下,往往比任何一个人的估计都准。

💡为什么叫“森林”?
因为一棵两棵不够,要种很多棵,多到成“林”,集体的力量才足够强大。

🔵 笔记速记

随机森林 = 很多棵决策树 + 两次“随机”(随机抽样数据+随机选择特征) + 投票/平均。

易混淆💡: 分类问题投票(少数服从多数);回归问题取平均(加起来除以总数)。


四、核心重点:两个“随机” ⭐⭐

这是本节课最重要的内容,笔记本上一定要记!

先问:为什么要“随机”?

🟢 趣味理解

如果100个店员都用完全一样的信息、完全一样的判断方式去推荐,那他们会推荐出一模一样的饮品——投票还有什么意义?

🧩比喻:100个店员都只盯着“天气”看,晴天全推冰奶茶、雨天全推热奶茶,投票等于没投,因为大家“想得一样,错得也一样”。

所以随机森林故意制造两种“随机”,让每个“推荐员”各有特色、各有盲区,这样综合起来时才能互相纠错。这两次随机,就是随机森林名字里“随机”两个字的由来。


🎲 随机一:随机抽样数据(Bootstrap 自助采样)

🟢 趣味理解

从原始数据里有放回地随机抽取样本,组成每棵树的训练集。

先搞懂“有放回”是什么意思:

🧩摸球比喻:袋子里有5个球,你摸出一个记下颜色,再把它放回去,然后摸第二个……

  • 因为放回去了,同一个球可能被摸到好几次
  • 有的球运气差,一次都没被摸到
  • 如果不放回地摸,那每个球都恰好被摸一次——那就没有随机性了

随机森林给每棵树准备数据,用的就是这种“摸完放回”的方式。

放到奶茶店的场景里看:

假设店里有100位顾客的消费记录,每棵树随机抽100次(有放回):

  • 平均来说,大约63位顾客的记录会被抽到至少一次
  • 剩下约37位顾客,这棵树一次都没见过

🧩店员比喻:给100位店员每人发一份不完全相同的顾客资料——有的顾客被重复提到,有的压根没出现在他的资料里。大家研究的顾客不一样,推荐自然不一样。

这样做的好处:每棵树看到的“顾客世界”都略有不同,不会都犯同一个错。

🔵 笔记速记

随机一 = 随机抽样数据:有放回地抽样本,样本可重复,约1/3抽不到,每棵树训练数据不同。

💡 记法:“摸完放回”——摸出的球放回去,所以有的球被摸好几次,有的球一次没摸到。


🎲 随机二:随机选择特征

🟢 趣味理解

每棵树在分裂节点时,不是看所有特征,而是随机挑一部分特征再选最优的。

🧩奶茶店比喻:推荐饮品本来可以参考天气、顾客年龄、顾客性别、是否会员好几个信息。

  • 如果每棵树都看全部信息,那大家的推荐逻辑差不多
  • 随机森林让每棵树只随机看其中两个——有的树看“天气+年龄”,有的树看“性别+会员”
  • 角度不同,推荐才能互补,谁也不至于被某一个因素“带偏”

🧩超市促销比喻(呼应上节课习题):判断商品要不要贴促销标签,本来可以看保质期、销量、进价、库存……随机森林让每棵树只随机看其中一部分,有的树重“保质期”,有的树重“销量”,综合起来判断更稳。

🔵 笔记速记

随机二 = 随机选择特征:每次分裂时随机挑部分特征再选最优,每棵树关注点不同,从而进一步增强树与树之间的差异性。

💡 记法:“只看几个方面”——每棵树只看随机挑的几个特征,不贪多,角度才能不同。


两个“随机”合起来解决了什么?

🟢 趣味理解

把两个随机串起来看:

随机生活比喻结果
数据随机每人拿到的顾客资料不一样训练集不同
特征随机每人关注的判断角度不一样关注点不同
合起来店员们各看各的、各有侧重树与树不一样

为什么这样就能“缓解过拟合”?

🧩关键逻辑:过拟合是因为一棵树死记个例(比如把“穿红衣服的小王”记成规则)。现在100棵树各自只看了不同的顾客、不同的角度,每棵树“背”的东西不一样。

  • 某几棵树把个例当规律、钻牛角尖了 → 没关系
  • 大多数树没背错 →分类时投票把错的“投掉”,回归时算平均把偏激的值“拉回来”

就像买二手手机估价:如果只有一个店员,他可能因为看到一道划痕就拼命压价(预测值偏低);但让100个店员来估价,有的人看到了划痕,有的人看到了高配置,最后把100个人的报价取个平均,几个“想歪了”的极端报价就被综合抵消了。

这就是随机森林比单棵决策树更稳定的关键:多样性 + 多数投票/取平均。

🔵 笔记速记

两个随机 → 树不一样 → 分类投票/回归取平均能互补 → 缓解过拟合 → 更稳定。

核心公式一句话:多样性 + 多数投票/取平均 = 随机森林的稳定。


五、随机森林工作流程

🟢 趣味理解

把前面所有内容串成一个流程,就是随机森林的完整工作过程:

原始数据(顾客记录) │ ┌──────┼──────┬──────┐ │ │ │ │ ← 随机抽样数据(Bootstrap) 树1 树2 树3 ... 树N │ │ │ │ ← 每次分裂随机选特征 投票 投票 投票 投票 (或取平均) └──────┴───┬──┴──────┘ │ 多数票/平均值 = 最终结论

三步走:

  1. 自助采样→ 给每棵树准备不同的训练数据
  2. 分别建树→ 每棵树分裂时只看随机挑的特征
  3. 投票/平均→ 分类投票,回归取平均

🧩比喻串起来:先给100位店员发不同的顾客资料(随机一)→ 每人只看自己关心的角度做推荐(随机二)→ 最后开会综合结论(分类投票/回归平均)。

🔵 笔记速记

三步走:① 自助采样 → ② 分别建树 → ③ 投票/平均。


六、课堂讨论与闯关练习🗣️

6.1 趣味闯关练习

1.【森林之心】随机森林之所以叫“森林”,是因为它由许多______组成。
A. 树叶
B. 决策树
C. 动物
D. 数据

答案:B
解析:就像一片森林由很多树组成,随机森林由很多棵决策树组成。树越多,森林越“茂盛”,判断结果通常越准确。

2.【少数服从多数】在随机森林进行分类任务时(比如判断一个动物是猫还是狗),最终的结论是如何得出的?
A. 由第一棵决策树决定
B. 由最准确的那棵决策树决定
C. 所有决策树进行“投票”,票数多的类别获胜
D. 取所有决策树结果的平均值

答案:C
解析:这就像班级里选班长,每个同学(决策树)都投票,获得票数最多的候选人(类别)当选。这种“集体决策”的力量比单个人决策更可靠。(注意:选D那是回归任务的做法哦!)

3.【真假判断】判断下列说法是否正确:

(1) 随机森林中的每一棵决策树看到的训练数据都是一模一样的。( )

答案:错误
解析:随机森林使用“Bootstrap”方法,即从原始数据中有放回地随机抽取样本,为每棵树生成一个略有不同的训练集。这叫“袋外数据”,让每棵树学到不同的知识。

(2) 随机森林在构建每棵决策树时,会考虑所有特征来找最佳分割点。( )

答案:错误
解析:为了防止所有树都一样,随机森林在每次分裂时,只会从全部特征中随机选取一部分特征进行考察。这增加了树的多样性。


6.2 小组讨论

Q1:如果每棵树都一模一样,投票还有意义吗?

参考答案:没有意义。投票的价值在于多样性——不同的树犯不同的错,多数投票才能把个别错误“投掉”。两个“随机”就是为了保证这种多样性。

Q2:单棵决策树 vs 随机森林,谁更稳定?为什么?

参考答案:随机森林更稳定。单棵树容易过拟合、换个数据就波动大;随机森林靠“多样性 + 多数投票/取平均”互相纠错,更稳、抗过拟合。

Q3(课程思政):这个算法给你什么启发?

参考答案:团队协作优于单打独斗。一个人可能偏科、会犯错,但一个分工明确、各看一角度的团队,通过讨论和综合判断,能做出更可靠的决策——这正是今后工作中需要的职业素养。


七、课堂小结

🔵 必记三个要点

  1. 集成思想:多棵决策树 > 单棵决策树,“三个臭皮匠顶个诸葛亮”
  2. 随机森林概念:多棵树组成“森林”,分类投票(少数服从多数),回归取平均
  3. 两个“随机”:① 随机抽样数据(Bootstrap 自助采样) ② 随机选择特征

💬随堂自测:随机森林与单棵决策树是什么关系?两个“随机”各指什么?(能用自己的话说出来,就说明掌握了)


八、课后拓展任务 ✍️

用自己的话解释:随机森林为什么比单棵决策树更可靠?请结合“两个随机”写不少于100字。

写作提示:

  • 先说单棵决策树的缺点(过拟合、不稳定,比如奶茶店把个例当规律)
  • 再说随机森林怎么用“很多棵树”来解决
  • 重点讲两个“随机”分别让树变得怎样不同
  • 最后点出“多样性 + 多数投票/取平均”为什么能纠错、更稳定

📌 本课只聚焦原理,这些先了解就好

本节课聚焦集成思想和两个“随机”,不展开复杂参数和调参。下面这些是后续课程的内容,先有个印象即可:

  • n_estimators:森林里种多少棵树(默认100),越多越稳但越慢
  • max_depth:每棵树最深长多少,限制它防钻牛角尖
  • max_features:每次分裂随机看几个特征——这就是“随机二”的参数
  • bootstrap:是否用有放回抽样(默认开启)——这就是“随机一”的参数

代码实操我们会在后续上机课中一步步跑通鸢尾花例子,今天先把原理吃透 💪


🗂️ 全课概念速查卡(考前背诵版)

概念一句话记住
过拟合死记个例,换新数据就不会
集成学习团队做决定,比一个人强
随机森林很多棵决策树投票/取平均
随机一随机抽样数据(有放回,约1/3抽不到)
随机二随机选择特征
为什么随机让树不一样,综合起来才有意义
为什么稳定多样性 + 多数投票/取平均,互相纠错
分类 vs 回归分类投票,回归平均

📚参考资源

  • 菜鸟教程《随机森林》:https://www.runoob.com/ml/ml-random-forest.html
  • CSDN《十大算法之一随机森林算法原理讲解》:https://blog.csdn.net/weixin_50804299/article/details/139783735
  • 上节课习题《决策树习题》:https://blog.csdn.net/Michelle8023/article/details/151974273

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询