当前位置: 首页 > news >正文

第二章:17.3 随机森林算法

目录

随机森林算法的详细介绍

1. 随机森林的基本思想

2. 随机森林的构建过程

2.1 有放回采样(Bootstrap Sampling)

2.2 训练决策树

2.3 特征随机选择(Feature Randomization)

2.4 生成多棵树

2.5 预测与投票

3. 随机森林的关键优势

3.1 有放回采样(Bootstrap Sampling)

3.2 特征随机选择(Feature Randomization)

3.3 集成学习的优势

4. **关于树的数量 B

5. 随机森林与 Bagging 决策树的关系

6. 随机森林的总结


随机森林算法的详细介绍

随机森林(Random Forest)是一种强大的集成学习算法,它通过组合多个决策树来提高预测的准确性和稳定性。它比单个决策树更强大,因为它能够通过多种方式减少过拟合,并充分利用数据的多样性。以下是随机森林算法的详细解释:


1. 随机森林的基本思想

随机森林的核心思想是“集成学习”(Ensemble Learning),即通过组合多个模型来提高整体性能。具体来说,随机森林通过以下两个关键步骤来构建一组决策树:

  • 有放回采样(Bootstrap Sampling):从原始训练集中随机抽取样本,生成多个新的训练集。

  • 特征随机选择(Feature Randomization):在每个决策树的节点上,随机选择一部分特征进行分裂,而不是使用所有特征。

通过这两个步骤,随机森林生成一组多样化的决策树,并通过投票或平均的方式得出最终预测结果。


2. 随机森林的构建过程

以下是随机森林的具体构建步骤:

2.1 有放回采样(Bootstrap Sampling)

假设你有一个包含 m 个样本的原始训练集。随机森林的第一步是从这个训练集中生成多个新的训练集。具体做法如下:

  • 对于 b = 1BB 是决策树的总数,通常为 100 左右):

    • 从原始训练集中随机抽取 m 个样本,但允许重复(即有放回采样)。

    • 生成一个新的训练集,这个训练集的大小与原始训练集相同(也是 m 个样本)。

例如:

  • 假设原始训练集有 10 个样本(编号为 1 到 10)。

  • 第一次采样时,可能随机抽取到样本 [1, 3, 3, 5, 6, 6, 7, 8, 9, 10],其中样本 3 和 6 出现了两次。

  • 第二次采样时,可能随机抽取到样本 [2, 2, 4, 5, 5, 6, 7, 8, 9, 9],这次样本 2、5 和 9 出现了两次。

通过这种方式,每次生成的训练集都有所不同,但样本总数保持不变


2.2 训练决策树

对于每个通过有放回采样生成的新训练集,训练一棵决策树。由于每个训练集的样本略有不同,因此每次训练出的决策树也会有所不同。

  • 在训练决策树时,我们通常使用“不剪枝”(Unpruned)的方式,让决策树尽可能地生长,直到每个叶子节点都包含尽可能少的样本(例如,每个叶子节点只包含一个样本)。这样做的目的是让每棵树尽可能地捕捉数据中的细节。


2.3 特征随机选择(Feature Randomization)

在传统的决策树中,每个节点会选择所有特征中信息增益(或基尼不纯度)最高的特征进行分裂。然而,在随机森林中,我们引入了一个关键改进:在每个节点上,随机选择一部分特征(而不是所有特征)进行分裂。

具体做法如下:

  • 假设原始数据有 n 个特征。

  • 在每个节点上,随机选择 k 个特征(k < n)作为候选特征。

  • 从这 k 个特征中选择信息增益最高的特征进行分裂

这种随机化特征选择的方式进一步增加了决策树之间的多样性。例如:

  • 如果数据有 100 个特征,我们可以选择 k = sqrt(100) = 10 个特征作为候选特征。

  • 在每个节点上,决策树只能从这 10 个特征中选择最优特征进行分裂,而不是从所有 100 个特征中选择。


2.4 生成多棵树

重复上述过程 B 次,最终生成 B 棵不同的决策树。这些树组成随机森林。


2.5 预测与投票

当需要对新的数据进行预测时,随机森林会利用所有决策树的预测结果进行综合判断:

  • 分类问题:每棵树对输入数据进行分类预测,然后通过多数投票(Majority Voting)的方式得出最终结果。例如,如果有 100 棵树,其中 60 棵树预测类别为 A,40 棵树预测类别为 B,则最终预测结果为 A。

  • 回归问题:每棵树对输入数据进行回归预测,然后通过取平均值(Averaging)的方式得出最终结果。


3. 随机森林的关键优势

随机森林之所以强大,是因为它结合了多种技术来提高模型的性能:

3.1 有放回采样(Bootstrap Sampling)

通过有放回采样,每次生成的训练集略有不同,但样本总数保持不变。这种“小变化”使得每棵树都捕捉到数据的不同方面,从而减少了过拟合的风险。

  • 例如,某些样本可能在某些训练集中出现多次,而在另一些训练集中根本不出现。这种多样性使得随机森林对数据中的噪声和异常值更加鲁棒。


3.2 特征随机选择(Feature Randomization)

在每个节点上随机选择一部分特征,而不是使用所有特征进行分裂。这种随机化特征选择有以下好处:

  • 增加树的多样性:每棵树在分裂时只能选择部分特征,这使得每棵树的结构更加不同。

  • 减少特征之间的相关性:即使某些特征在全局上非常重要,但在局部节点上可能不会被选中,从而避免了某些特征对模型的过度主导。


3.3 集成学习的优势

随机森林通过组合多棵树的结果来提高预测的准确性和稳定性:

  • 减少方差:通过平均或投票的方式,随机森林能够减少单个决策树的方差,从而提高模型的泛化能力。

  • 保持偏差:随机森林在减少方差的同时,不会显著增加偏差,因此它在处理复杂数据集时表现出色。


4. **关于树的数量 B

在随机森林中,B 表示决策树的总数。选择合适的 B 值对模型性能有重要影响:

  • 较小的 B:如果 B 太小(例如 10 或 20),随机森林可能无法充分利用数据的多样性,导致模型性能不够稳定。

  • 较大的 B:增加 B 的值通常会提高模型的性能,但超过一定数量后,性能提升会逐渐减缓。例如,从 100 棵树增加到 200 棵树可能只会带来微小的性能提升,但计算成本会显著增加。

  • 典型值在实际应用中,B 的值通常设置为 100 左右。这个值在性能和计算成本之间取得了较好的平衡。


5. 随机森林与 Bagging 决策树的关系

随机森林是 Bagging 决策树的一种改进版本。Bagging(自助法聚合)的核心思想是通过有放回采样生成多个训练集,并在每个训练集上训练一棵决策树。然而,Bagging 决策树有一个缺点:即使训练集略有不同,决策树的根节点可能仍然会选择相同的特征进行分裂,导致树之间的差异不够大。

随机森林通过引入“特征随机选择”解决了这个问题。它不仅在样本层面引入多样性(通过有放回采样),还在特征层面引入多样性(通过随机选择特征子集)。这种双重随机化使得随机森林比 Bagging 决策树更强大。


6. 随机森林的总结

随机森林是一种强大的集成学习算法,它通过以下方式提高模型的性能:

  • 有放回采样:通过有放回采样生成多个略有不同的训练集,减少过拟合。

  • 特征随机选择:在每个节点上随机选择部分特征进行分裂,增加树的多样性。

  • 集成学习:通过组合多棵树的结果,减少方差,提高模型的泛化能力和稳定性。

随机森林在处理复杂数据集时表现出色,尤其适用于特征数量较多的情况。它是一种非常实用的机器学习算法,广泛应用于分类和回归任务中。

相关文章:

  • 伪404兼容huawei生效显示404
  • #渗透测试#批量漏洞挖掘#Cleo产品远程命令执行漏洞(CVE-2024-50623)
  • 大数据SQL调优专题——引擎优化
  • java(spring boot)实现向deepseek/GPT等模型的api发送请求/多轮对话(附源码)
  • 进程的介绍--进程状态/切换
  • 【代码审计】-Tenda AC 18 v15.03.05.05 /goform接口文档漏洞挖掘
  • 网站快速收录:如何设置robots.txt文件?
  • tiptap md 编辑器实用场景开发
  • 笔试算法题思路
  • 让浏览器AI起来:基于大模型Agent的浏览器自动化工具
  • 06、ElasticStack系列,第六章:elasticsearch设置密码
  • MinkowskiEngine安装(CUDA11.8+torch2.0.1+RTX4070TI)
  • 挖矿病毒实战分析
  • 题海拾贝:【枚举】P2010 [NOIP 2016 普及组] 回文日期
  • stm32单片机个人学习笔记16(SPI通信协议)
  • Unity游戏制作中的C#基础(1)界面操作基础
  • 25旅游管理研究生复试面试问题汇总 旅游管理专业知识问题很全! 旅游管理复试全流程攻略 旅游管理考研复试真题汇总
  • 谈谈对线程的认识
  • 23.2 HtmlDocument类
  • 算法1-4 数楼梯
  • 香港油麻地旧警署将向游客开放
  • 国家发改委谈整治“内卷式”竞争:加力破除地方保护和市场分割,遏制落后产能无序扩张
  • 研究显示:肺活量衰减始于20至25岁
  • 中国古代文学研究专家、南开大学教授李剑国逝世
  • 吴双评《发展法学》|穷国致富的钥匙:制度,还是产业活动?
  • C919上海虹桥-深圳航线开通,东航今年计划再接收10架C919