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

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

剪枝方法的补充

统计学习方法(第二版) 第五章 补充-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)](#五、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 备注:机器学习 ,在这里欢迎对问题的探讨。


总结

相关推荐
Ven%4 小时前
如何让后台运行llamafactory-cli webui 即使关掉了ssh远程连接 也在运行
运维·人工智能·chrome·python·ssh·aigc
Jeo_dmy4 小时前
(七)人工智能进阶之人脸识别:从刷脸支付到智能安防的奥秘,小白都可以入手的MTCNN+Arcface网络
人工智能·计算机视觉·人脸识别·猪脸识别
睡觉狂魔er6 小时前
自动驾驶控制与规划——Project 5: Lattice Planner
人工智能·机器学习·自动驾驶
xm一点不soso6 小时前
ROS2+OpenCV综合应用--11. AprilTag标签码跟随
人工智能·opencv·计算机视觉
云卓SKYDROID7 小时前
无人机+Ai应用场景!
人工智能·无人机·科普·高科技·云卓科技
是十一月末7 小时前
机器学习之过采样和下采样调整不均衡样本的逻辑回归模型
人工智能·python·算法·机器学习·逻辑回归
小禾家的7 小时前
.NET AI 开发人员库 --AI Dev Gallery简单示例--问答机器人
人工智能·c#·.net
生信碱移7 小时前
万字长文:机器学习的数学基础(易读)
大数据·人工智能·深度学习·线性代数·算法·数学建模·数据分析
KeyPan7 小时前
【机器学习:四、多输入变量的回归问题】
人工智能·数码相机·算法·机器学习·计算机视觉·数据挖掘·回归
码力全開7 小时前
C 语言奇幻之旅 - 第14篇:C 语言高级主题
服务器·c语言·开发语言·人工智能·算法