统计学习方法(第二版) 第五章 决策树

embedded/2025/1/11 17:45:04/

本章主要讨论决策树模型,以及生成、剪枝和分类的方法。

剪枝方法的补充

统计学习方法(第二版) 第五章 补充-CSDN博客

目录

基础数学知识:

1.自信息量

2.互信息

3.平均自信息量和熵

4.熵函数的性质

5.联合熵和条件熵

6.平均互信息量(信息增益)

7.平均互信息量的性质

前言

一、决策树模型与学习

1.决策树模型

2.决策树与if-then规则(了解一下)

3.决策树与条件概率分布

4.决策树的学习

二、特征选择

1.特征选择问题

2.信息增益

3.信息增益比

三、决策树的生成

1.ID3的生成算法

2.C4.5的生成算法

四、决策树的剪枝

五、CART算法(Classification and Regression Tree)

1.CART的生成

回归树的生成

分类树的生成

2.CART的剪枝

剪枝,形成一个子树序列

使用交叉验证从子树集中挑选决策树

六、基尼指数、信息增益和信息增益比的区别

总结


基础数学知识:

1.自信息量

我的理解自信息量就是,假设一个事件发生的概率为p,p越小,事件发生的概率就越小,那这件事情的不确定性就越大,当这件事情发生时所提供的信息量就越多。相反,p越大,事件发生的概率就越大,这件事情的不确定性就越小(或者确定性就越大),所以当这件事情发生时所提供的信息量就越少。

2.互信息

3.平均自信息量和熵

熵表示事件整体的不确定度。其实就是人对事件整体的把握。

熵越大,随机变量的不确定性就越大。

根据熵函数的定义来的。

4.熵函数的性质

  1. 对称性
  2. 确定性
  3. 非负性
  4. 扩展性
  5. 连续性
  6. 递推性

5.联合熵和条件熵

6.平均互信息量(信息增益)

个人对平均互信息量的理解:

        平均互信息量 = 随机变量X的不确定度 - 随机变量Y发生时随机变量X的不确定度

        这两个相减就是随机变量Y发生时给随机变量X带来的信息量。

平均互信息量越大,说明随机变量Y发生时给随机变量X带来的信息量越大,随机变量Y发生时给随机变量X不确定性减小程度大。

7.平均互信息量的性质

  1. 非负性
  2. 互易性(对称性)
  3. 极值性
  4. 凸函数性


前言

介绍这么多基础数学知识方便更好理解,决策树的主要优点是模型具有可读性,分类速度快,学习时,利用训练数据,根据损失函数最小化原则建立决策树。预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。

本章首先介绍决策树的基本概念,然后通过ID3和C4.5介绍特征选择、决策树的生成以及决策树的修剪,最后介绍CART算法。

有人说你学这么多算法懂原理有啥用,最后会用就行还不是调参数,也许在现实生活中的要求或许说的对,经历从小学,中学,高中,大学,研究生都是靠分选拔,没人验证你是做题机器,也没人在意你是否会的那么多,分高就可以了,但对于自己来说,在为了考高分的学习过程中,对于问题的深入理解就没那么重要了,但你是否会产生疑惑,为什么是这样的,为什么这么做呢,这些对我来说具有很大的信息量,对于结果的好坏来说是其次的,虽然可能这些东西真的对现实没有什么作用,但这些对问题深入理解,思考的过程永远会成为我身体的一部分。


一、决策树模型与学习

1.决策树模型

2.决策树与if-then规则(了解一下)

        在人工智能机器学习领域,if-then规则是一种常见的逻辑结构,用于从给定的条件推导出结论或行动。这种规则在模糊逻辑和决策树算法中尤为重要,因为它们提供了一种方式来处理不确定性和复杂性。

模糊逻辑中的if-then规则(不重要)

        模糊逻辑是一种处理不确定性和模糊性的逻辑系统,它允许变量具有部分真实性。在模糊逻辑中,if-then规则用于定义模糊变量之间的关系。这些规则通常形式化为“如果X是A,则Y是B”,其中A和B是模糊集,代表了输入和输出变量的模糊值。

        例如,一个简单的模糊逻辑规则可能是:“如果温度是热的,则风扇速度是高的”。在这里,“热”和“高”是模糊集,它们通过隶属函数来定义,这些函数描述了每个集合中元素的隶属度。模糊逻辑系统会根据这些规则和输入数据来计算输出的模糊值。

决策树中的if-then规则

        决策树是一种预测模型,它通过一系列的if-then规则来决定一个实例应该被分类到哪个类别。在决策树中,每个内部节点代表一个属性的测试,每个分支代表测试的结果,每个叶节点代表一个类别。

        构建决策树时,算法会选择最能提高分类准确性的属性作为节点。这通常是通过计算信息增益或其他类似的度量来实现的。一旦决策树被构建,它可以用来对新的实例进行分类,通过从根节点开始,根据实例的属性值沿着树向下移动,直到达到一个叶节点,该叶节点的类别就是实例的预测类别。

重要考虑因素

        在使用if-then规则时,需要考虑规则的覆盖范围和准确性。覆盖范围指的是规则适用的实例数量,而准确性指的是规则正确预测的实例比例。在设计模糊逻辑系统或决策树时,通常需要在这两者之间找到一个平衡点。

此外,if-then规则的解释性也很重要。规则越简单,越容易被人理解,其解释性就越强。这在决策树中尤其重要,因为决策树的可读性是其主要优势之一。

总的来说,if-then规则在模糊逻辑和决策树算法中扮演着核心角色,它们提供了一种直观的方式来表示和处理数据的不确定性和复杂性。

3.决策树与条件概率分布

4.决策树的学习

二、特征选择

按我自己的理解:

        特征选择:寻找一个好的特征更好的将类别分开,而怎么评价一个特征是好特征呢,这就是特征选择的准则,通常是信息增益或信息增益比。

1.特征选择问题

2.信息增益

3.信息增益比

信息增益比的作用

  • 信息增益比通过除以特征的固有值来减少信息增益对取值多样性的偏好,从而对那些取值非常多但没有实际分类能力的特征进行惩罚。

  • 在决策树构建过程中,选择信息增益比最大的特征进行划分。这种方法可以有效避免信息增益在面对高取值数特征时的偏向。

可以看到分母如果某特征的取值非常多且每个取值对应的数据量很少,分母值会很大,这会降低信息增益比的值。

三、决策树的生成

1.ID3的生成算法

2.C4.5的生成算法

在ID3生成算法的基础上把特征选择标准信息增益换成信息增益比。

四、决策树的剪枝

这里只介绍一种简单的剪枝算法,决策树的剪枝有很多种,后续在补吧。

五、CART算法(Classification and Regression Tree)

1.CART的生成

回归树的生成

分类树的生成

2.CART的剪枝

CART的剪枝采用代价-复杂度剪枝(CCP)。

回顾代价-复杂度剪枝(CCP)

CART的剪枝思想(个人理解):根据损失函数,通过对α的从小到大进行递增来产生,n个决策树,在利用交叉验证选择一个最好的决策树,α的取值以每次内部结点(非叶节点)可以剪枝的值进行递增。

故CART剪枝主要有两个步骤:

1.剪枝,形成一个子树序列。

2.从子树序列中找出一个最好的决策树,使用交叉验证的方法。

根据代价——复杂度剪枝(CCP)

对于一个内部结点(非叶结点)可以进行剪枝的α临界值为:

剪枝,形成一个子树序列

使用交叉验证从子树集中挑选决策树

六、基尼指数、信息增益和信息增益比的区别

        如果大家看到这里非常感谢大家,我知道有些知识仅通过问题来展现不是很好理解并且枯燥乏味,最后大家可能对为什么ID3采用信息增益,C4.5采用信息增益比,而CART采用基尼指数?

信息增益和信息增益率通常用于离散型的特征划分,ID3和C4.5通常情况下都是多叉树,也就是根据离散特征的取值会将数据分到多个子树中;而CART树为二叉树,使用基尼指数作为划分准则,对于离散型特征和连续行特征都能很好的处理。

经过两天的学习,终于写完了!最后大家有任何疑问可以加QQ:2632814845 备注:机器学习 ,在这里欢迎对问题的探讨。


总结


http://www.ppmy.cn/embedded/153075.html

相关文章

蓝桥杯嵌入式速通(1)

1.工程准备 创建一文件夹存放自己的代码,并在mdk中include上文件夹地址 把所有自身代码的头文件都放在headfile头文件中,之后只需要在新的文件中引用headfile即可 headfile中先提前可加入 #include "stdio.h" #include "string.h"…

在离线环境中安装 `.rpm` 包的步骤

在一些环境中,可能无法直接通过网络安装软件包。特别是在没有互联网连接的情况下,我们仍然可以手动下载 .rpm 安装包并进行离线安装。本文将介绍如何在离线环境中安装多个 .rpm 包,确保软件的顺利安装和依赖关系的处理。 1. 将 .rpm 文件复制…

sql 函数

# 四则运算 - * / # 函数 distinct 、count、sum、max、min、avg、sum、round select concat(device_id 是,device_id ) device_id from device_id_apply_factor where device_id D6A42CE6A0; select concat_ws(|||,device_id ,factor_a ,module_type) from 、device_id_app…

SSL 证书格式和证书文件扩展名:完整指南

SSL 证书是什么以及它如何工作相当容易理解。但当涉及到在服务器上安装它时,有时,你可能觉得这是在处理火箭科学。 由于有如此多的SSL 证书格式与特定服务器要求相关,您更有可能感到困惑和沮丧,而不是从一开始就正确配置证书。但…

热门力反馈手套对比,机器人遥操作完美解决方案

随着机器人技术的快速发展,遥操作机器人作为代替人类在危险环境中完成高危任务或在医疗领域完成远程精密手术的完美解决方案,正在快速进步,并有望成为拥有巨大潜力的机器人行业的全新发展方向。 本文将就推动机器人遥操作领域发展的力反馈手…

python初体验: 处理excel数据

一. data.xlsx 二.python代码 import pandas as pd# 读取 Excel 文件 df pd.read_excel(./data.xlsx, sheet_nameSheet1, usecols[Name, Age, City])# 查看数据 print(df.head())# 筛选数据 df_filtered df[df[Age] > 30]# 添加新列 df_filtered[Salary] df_filtered[Ag…

AI刷题-异或编码、拼凑单词 chi

目录 一、异或编码 问题描述 测试样例 解题思路: 问题理解 解题思路 数据结构选择 算法步骤 最终代码: 运行结果: 二、拼凑单词 chi 问题描述 测试样例 解题思路: 问题理解 数据结构选择 算法步骤 最终代码&a…

如何用Python编程实现自动整理XML发票文件

传统手工整理发票耗时费力且易出错,而 XML 格式发票因其结构化、标准化的特点,为实现发票的自动化整理与保存提供了可能。本文将详细探讨用python来编程实现对 XML 格式的发票进行自动整理。 一、XML 格式发票的特点 结构化数据:XML 格式发票…