机器学习(八):决策树算法

一,if-else原理

决策树算法是以if-else来形成的,if-else它的用法就是:if 后跟判断条件,如果判断为真,也即满足条件,就执行 if 下的代码段,否则执行 else 下的代码段

例如我们假如要判断一个房子的房租,可以大概按如下所示流程:

这是由 if-else 来组成的,也是一颗典型的树形结构"二叉树"

二,决策条件

分类问题的数据集由许多样本构成,而每个样本数据又会有多个特征维度。数据样本的特征维度与最终样本的分类都可能存在着某种关联,因此决策树的判别条件将从特征维度集中产生。

那么应该如何选择判别条件,也就是提问问题呢

1,纯度

引入了"纯度"的概念,是对单一类样本在子集内所占重的的度量。 在每一次判别结束后,如果集合中归属于同一类别的样本越多,那么就说明这个集合的纯度就越高。

纯度函数 横轴表示某个类的占比,纵轴表示纯度值,首先某个类达到最大值,或者最小值时,纯度达到最高值,然后,当某一个类的占比达到 0.5 时,纯度将取得最低值。得如下图像:

纯度度量函数 纯度值越低意味着损失值越高,反之则越低。如下图所示:

2,信息熵

信息熵是借鉴热熵的概念,是用于衡量不确定性的指标,也就是离散随机事件出现的概率,情况越混乱,信息熵越大。香农公式如下:

p 代表概率的意思,这里 "X" 表示进行信息熵计算的集合

3,ID3算法-信息增益

最著名的决策树算法有三种,分别是 ID3、C4.5 和 CART,这里主要讲一下ID3算法。 在ID3算法中如何利用信息熵从特征集合中选择决策条件呢?

ID3 算法的核心思想:越小型的决策树越优于大的决策树,也就是使用尽可能少的判别条件。从香农的"信息论"中可以得知,ID3 算法选择信息增益最大的特征维度进行 if -else 判别。

信息增益

信息增益是针对一个具体的特征而言的,某个特征的有无对于整个系统、集合的影响程度就可以用"信息增益"来描述。

经过一次 if-else 判别后,原来的类别集合就被分裂成两个集合,而我们的目的是让其中一个集合的某一类别的"纯度"尽可能高,如果分裂后子集的纯度比原来集合的纯度要高,那就说明这是一次 if-else 划分是有效过的。

通过比较使的"纯度"最高的那个划分条件,也就是我们要找的"最合适"的特征维度判别条件。

可以采用信息熵来计算信息增益值,用划分前集合的信息熵减去按特征维度属性划分后的信息熵

最后,比较不同特征属性的信息增益,增益值越大,说明子集的纯度越高,分类的效果就越好,我们把效果最好的特征属性选为 if-else 的最佳判别条件。

三,决策树算法原理

决策树的目标就是得到纯度更高的集合,这个过程就可以叫提纯。

决策树算法通过判别条件从根节点开始分裂为子节点,子节点可以继续分裂,每一次分裂都相当于一次对分类结果的"提纯",周而复始,从而达到分类的目的,在这个过程中,节点为"否"的不在分裂,判断为"是"的节点则继续分裂。

由三种停止的方式:

  • 子节点属于同一类别:分类后的子节点集合都属于同一个类别,不可再分
  • 特征属性用完:既然是从特征属性挑选的判断条件,那么就有用完的可能性;当用完还没完成分类的时候,用占比较大的类作为节点的归属类
  • 手动停止:像设置决策树层数,节点个数等作为停止判断条件

四,剪枝策略

决策树会根据数据集各个维度的重要性来选择 if -else 分支,如果决策树将所有的特征属性都用完的情况下,那么过拟合现象就很容易出现。

要如何解决这种过拟合问题呢?这时就要用到"剪枝策略"。 可以分成两种,一种称为预剪枝,另一种称 为后剪枝。

1,预剪枝 即在分支划分前就进行剪枝判断,如果判断结果是需要剪枝,则不进行该分支划分。

2,后剪枝 决策树的各个判断分支已经形成后,才开始进行剪枝判断。

剪枝的意思就是减少特征属性的介入

相关推荐
格林威8 分钟前
Halcon vs OpenCV 保存图像速度对比测试
人工智能·深度学习·opencv·机器学习·计算机视觉·halcon·工业相机
Fleshy数模20 分钟前
从基础到实战:词向量转换在评价文本分析中的应用
爬虫·python·机器学习
资深web全栈开发41 分钟前
迁移学习:站在巨人的肩膀上
人工智能·机器学习·迁移学习
HyperAI超神经1 小时前
在线教程丨免费CPU资源快速部署,覆盖Qwen3.5/DeepSeek-R1/Gemma 3/Llama 3.2等热门开源模型
人工智能·深度学习·学习·机器学习·ai编程·llama·vllm
集芯微电科技有限公司1 小时前
700V/1.6A单通道GaN FET增强型驱动器具有零反向恢复损耗
人工智能·单片机·嵌入式硬件·深度学习·神经网络·机器学习·生成对抗网络
飞Link1 小时前
降维打击聚类难题:高斯混合模型 (GMM) 深度解析与实战
人工智能·算法·机器学习·数据挖掘·聚类
智能交通技术1 小时前
iTSTech:世界模型的发展——在自动驾驶中的应用 2026
人工智能·机器学习·自动驾驶
智算菩萨1 小时前
元推理(Meta-Reasoning):让模型学会判断何时需要更深思考
人工智能·深度学习·机器学习·ai
乾元1 小时前
本地大模型:如何在内网部署 Llama/Qwen 等安全增强模型
运维·网络·人工智能·安全·机器学习·llama·安全架构
OpenBayes贝式计算1 小时前
教程上新丨微软开源3D生成模型TRELLIS.2,3秒生成高分辨率的全纹理资产
人工智能·深度学习·机器学习