首页 > 其他分享 >【人工智能基础05】决策树模型

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

时间:2024-12-01 22:58:55浏览次数:6  
标签:剪枝 05 人工智能 算法 基尼 特征 增益 决策树

文章目录

本文重点内容

  1. 什么是决策树
  2. 决策树的基本原理
  3. 决策树训练方法,防止过拟合的方法
  4. 分类和回归决策树筛选原则

一. 基础内容

1. 决策树基本原理

1.1. 定义

分类决策树模型是一种描述对实例进行分类的树形结构。决策树由节点和有向边组成。其中节点有两种类型:内部节点和叶节点。内部节点表示一个特征或属性,叶结点表示一个类,结构如下图:

在这里插入图片描述

 

1.2. 表示成条件概率

决策树还可以表示成在给定条件下类的条件概率分布。

决策树将特征空间划分为会不相交的单元,在每个单元定义一个类的概率分布,这就构成了一个条件概率分布。

条件概率计算方式:

在这里插入图片描述

  • 概率分布计算:由各个单元给定条件下类的条件概率分布组成,将这些概率沿着分支相乘,即得出所需的概率。

 

极大似然函数:损失函数的优化。

在这里插入图片描述

 

2. 决策树的训练算法

决策树学习算法通常是递归的原则最优特征,根据该特征对训练数据进行分割:即特征空间的分割。

决策树的结构收到很多因素影响:特征选择、分裂点选择、树的深度、复杂度控制、剪枝等。

 

2.1. 划分选择的算法

特征选择:在每个节点上,如何选择一个特征进行分裂,常用的特征选择指标有:信息增益、信息增益率,以及基尼指数:ID3、C4.5、CART的等决策树算法。

信息增益(ID3 算法)

信息熵的定义与计算

在这里插入图片描述

信息增益的计算

在这里插入图片描述

 

信息增益:衡量了信息对数据集分类结果的贡献度。
在构建决策树时,ID3 算法选择信息增益最大的特征作为当前节点的划分特征。

例如,在一个判断水果是苹果还是橙子的决策树中,有颜色、形状等特征,通过计算这些特征的信息增益,若颜色特征的信息增益最大,那么就先根据颜色来划分节点。

 

信息增益比(C4.5 算法)

信息增益比的引入原因

  • 信息增益存在一个问题,它偏向于选择取值较多的特征。为了克服这个问题,C4.5 算法引入了信息增益比。
  • 在决策树构建过程中,C4.5 算法选择信息增益比最大的特征作为划分特征。例如,在一个包含很多特征的数据集里,有些特征虽然信息增益较大,但它可能有过多的取值,通过计算信息增益比,可以更合理地选择划分特征。

 

 

基尼指数(CART 算法)

基尼指数的含义:

基尼指数用于衡量数据集的纯度,其值越小表示纯度越高。
 
例如,在客户流失预测的决策树中,基尼不纯度可以帮助我们了解每个节点中客户流失(或不流失)的纯度情况。如果一个节点的基尼不纯度很高,说明这个节点中的客户在流失与否的分类上很混乱,需要进一步划分来提高纯度。

 

基尼指数的作用:划分特征。

对于每个候选特征,计算按照该特征划分后的基尼指数,选择使得基尼指数最小的特征作为划分特征。这是因为最小的基尼指数意味着划分后子数据集的纯度最高,这样可以构建出更有效的决策树。
 
例如,在信用风险评估决策树中,有收入、负债、信用记录等多个特征。通过计算每个特征划分后的基尼指数,选择能使基尼指数最小的特征(如信用记录)进行划分,从而更好地将高风险和低风险客户区分开来。

 

基尼指数可以防止过拟合

基尼指数的使用有助于控制决策树的生长,防止过拟合。如果不加以控制,决策树可能会过度划分数据,导致在训练数据上表现很好,但在新数据上性能很差。
 
通过选择基尼指数最小的特征进行划分,决策树会优先选择最能有效降低数据集不纯度的特征,避免构建过于复杂的决策树结构。
 
例如,在图像分类决策树中,使用基尼指数来选择划分特征可以避免因一些噪声特征而构建出过于复杂的决策树,从而使模型在新的图像数据上有更好的泛化能力。

 

举例说明:计算各个类别的信息增益

计算各个类别的信息增益:

  1. 计算数据集的经验熵H(D)
  2. 计算特征A下(n个类别)各个类别的加权平均熵 H ( D A i ) H(D_{Ai}) H(DAi​)
  3. 计算特征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​)=∑i=1n​(DAi​/D)H(DAi​)
  4. 求信息增益: H ( D A ) = H ( D ) − H ( A ) H(D_A)=H(D)-H(A) H(DA​)=H(D)−H(A)
    类别B同上,然后对比信息增益,选择大的信息增益作为分裂点

 

2.2. 叶子节点的选择

p108

 

2.3. 剪枝

采用剪枝操作防止决策树出现过拟合,可以把这种操作看成是一种对决策树采取的正则手段。

常用的剪枝有预剪枝、后剪枝操作。

预剪枝

预剪枝是指在模型训练之前给定一些限制条件,这些限制条件可以阻止节点的进一步分裂。常见预剪枝的策略有:

  1. 限制树的最大深度。如果所有叶子都已经达到最大深度,将停止训练。
  2. 限制树的最大叶子数目。如果叶子数目达到这个上限,将停止训练。
  3. 限制每片叶子上最少的样本数。为每个节点设置最小样本数阈值,如果节点的本数少于这个阈值,则停止分裂
  4. 规定分割带来训练误差下降的下限。比如,规定此下限为-0.3,那么将无视所有致训练误差下降达不到0.3的分割条件。
  5. 利用验证集进行预剪枝。如果有验证集,可在决策树的训练过程中不断用验证进行评估。如果一次分割无法降低验证集上的误差,该分割将不被进行。

预剪枝的优点是可以在树的生长过程中减少计算量,但缺点是可能会错过一些有用分裂,导致模型的表达能力不足

 

后剪枝

后剪枝是在将决策树训练好之后,从决策树的底部开始评估删除一个分割是否导致验证集误差下降。如果是,则删除该分割,即删除该分割产生的两个叶子节点,并将它的父节点重新设为叶子节点;否则,保留该分割,不断重复该步骤。

后剪枝的优点是可以灵活控制模型的复杂度,但缺点是计算量较大,因为需要在树完全生长后进行剪枝。

 
 

2.4. 决策树训练算法分类

算法名称分裂准则处理类型树的结构缺失值处理剪枝处理应用范围
ID3信息增益离散特征可以是多叉树不处理没有剪枝过程,容易过拟合分类
C4.5信息增益率连续特征可以是多叉树能处理数据集中存在缺失值的情况。它通过估算该特征对分类的贡献进行处理,而不是简单地删除缺失数据。对于有缺失值的特征,C4.5会计算每个可能的分裂点,并考虑缺失值的不同处理方式对分类结果的影响采用了一种后剪枝方法,即先完整地生长树,然后再通过悲观剪枝策略来减少树的复杂性,提高泛化能力分类
CART基尼指数离散、连续均可二叉树对于缺失值的处理采用了概率加权的方法。它通过计算缺失随机变量的预测概率,然后对每个可能的值进行加权平均使用后剪枝策略,即先生成完整的树,然后通过交叉验证来选择最优的剪枝树分类和回归

 

二. 习题

1. 归一化对决策树的影响

题目:对于一些机器学习模型(例如,神经网络),对特征进行归一化(normalization)是一个有效的预处理操作。一个常见的归一化方式是对每一个特征数据,减去该特征的均值,然后除以该特征的方差。请回答,对于基于决策树的一系列算法,归一化是否会影响训练结果?

解答:
对于基于决策树的一系列算法,归一化通常不会影响训练结果。

决策树算法在构建树的过程中主要依据特征的信息增益、基尼系数等标准来进行分裂,并不依赖于特征的绝对数值大小。它更关注的是特征之间的相对关系以及特征对分类或回归目标的区分能力
而归一化主要是改变特征的数值范围和分布,对于决策树算法来说,特征的相对大小关系和顺序通常不会因归一化而改变。

所以,对基于决策树的算法进行特征归一化一般不会对训练结果产生实质性的影响。

在这里插入图片描述

 

2. 选择决策树模型

在这里插入图片描述

在这里插入图片描述

 

3. 决策树计算

在这里插入图片描述

 
 

4. 基尼系数的优势

在这里插入图片描述

 

在这里插入图片描述

 

5. 在叶子上使用线性模型的优缺点

在这里插入图片描述

在这里插入图片描述

 

参考:《人工智能基础-姚期智》

标签:剪枝,05,人工智能,算法,基尼,特征,增益,决策树
From: https://blog.csdn.net/hiliang521/article/details/144176443

相关文章

  • 启源Q05,“纯油耗二毛五”/km?无异于“喝水就跑”。
    这汽车“喝水能跑”,查证后却是同事“美丽”的谎言。(笔记模板由python脚本于2024年11月28日17:57:29创建,本篇笔记适合汽车一族的coder翻阅)【学习的细节是欢悦的历程】Python官网:https://www.python.org/Free:大咖免费“圣经”教程《python完全自学教程》,不......
  • 魔百盒M401A、CM311-1a、CM311-1sa、UNT403A、UNT413A、M411A、IP112H_S905L3A/B_开启
    魔百盒M401A、CM311-1a、CM311-1sa、UNT403A、UNT413A、M411A、IP112H_S905L3A/B_开启ROOT_红外蓝牙语音_通刷线刷固件包近年来,智能电视盒子市场日新月异,而魔百盒系列凭借其高性价比和功能多样性,成为了许多家庭的首选。然而,原厂固件的限制让不少技术爱好者感到遗憾:ROOT权......
  • 古英语与人工智能:穿越时空的语言桥梁
    古英语与人工智能:穿越时空的语言桥梁在历史的长河中,语言不仅是沟通的工具,更是文化的载体。古英语,作为英语的古老形式,承载着丰富的历史信息和文化价值。随着人工智能技术的发展,我们得以用一种全新的方式重新连接过去与现在——通过AI技术实现古英语与现代英语之间的翻译。本文将探......
  • AI蛋白质设计与人工智能药物设计
    AI蛋白质设计与人工智能药物设计AI蛋白质设计一、蛋白质相关的深度学习简介1.基础概念1.1.机器学习简介:从手写数字识别到大语言模型1.2.蛋白质结构预测与设计回顾1.3.Linux简介1.4.代码环境:VScode和Jupyternotebook*1.5.Python关键概念介绍*2.常用的分析/可视化......
  • 【机器学习】探索机器学习决策树算法的奥秘
    决策树前言基本概念常见的决策树算法ID3算法C4.5算法CART算法决策树的优缺点应用场景决策树的可视化总结前言在当今这个数据驱动的时代,机器学习作为数据分析与预测的利器,正以前所未有的速度改变着我们的生活和工作方式。在众多机器学习算法中,决策树算法以其直观......
  • 题海拾贝——生成元(Digit Generator,ACM/ICPC SEOUL 2005,UVa1583)
            Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!我的博客:<但凡.欢迎点赞关注!1、题目描述        如果x加上x的各个数字之和得到y,就说x是y的生成元。给出(1<=n<=100000),求最小生成元。无解输出0。2、思路分析    ......
  • 人工智能:在传统行业中的挑战、机遇与数据科学家角色的演变
    生成式人工智能(GenAI)为我们开启了更快的开发周期、更少的技术和维护工作,以及之前看起来无法实现的创新应用场景的大门。但与此同时,它也带来了新的风险——比如幻觉问题,以及对第三方API的依赖。对于数据科学家和机器学习团队来说,这一变革直接影响了他们的工作方式。一种新的AI项......
  • 每日速记10道java面试题05
    其他面试题:每日速记10道java面试题01-CSDN博客每日速记10道java面试题02-CSDN博客每日速记10道java面试题03-CSDN博客每日速记10道java面试题04-CSDN博客目录1.请你说说java中hashmap的原理2.HashMap的put(key,value)和get(key)过程3.在使用hashmap时,有哪些提升性能......
  • 洛谷 P1605 迷宫 C语言 bfs
    题目:https://www.luogu.com.cn/problem/P1605题目描述给定一个 N×M方格的迷宫,迷宫里有 TT 处障碍,障碍处不可通过。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到......
  • # 学期2024-2025-1 学号20241405《计算机基础与程序设计》第10周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10||这个作业的目标|1、信息系统2、数据库与SQL3、人工智能与专家系统4、人工神经网络5、模拟与离散事件......