决策树算法原理简介

article/2025/11/11 1:46:52

1,决策树概念简介
不同的算法模型适合于不同类型的数据。

首先,在了解树模型之前,自然想到树模型和线性模型有什么区别呢?其中最重要的是,树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个新的值。
决策树与逻辑回归的分类区别也在于此,逻辑回归是将所有特征变换为概率后,通过大于某一概率阈值的划分为一类,小于某一概率阈值的为另一类;而决策树是对每一个特征做一个划分。另外逻辑回归只能找到线性分割(输入特征x与logit之间是线性的,除非对x进行多维映射),而决策树可以找到非线性分割。

而树形模型更加接近人的思维方式,可以产生可视化的分类规则,产生的模型具有可解释性(可以抽取规则)。树模型拟合出来的函数其实是分区间的阶梯函数。

决策树学习:采用自顶向下的递归的方法,基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处熵值为0(叶节点中的实例都属于一类)。

其次,需要了解几个重要的基本概念:根节点(最重要的特征);父节点与子节点是一对,先有父节点,才会有子节点(增加节点相当于在数据中切一刀);叶节点(最终标签)。所有的数据最终都会落到叶子节点,既可以做分类也可以做回归

在这里插入图片描述

2,决策树的训练与测试
2.1 训练阶段:
从给定的训练集构造出来一棵树(从跟节点开始选择特征(节点),如何进行特征切分使得分类的效果更好)。通过一种衡量标准,来计算通过不同特征进行分支选择后的分类情况,找出来最好的那个当成根节点,以此类推。

衡量标准-熵:熵是表示随机变量不确定性的度量(在物理化学中,物体内部的混乱程度)。例如杂货市场里面什么都有,肯定混乱(熵值高),而专卖店里面只卖一个牌子的那就很稳定多(熵值低)。

熵的表达式:

在这里插入图片描述

P代表概率值,当P接近于1时(概率大),H接近于0(熵值低)。不确定性越大,得到的熵值也就越大。当p=0或p=1时,H§=0,随机变量完全没有不确定性。当p=0.5时,H§=1,此时随机变量的不确定性最大
在这里插入图片描述
信息增益:表示特征X使得类Y的不确定性减少的程度(遍历所有特征,选择使分类后的信息增益最大化的特征作为根节点,然后从剩下地特征重复上述操作,直至决策树构造完成)。

决策树构造实例:

数据:14天打球情况; 特征:4种环境变化;
在这里插入图片描述
划分方式有4种:

在这里插入图片描述
在历史数据中(14天)有9天打球,5天不打球,所以当前系统的熵应为:

在这里插入图片描述
然后在4个特征逐一分析,先从outlook特征开始:
在这里插入图片描述
根据熵的表达式可以计算得:Outlook = sunny时,熵值为0.971;Outlook = overcast时,熵值为0;Outlook = rainy时,熵值为0.971

根据历史数据统计outlook取值分别为sunny,overcast,rainy的概率分别为:5/14, 4/14, 5/14

熵值计算:
在这里插入图片描述
系统的熵值从原始的0.940下降到了0.693,增益为0.247。同样的方式可以计算出其他特征的信息增益,那么我们选择最大的那个相当于是遍历了一遍特征,找出来了根节点,然后再其余的中继续通过信息增益找下面的节点。

以上算法步骤称为ID3算法,对于稀疏特征(属性非常多,样本量非常少),利用该算法计算得到的熵值较低,使得信息增益很大,而这些特征对最终的分类的结果没有太大影响,我们却根据以上算法将这些特征定为根节点,显然这样做是不合理的。

信息增益率(解决了ID3问题,考虑自身熵),对于稀疏特征的自身熵值一般都比较大,通过信息增益/自身熵,会发现稀疏特征的信息增益率极低。

还有其他算法例如:
CART使用GINI系数来当做衡量标准,GINI系数的表达式:

在这里插入图片描述

概率越接近1,GINI系数越小,和熵的衡量标准类似,计算方式不相同。

2.2 测试阶段:
根据构造出来的树模型从上到下去走一遍就好了

3,决策树剪枝策略

想象一下,如果树足够大,每一个数据就都可以分配到每个叶子节点上了(理论上可以完全分得开数据)。但是这样的决策树过拟合(在训练集上表现很好,但在测试集上表现很差)风险很大,泛化能力弱。

剪枝策略有预剪枝,后剪枝两种
3.1 预剪枝:边建立决策树边进行剪枝的操作(很实用,易实现),限制深度(特征数),叶子节点个数,叶子节点样本数,信息增益量等抑制树结构的伸展。

后剪枝:当建立完决策树后来进行剪枝操作,通过一定的衡量标准(叶子节点越多,损失C越大):
在这里插入图片描述
损失C=(GINI系数*叶子节点中的样本数)的累和,T代表叶子节点数。


http://chatgpt.dhexx.cn/article/VY9VOuDi.shtml

相关文章

机器学习——决策树算法

文章目录 一、决策树介绍二、利用信息增益选择最优划分属性三、ID3代码实现1.jupyter下python实现2. 使用sklearn实现ID3 四、C4.5算法实现五、CART算法实现六、总结参考文献 一、决策树介绍 决策树是一种基于树结构来进行决策的分类算法,我们希望从给定的训练数据集…

机器学习算法:决策树算法

1.基本定义 决策树(Decision Tree)是一种基本的分类和回归算法。该算法模型呈树形结构,主要由结点和有向边组成。结点又分为两种类型:内部结点和叶子结点。内部结点表示在一个属性或特征上的测试,每一个结点分枝代表一个测试输出,…

决策树算法应用及结果解读

作者:林骥 来源:林骥 引言 本文是我写的人工智能系列的第 8 篇文章,文末有前面 7 篇文章的链接,推荐你阅读、分享和交流。 1. 决策树算法简介 决策树是一种应用非常广泛的算法,比如语音识别、人脸识别、医疗诊断、模式…

机器学习算法(3)之决策树算法

前言:首先,在了解树模型之前,自然想到树模型和线性模型有什么区别呢?其中最重要的是,树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个新的值。决策树与逻辑回归的分类区别也在…

机器学习基础 决策树算法

文章目录 一、决策树算法简介二、决策树分类原理1. 熵1.1 概念1.2 案例 2. 决策树的划分依据一----信息增益2.1 概念2.2 案例 3. 决策树的划分依据二----信息增益率3.1 概念3.2 案例3.2.1 案例一3.2.2 案例二 3.3 为什么使用C4.5要好 4. 决策树的划分依据三 ----基尼值和基尼指…

【机器学习常见算法】决策树算法(含示例代码)

决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规 则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各 种问题时…

【决策树】深入浅出讲解决策树算法(原理、构建)

本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅!​个人主页:有梦想的程序星空​个人介绍:小编是人工智能领域硕士,全栈工程…

协方差矩阵推导

协方差定义:,其中分别为向量的均值。 设已知矩阵 则 样本自由度m-1,设,,则

协方差矩阵到底有什么用?

我们知道,线性代数,可以完成空间上的线性变换——旋转,缩放。对于协方差,我们隐约可以想到,它能解释一个随机变量,它在各个维度的变化程度。但是,这种认识其实还是处于比较浅层次的。数学嘛&…

22协方差矩阵 matlab,协方差协方差矩阵【matlab实例】

[今天看论文的时候又看到了协方差矩阵这个破东西,以前看模式分类的时候就特困扰,没想到现在还是搞不清楚,索性开始查协方差矩阵的资料,恶补之后决定马上记录下来,嘿嘿~ 协方差矩阵 协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计…

透彻理解协方差矩阵

2018-12-30 11:27:05 协方差及协方差矩阵有着特别广泛的应用,在多元高斯分布、高斯过程、卡尔曼滤波等算法中多有用到,本文从协方差、协方差矩阵讲起,并重点讲解协方差矩阵在高斯分布中的用法及意义,也是讲解高斯过程、贝叶斯优化…

使用matlab编写协方差矩阵计算矩阵

Dr.Can在他的教学视频(【卡尔曼滤波器】2_数学基础_数据融合_协方差矩阵_状态空间方程_观测器问题)中使用了足球运动员的数据介绍了协方差矩阵的概念和计算方法,原始数据如下图,那么协方差矩阵到底是什么?他有什么用&a…

PCA与协方差矩阵

一、协方差矩阵 一个维度上方差的定义: 协方差的定义: (a) 协方差就是计算了两个维度之间的相关性,即这个样本的这两个维度之间有没有关系。 协方差为0,证明这两个维度之间没有关系,协方差为正&…

浅谈协方差矩阵2

在之前的博客中介绍过一次协方差矩阵: 浅谈协方差矩阵_Yunlong_Luo的博客-CSDN博客 这次希望在之前的基础上,把协方差矩阵介绍的更清楚一些,本文的很多素材来自于: A geometric interpretation of the covariance matrix 期望和…

浅析协方差矩阵

统计学的基本概念 概率论里面有几个基本的概念,分别是:样本的均值、方差、标准差。首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述: 均值: 标准差: 方差: 均值描述…

协方差矩阵用途

协方差两个用途: 各有缺陷 第二个用途:马氏距离(曼哈顿距离) 例如 欧式距离定义 马氏距离: 马氏距离意义: 案例: 鸢尾花案例 随机向量的变换 实际案例: 随机变量的线性组合

协方差矩阵-Covariance Matrix

首先我们要明白,协方差实际是在概率论和统计学中用于衡量两个变量的总体误差,当然方差是协方差的一种特殊情况,即当两个变量是相同情况。它表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同。如果两个变量的变化趋势一致&…

协方差矩阵(Covariance Matrix)

群体均值和协方差矩阵定义 (Population Mean and Covariance Matrix) 1、学术定义 2、常规定义 协方差矩阵中每个元素的求法 用中文来描述,就是: 协方差(i,j)(第i列的所有元素-第i列的均值)*&#xff…

超全面的协方差矩阵介绍

阅读本文需要具备一定的线性代数基础,通过本文,你将对协方差矩阵有全面的理解。 定义 一组随机变量,共n个: X ( X 1 , X 2 , . . . , X n ) T \mathbf{X}(X_1,X_2,...,X_n)^T X(X1​,X2​,...,Xn​)T 两个随机变量的协方差&am…

统计篇(四)-- 协方差矩阵的理解

本文将针对协方差矩阵做一个详细的介绍,其中包括协方差矩阵的定义、数学背景与意义、计算公式的推导、几何解释,主要整理自下面两篇博客: peghoty-关于协方差矩阵的理解:http://blog.csdn.net/itplus/article/details/11452743协…