图解机器学习算法(7) | 随机森林分类模型详解(机器学习通关指南·完结)

机器学习中Random Forest 随机森林小结(5步算法,11个优缺点,例子演示解决Kaggle高频竞赛题泰坦尼克沉船) 随机森林属于 集成学习 中的 Bagging方法。由多个随机树构成,然后通过投票共同学习特征。 因为生长很深的树容易学习到高度不规则的模式,即overfit,在训练集上具有低bias和高variance的特点。随机森林是平均多个深决策树以降低variance的一种方法,其中,决策树是在一个数据集上的不同子集进行训练的,在最终的模型中通常会大大提高性能。 这有些像解决一道预测何时世界末日的难题,你给一个大学生解决,又给了一个在家里自学的人解决。两个人的解法很大概率是不一样的,你提取两个人解法的优势合起来就 阅读详情

ShowMeAI研究中心


引言

随机森林是一种由决策树构成的(并行)集成算法,属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能,同时也有很好的稳定性,广泛应用在各种业务场景中。

随机森林有如此优良的表现,主要归功于「随机」和「森林」,一个使它具有抗过拟合能力,一个使它更加精准。我们会在下文中做更详细的展开讲解。

(本篇部分内容涉及到机器学习基础知识、决策树、回归树算法,没有先序知识储备的宝宝可以查看ShowMeAI的文章 图解机器学习 | 机器学习基础知识、决策树模型详解 及 回归树模型详解)。

1.集成学习

1)集成学习

学习随机森林,我们需要先了解一些概念,比如第1个大家要了解的概念是集成学习(ensemble learning):

对于训练数据集,我们训练一系列「个体学习器」,再通过「结合策略」将它们集成起来,形成一个更强的学习器,这就是「集成学习」在做的事情,内核思想类似「三个臭皮匠,顶个诸葛亮」。

2)个体学习器

个体学习器是相对于集成学习来说的,其实我们在之前了解到的很多模型,比如C4.5决策树算法、逻辑回归算法、朴素贝叶斯算法等,都是个体学习器。

  • 若集成中只包含同种类型的个体学习器,叫做「同质」集成,个体学习器称作「基学习器」。例如随机森林中全是决策树集成。

  • 若集成中包含不同类型的个体学习器,叫做「异质」集成,个体学习器称作「组件学习器」。例如同时包含决策树和神经网络进行集成。

个体学习器代表的是单个学习器,集成学习代表的是多个学习器的结合。

3)集成学习核心问题

(1)使用什么样的个体学习器?

  • 个体学习器不能太「弱」,需要有一定的准确性。
  • 个体学习器之间要具有「多样性」,即存在差异性。

(2)如何选择合适的结合策略构建强学习器?

  • 并行组合方式,例如随机森林。
  • 传统组合方式,例如boosting树模型。

2.Bagging

我们在这里讲到的随机森林是并行集成模型,而Bagging是并行式集成学习方法最著名的代表。

1)Bootstrap Sampling

要理解bagging,首先要了解自助采样法(Bootstrap Sampling):

  • 给定包含 m m m 个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中。

  • 上述过程重复 m m m 轮,我们得到 m m m 个样本的采样集,初始训练集中有的样本在采样集中多次出现,有的则从未出现,约63.2%的样本出现在采样集中,而未出现的约36.8%的样本可用作验证集来对后续的泛化性能进行「包外估计」。

2)Bagging

Bagging是Bootstrap aggregating的缩写,是在Boostrap Sampling基础上构建的,上述的采样过程我们可以重复 T T T 次,采样出 T T T 个含 m m m 个训练样本的采样集,然后基于每个采样集训练出一个基学习器,然后将这些基学习器进行结合。

在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法,这就是Bagging的基本流程。

从「偏差-方差分解」的角度看,Bagging主要关注降低方差,因此它在不剪枝的决策树、神经网络等易受到样本扰动的学习器上效用更明显。

3.随机森林算法

1)随机森林算法介绍

Random Forest(随机森林,简称RF)是一种基于树模型的Bagging的优化版本。核心思想依旧是Bagging,但是做了一些独特的改进——RF使用了CART决策树作为基学习器。具体过程如下:

  • 输入为样本集 D = { ( x , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D=\left\{\left(x, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots,\left(x_{m}, y_{m}\right)\right\} D={(x,y1​),(x2​,y2​),…,(xm​,ym​)}

  • 对于 t = 1 , 2 , . . . , T t=1,2,...,T t=1,2,...,T:

    • 对训练集进行第 t t t 次随机采样,共采集 m m m 次,得到包含 m m m 个样本的采样集 D T D_T DT​。
    • 用采样集 D T D_T DT​ 训练第 T T T 个决策树模型 G T ( x ) G_{T} (x) GT​(x) ,在训练决策树模型的节点的时候,在节点上所有的样本特征中选择一部分样本特征,在这些随机选择的部分样本特征中选择一个最优的特征来做决策树的左右子树划分。
  • 分类场景,则 T T T 个基模型(决策树)投出最多票数的类别为最终类别。

2)随机森林核心特点

随机森林核心点是「随机」和「森林」,也是给它带来良好性能的最大支撑。

「随机」主要体现在两个方面:

  • 样本扰动:直接基于自助采样法(Bootstrap Sampling),使得初始训练集中约63.2%的样本出现在一个采样集中。并带来数据集的差异化。

  • 属性扰动:在随机森林中,对基决策树的每个结点,先在该结点的特征属性集合中随机选择k个属性,然后再从这k个属性中选择一个最优属性进行划分。这一重随机性也会带来基模型的差异性。

「集成」体现在:根据多个(差异化)采样集,训练得到多个(差异化)决策树,采用简单投票或者平均法来提高模型稳定性和泛化能力。

3)随机森林决策边界可视化

下面是对于同一份数据集(iris数据集),我们使用决策树和不同树棵树的随机森林做分类的结果,我们对其决策边界做了可视化。

可以很明显地看到,随着随机森林中决策树数量的增多,模型的泛化能力逐渐增强,决策边界越来越趋于平滑(受到噪声点的影响越来越小)。

4)随机森林算法优点

下面我们来总结一下随机森林的优缺点:

(1)随机森林优点

  • 对于高维(特征很多)稠密型的数据适用,不用降维,无需做特征选择。
  • 构建随机森林模型的过程,亦可帮助判断特征的重要程度。
  • 可以借助模型构建组合特征。
  • 并行集成,有效控制过拟合。
  • 工程实现并行简单,训练速度快。
  • 对于不平衡的数据集友好,可以平衡误差。
  • 对于特征确实鲁棒性强,可以维持不错的准确度。

(2)随机森林缺点

  • 在噪声过大的分类和回归数据集上还是可能会过拟合。
  • 相比单一决策树,因其随机性,模型解释会更复杂一些。

4.影响随机森林的参数与调优

上面我们已经系统了解了随机森林的原理与机制,下面我们一起来看看工程应用实践中的一些重点,比如随机森林模型有众多可调参数,它们有什么影响,又如何调优。

1)核心影响参数

(1)生成单颗决策树时的特征数(max_features)

  • 增加max_features一般能提高单个决策树模型的性能,但降低了树和树之间的差异性,且可能降低算法的速度。

  • 太小的max_features会影响单颗树的性能,进而影响整体的集成效果。

  • 需要适当地平衡和选择最佳的max_features。

(2)决策树的棵树(n_estimators)

  • 较多的子树可以让模型有更好的稳定性和泛化能力,但同时让模型的学习速度变慢。

  • 我们会在计算资源能支撑的情况下,选择稍大的子树棵树。

(3)树深(max_depth)

  • 太大的树深,因为每颗子树都过度学习,可能会有过拟合问题。

  • 如果模型样本量多特征多,我们会限制最大树深,提高模型的泛化能力。

2)参数调优

(1)RF划分时考虑的最大特征数(max_features)

  • 总数的百分比,常见的选择区间是[0.5, 0.9]。

(2)决策树的棵树(n_estimators)

  • 可能会设置为>50的取值,可根据计算资源调整。

(3)决策树最大深度(max_depth)

  • 常见的选择在4-12之间。

(4)内部节点再划分所需最小样本数(min_samples_split)

  • 如果样本量不大,不需要调整这个值。

  • 如果样本量数量级非常大,我们可能会设置这个值为16,32,64等。

(5)叶子节点最少样本数(min_samples_leaf)

  • 为了提高泛化能力,我们可能会设置这个值>1。

更多监督学习的算法模型总结可以查看ShowMeAI的文章 AI知识技能速查 | 机器学习-监督学习。

视频教程

可以点击 B站 查看视频的【双语字幕】版本

【双语字幕+资料下载】MIT 6.036 | 机器学习导论(2020·完整版)

双语字幕+资料下载】MIT 6.036 | 机器学习导论(2020·完整版)

https://www.bilibili.com/video/BV1y44y187wN?p=12

ShowMeAI图解机器学习算法系列(完整版)

ShowMeAI系列教程精选推荐

机器学习模型系列:随机森林的原理和示例介绍 让我们总结一下与其他监督式机器学习模型相比,随机森林的优缺点。优点在许多真实数据集上已知能提供高度准确的模型。通过结合多个决策树的预测,可以捕捉数据集中的复杂交互和模式。通过自动选择相关特征,可以有效处理高维数据集。与单个决策树相比,不容易过拟合。自助采样和每个节点的随机特征选择有助于减少过拟合并改善泛化能力。可以处理包括数值和分类特征在内的异构数据类型。可以处理缺失值而不需要填充。提供特征重要性的度量。集成中的树可以并行训练,因为每个决策树可以独立构建。模型的泛化误差具有理论上的界限。 阅读详情

相关推荐

RF模型(随机森林模型)详解

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 一、RF简介 RF模型属于集成学习中的bagging流派 1、集成学习简介 集成学习分为2派: (1)boosting:它组合多个弱学习器形成一个强学习器,且各个弱学习器之间有依赖关系。 (2)bagging:同样的,它也是组合多个弱学习器形成一个强学习器,但它各个弱学习器之间没有依赖关系,而且可以并行拟合。 2、bagging流派算法简介 ...

tt丫的博客 2万+

随机森林模型

如下图所示,随机森林模型会在原始数据集中随机抽样,构成n个不同的样本数据集,然后根据这些数据集搭建n个不同的决策树模型,最后根据这些决策树模型的平均值(针对回归模型)或者投票(针对分类模型)情况来获取最终结果。举例来说,有1000个原始数据,有放回的抽取1000次,构成一组新的数据(因为是有放回抽取,有些数据可能被选中多次,有些数据可能不被选上),作为某一个决策树的数据来进行模型的训练。随机森林是一种元估计器,它在数据集的不同子样本上匹配许多决策树分类器,并使用平均来提高预测精度和控制过拟合。

m0_62224692的博客 2万+

图解机器学习算法 | 从入门到精通系列教程(机器学习通关指南·完结)

本篇内容是ShowMeAI组织的「图解机器学习算法」系列教程入口,本教程尽量以生动可视化的方式,帮助大家理解机器学习的核心知识和重要的系列模型,并配以相关的代码实现帮助大家了解应用方法。(对机器学习实战感兴趣的同学,可以关注ShowMeAI的另外一个系列[机器学习应用实践])......

ShowMeAI研究中心 1万+

图解十大经典机器学习算法入门

弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分。以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术。 下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力。 图1 智能手机上的相关应用 传统的机器学习算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。这篇文章将对

jrunw的博客 22万+

[有监督学习] 7.详细图解随机森林

随机森林的目标是利用多个决策树模型,获得比单个决策树更高的预测精度。单个决策树的性能并不一定很高,但是多个决策树汇总起来,一定能创建出泛化能力更强的模型。

大象不下象棋的博客 6524

机器学习知识图谱——随机森林算法(Random Forest)

随机森林是一种集成学习(Ensemble Learning)方法,它通过构建多个决策树,并将它们的结果进行投票(分类)或平均(回归),来提升预测的准确性和稳定性。 本质:多个“弱分类器”(决策树)组合成一个“强分类器”。

moton2017的博客 6355

图解随机森林算法

作者|PythosLabs 编译|VK 来源|Towards Data Science 这篇文章是关于什么的 在本文中,我们将了解随机森林算法是如何在内部工作的。为了真正理解它,了解一下决策树分类器可能会有帮助。但这并不完全是必需的。 注意:我们不涉及建模中涉及的预处理或特征工程步骤,只查看当我们使用sklearn的RandomForestClassifier包调用.fit()和.transform()方法时,算法中会发生什么。 随机森林 随机森林是一种基于树的算法。它是多种不同种类的随机树的集合。模型的

TensorFlowNews 4176

飞凌OK3588-C Linux R4系统下MIPI YUV摄像头CSI尺寸错误排查与极性适配方案

本文详细介绍了在飞凌OK3588-C平台的Linux R4系统下调试MIPI YUV摄像头时遇到的'csi size err'错误排查与极性适配方案。通过分析信号极性、驱动参数调整及FPGA协同调试,提供了从硬件检测到系统级调试的完整解决方案,帮助开发者快速解决类似问题。

bean的博客 259

《图解机器学习算法》学习笔记

机器学习指的是计算机根据给定的问题、课题或环境进行学习,并利用学习结果解决问题或课题等的一整套机制.对结果的验证通常应使用另外准备的一些不用于学习的数据来进行,否则会产生过拟合(overfitting)问题。

qq_52247221的博客 1728

01-FreeSWITCH 的安装、部署、配置以及可能遇到的问题和解决方法

一文让您了解从FreeSWITCH 的安装、部署、配置、可能遇到的问题及解决方法。一切从实际项目出发,以工程应用为目的。

秋风的博客 2127

USB接口ESD保护电路:深度剖析与选型建议

USB接口在热插拔和频繁使用中极易遭遇静电放电(ESD)冲击,导致芯片损坏或通信异常。本文结合实际电路设计经验,详解TVS二极管、集成ESD防护器件等方案在USB接口上的应用要点,重点分析钳位电压、结电容、IEC 61000-4-2等级等关键参数对信号完整性与防护效果的影响,助你为USB接口匹配高可靠、低干扰的ESD保护方案。

weixin_36289813的博客 510

图解十大机器学习算法

来源:图灵人工智能、凹凸数据 本文约3600字,建议阅读7分钟 本文利用图解的方式介绍了10大常见的机器学习算法。在机器学习领域,有种说法叫做“世上没有免费的午餐”,简而言之,它是指没有任何一种算法能在每个问题上都能有最好的效果,这个理论在监督学习方面体现得尤为重要。举个例子来说,你不能说神经网络永远比决策树好,反之亦然。模型运行被许多因素左右,例如数据集的大小和结构。因...

数据派THU 900

如何在Ubuntu 22.04上为AlphaFold3配置NVIDIA A100 GPU(含驱动安装避坑指南)

本文提供了在Ubuntu 22.04系统上为AlphaFold3部署NVIDIA A100 GPU的完整安装教程。内容涵盖从系统环境准备、NVIDIA驱动安装与避坑指南,到Docker容器化部署、数据库获取以及最终构建运行AlphaFold3的详细步骤,旨在帮助研究者和开发者高效配置高性能计算环境,充分发挥A100的硬件潜力。

nft7creator的博客 468

7天快速入门机器学习:100-Days-Of-ML-Code 完整指南

100-Days-Of-ML-Code 是一个专为机器学习初学者设计的实践项目,通过每天一个核心概念和实战练习,帮助你系统掌握机器学习基础。本指南将带你了解项目结构、核心内容和快速上手方法,让你在最短时间内踏入机器学习的大门。 ## 📋 项目核心内容概览 项目包含从基础到进阶的机器学习知识点,通过结构化的每日任务帮助学习者逐步构建知识体系。主要涵盖: - **数据预处理**(Day 1)

gitblog_00770的博客 534

万字详解YOLOv8网络结构Backbone/neck/head以及Conv、Bottleneck、C2f、SPPF、Detect等模块

YOLOv8是由Ultralytics开发的最先进的目标检测模型,推升了速度、准确性和用户友好性的界限。YOLO这一缩写代表“你只看一次”(You Only Look Once),通过在一次网络传递中同时预测所有边界框,提升了算法的效率和实时处理能力。相比之下,其他一些目标检测技术需要经过多个阶段或过程来完成检测。YOLOv8在流行的YOLOv5架构上进行了扩展,在多个方面提供了改进。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 14万+

机器学习十大基础算法图示

这篇文章将对常用算法做常识性的介绍,没有代码,也没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的。

weixin_41560800的博客 2250

手把手教你学Simulink--基于高频与高速信号处理的滤波器场景实例:毫米波雷达中匹配滤波器的多目标分辨仿真

在自动驾驶、智能交通和工业感知等领域,毫米波雷达(mmWave Radar)因其高分辨率全天候工作和抗电磁干扰能力,成为关键的感知传感器。其核心信号处理算法之一是匹配滤波器(Matched Filter),用于在强噪声背景下最大化信噪比(SNR),实现对微弱目标的检测。在调频连续波(FMCW, Frequency-Modulated Continuous Wave)雷达中,发射信号为线性调频(Chirp)信号。当信号遇到多个目标时,回波是多个延迟版本的叠加。

MHD0815的博客 134

十大经典机器学习算法图解

弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分。以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术。 下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力。 图1 智能手机上的相关应用 传统的机器学习算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。这篇文章将对常用算法...

小宁的博客 454

李航《统计学习方法》课后习题答案(第2版)

李航《统计学习方法》课后习题答案(第2版) 章节 链接 第1章 统计学习及监督学习概论 点击进入 第2章 感知机 点击进入 第3章 k近邻法 点击进入 第4章 朴素贝叶斯法 点击进入 第5章 决策树 点击进入 第6章 逻辑斯谛回归与最大熵 点击进入 第7章 支持向量机 点击进入 第8章 提升方法 点击进入 第9章 EM算法及其推广 点击进入 第10章 隐马尔可夫模型 点击进入 第11章 条件随机场 点击进入     也可进入我的个人主页查看分类专栏

weixin_43646592的博客 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【机器学习入门】7.4 随机森林:一文吃透随机森林——从原理到核心特点

本文介绍了随机森林模型的核心原理与应用。针对单棵决策树易过拟合、稳定性差的问题,随机森林通过Bootstrap抽样生成多样化训练集,结合多棵决策树的投票机制实现"群体智慧",显著提升泛化能力。文章详细解析了随机森林的两大关键技术:Bootstrap抽样保证树的多样性,投票机制整合多树结果。实践部分提供了Python代码模板,涵盖数据预处理、模型训练、参数调优和可视化分析,特别适合入门学习者。随机森林凭借泛化能力强、稳定性高、可并行训练等优势,成为机器学习领域的实用工具。

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 1679

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

20分钟掌握机器学习算法指南

在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。

分享工作学习中的知识;不限于技术java、nodejs,同时也包括项目管理、产品管理等内容 1130

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 图解机器学习算法(6) | 决策树模型详解(机器学习通关指南·完结)
下一篇: 图解机器学习算法(8) | 回归树模型详解(机器学习通关指南·完结)
ShowMeAI
博客等级 码龄5年 6514粉丝 672原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值