首页/新闻资讯/正文详情

【人工智能基础05】决策树模型

发布时间:2026/11/3 9:19:10 来源:云帆数科 栏目:资讯中心
【人工智能基础05】决策树模型
文章目录一. 决策树基本原理1. 定义2. 表示成条件概率二. 决策树的训练算法1. 划分选择的算法1.1. 信息增益ID3 算法1.2. 信息增益比C4.5 算法1.3. 基尼指数CART 算法举例说明计算各个类别的信息增益2. 叶子节点的选择3. 剪枝3.1. 预剪枝3.2. 后剪枝三. 决策树训练算法分类本文重点内容什么是决策树决策树的基本原理决策树训练方法防止过拟合的方法分类和回归决策树筛选原则一. 决策树基本原理1. 定义分类决策树模型是一种描述对实例进行分类的树形结构。决策树由节点和有向边组成。其中节点有两种类型内部节点和叶节点。内部节点表示一个特征或属性叶结点表示一个类结构如下图2. 表示成条件概率决策树还可以表示成在给定条件下类的条件概率分布。决策树将特征空间划分为会不相交的单元在每个单元定义一个类的概率分布这就构成了一个条件概率分布。条件概率计算方式:概率分布计算由各个单元给定条件下类的条件概率分布组成将这些概率沿着分支相乘即得出所需的概率。极大似然函数损失函数的优化。二. 决策树的训练算法决策树学习算法通常是递归的原则最优特征根据该特征对训练数据进行分割即特征空间的分割。决策树的结构收到很多因素影响特征选择、分裂点选择、树的深度、复杂度控制、剪枝等。1. 划分选择的算法特征选择在每个节点上如何选择一个特征进行分裂常用的特征选择指标有信息增益、信息增益率以及基尼指数ID3、C4.5、CART的等决策树算法。1.1. 信息增益ID3 算法信息熵的定义与计算信息增益的计算信息增益衡量了信息对数据集分类结果的贡献度。在构建决策树时ID3 算法选择信息增益最大的特征作为当前节点的划分特征。例如在一个判断水果是苹果还是橙子的决策树中有颜色、形状等特征通过计算这些特征的信息增益若颜色特征的信息增益最大那么就先根据颜色来划分节点。1.2. 信息增益比C4.5 算法信息增益比的引入原因信息增益存在一个问题它偏向于选择取值较多的特征。为了克服这个问题C4.5 算法引入了信息增益比。在决策树构建过程中C4.5 算法选择信息增益比最大的特征作为划分特征。例如在一个包含很多特征的数据集里有些特征虽然信息增益较大但它可能有过多的取值通过计算信息增益比可以更合理地选择划分特征。1.3. 基尼指数CART 算法基尼指数的含义基尼指数用于衡量数据集的纯度其值越小表示纯度越高。例如在客户流失预测的决策树中基尼不纯度可以帮助我们了解每个节点中客户流失或不流失的纯度情况。如果一个节点的基尼不纯度很高说明这个节点中的客户在流失与否的分类上很混乱需要进一步划分来提高纯度。基尼指数的作用划分特征。对于每个候选特征计算按照该特征划分后的基尼指数选择使得基尼指数最小的特征作为划分特征。这是因为最小的基尼指数意味着划分后子数据集的纯度最高这样可以构建出更有效的决策树。例如在信用风险评估决策树中有收入、负债、信用记录等多个特征。通过计算每个特征划分后的基尼指数选择能使基尼指数最小的特征如信用记录进行划分从而更好地将高风险和低风险客户区分开来。基尼指数可以防止过拟合基尼指数的使用有助于控制决策树的生长防止过拟合。如果不加以控制决策树可能会过度划分数据导致在训练数据上表现很好但在新数据上性能很差。通过选择基尼指数最小的特征进行划分决策树会优先选择最能有效降低数据集不纯度的特征避免构建过于复杂的决策树结构。例如在图像分类决策树中使用基尼指数来选择划分特征可以避免因一些噪声特征而构建出过于复杂的决策树从而使模型在新的图像数据上有更好的泛化能力。举例说明计算各个类别的信息增益计算各个类别的信息增益:计算数据集的经验熵H(D)计算特征A下(n个类别)各个类别的加权平均熵H ( D A i ) H(D_{Ai})H(DAi​)计算特征A的加权熵H ( D A ) ∑ i 1 n ( D A i / D ) H ( D A i ) H(D_A)\sum_{i 1}^{n}(D_{Ai}/D)H(D_{Ai})H(DA​)∑i1n​(DAi​/D)H(DAi​)求信息增益H ( D A ) H ( D ) − H ( A ) H(D_A)H(D)-H(A)H(DA​)H(D)−H(A)类别B同上然后对比信息增益选择大的信息增益作为分裂点2. 叶子节点的选择见p1083. 剪枝采用剪枝操作防止决策树出现过拟合可以把这种操作看成是一种对决策树采取的正则手段。常用的剪枝有预剪枝、后剪枝操作。3.1. 预剪枝预剪枝是指在模型训练之前给定一些限制条件这些限制条件可以阻止节点的进一步分裂。常见预剪枝的策略有限制树的最大深度。如果所有叶子都已经达到最大深度将停止训练。限制树的最大叶子数目。如果叶子数目达到这个上限将停止训练。限制每片叶子上最少的样本数。为每个节点设置最小样本数阈值如果节点的本数少于这个阈值则停止分裂。规定分割带来训练误差下降的下限。比如规定此下限为-0.3那么将无视所有致训练误差下降达不到0.3的分割条件。利用验证集进行预剪枝。如果有验证集可在决策树的训练过程中不断用验证进行评估。如果一次分割无法降低验证集上的误差该分割将不被进行。预剪枝的优点是可以在树的生长过程中减少计算量但缺点是可能会错过一些有用分裂导致模型的表达能力不足。3.2. 后剪枝后剪枝是在将决策树训练好之后从决策树的底部开始评估删除一个分割是否导致验证集误差下降。如果是则删除该分割即删除该分割产生的两个叶子节点并将它的父节点重新设为叶子节点否则保留该分割不断重复该步骤。后剪枝的优点是可以灵活控制模型的复杂度但缺点是计算量较大因为需要在树完全生长后进行剪枝。三. 决策树训练算法分类算法名称分裂准则处理类型树的结构缺失值处理剪枝处理应用范围ID3信息增益离散特征可以是多叉树不处理没有剪枝过程容易过拟合分类C4.5信息增益率连续特征可以是多叉树能处理数据集中存在缺失值的情况。它通过估算该特征对分类的贡献进行处理而不是简单地删除缺失数据。对于有缺失值的特征C4.5会计算每个可能的分裂点并考虑缺失值的不同处理方式对分类结果的影响采用了一种后剪枝方法即先完整地生长树然后再通过悲观剪枝策略来减少树的复杂性提高泛化能力分类CART基尼指数离散、连续均可二叉树对于缺失值的处理采用了概率加权的方法。它通过计算缺失随机变量的预测概率然后对每个可能的值进行加权平均使用后剪枝策略即先生成完整的树然后通过交叉验证来选择最优的剪枝树分类和回归参考《人工智能基础-姚期智》

相关推荐

linux设备/驱动的注册
linux设备/驱动的注册

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 9:19:10

Matrix-Game-3.0与Wan2.2-TI2V-5B对比:性能提升与技术创新详解
Matrix-Game-3.0与Wan2.2-TI2V-5B对比:性能提升与技术创新详解

Matrix-Game-3.0与Wan2.2-TI2V-5B对比:性能提升与技术创新详解 在人工智能视频生成领域,Matrix-Game-3.0作为基于Wan2.2-TI2V-5B的升级版本,带来了显著的性能提升和技术创新。本文将深入解析这两个模型的核心差异,帮助新手和普通… · 2026/11/3 9:18:07

Matrix-Game-3.0开发者指南:自定义动作控制与模型微调教程
Matrix-Game-3.0开发者指南:自定义动作控制与模型微调教程

Matrix-Game-3.0开发者指南:自定义动作控制与模型微调教程 Matrix-Game-3.0是一款功能强大的AI模型开发框架,提供了灵活的自定义动作控制和高效的模型微调功能,帮助开发者快速构建和优化AI应用。本指南将详细介绍如何利用Matrix-Game-3.0进行… · 2026/11/3 9:18:07

Java中的引用类型分为四种:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)
Java中的引用类型分为四种:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)

Object obj new Object() 这行代码太熟了,熟到大多数人从没想过:obj 只是引用变量,而“引用”本身是分等级的。除了这种默认、最强硬的一种,JDK 还提供了软引用、弱引用、虚引用。它们改变的其实只是一件事——对象什么时候可以被… · 2026/11/3 9:53:58

【系统架构设计师-Redis(2)】Redis 五大核心数据结构与典型场景实战(含秒杀、限流、队列、排行榜)
【系统架构设计师-Redis(2)】Redis 五大核心数据结构与典型场景实战(含秒杀、限流、队列、排行榜)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 9:53:58

TabPFN-3终极指南:如何在5分钟内掌握这个革命性表格预测模型
TabPFN-3终极指南:如何在5分钟内掌握这个革命性表格预测模型

TabPFN-3终极指南:如何在5分钟内掌握这个革命性表格预测模型 你想知道如何快速上手最先进的表格预测模型吗?TabPFN-3作为一款基于Transformer架构的表格预测基础模型,通过上下文学习技术,能够在单次前向传播中解决复杂的表格预测… · 2026/11/3 9:53:58

LTX-Best-Face-ID vs 传统视频生成工具:为什么它是人脸保留的最佳选择
LTX-Best-Face-ID vs 传统视频生成工具:为什么它是人脸保留的最佳选择

LTX-Best-Face-ID vs 传统视频生成工具:为什么它是人脸保留的最佳选择 LTX-Best-Face-ID是一款基于LTX-2.3(22B)模型的身份保留参考转视频LoRA工具,它能根据人物参考照片和文本提示生成保持人物身份的视频。与传统视频生成工具相… · 2026/11/3 9:53:58

BBDown 下载 B 站视频完整指南:从单集视频到批量番剧的命令行工具
BBDown 下载 B 站视频完整指南:从单集视频到批量番剧的命令行工具

BBDown 下载 B 站视频完整指南:从单集视频到批量番剧的命令行工具 【免费下载链接】BBDown Bilibili Downloader. 一个命令行式哔哩哔哩下载器. 项目地址: https://gitcode.com/gh_mirrors/bb/BBDown BBDown 是一个免费开源的命令行 B 站视频下载器&#xff… · 2026/11/3 9:53:58

如何快速部署Mistral Medium 3.5 128B:5步完成本地vLLM服务器搭建
如何快速部署Mistral Medium 3.5 128B:5步完成本地vLLM服务器搭建

如何快速部署Mistral Medium 3.5 128B:5步完成本地vLLM服务器搭建 Mistral Medium 3.5 128B是一款具有1280亿参数的强大开源AI模型,支持256k超长上下文窗口,具备多模态输入、函数调用和推理能力。本文将通过5个简单步骤,教你如何… · 2026/11/3 9:52:57

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码