【机器学习】05_决策树

一、 决策树基本概念

决策树是一种基于规则进行决策的监督学习方法

  • 模型结构 :由根节点(Root Node)、内部节点(Internal Node)和叶节点(Leaf Node)组成
    • 内部节点:对应属性测试(如:年龄是否 > 30)
    • 叶节点:对应最终的决策结果(如:见或不见、买或不买)
  • 学习本质:从训练数据中提取潜在的判断规则,将特征空间划分为互不相交的单元
  • 构建策略 :采用自顶向下的贪心算法,通过递归划分数据集,直到满足停止条件

二、 划分选择:核心算法与公式解析

决策树构建的关键在于如何选择"最优划分属性"。课件讲解了三种经典算法及其度量指标:

1. ID3 算法:基于信息增益(Information Gain)

ID3 核心是使用信息熵度量样本纯度 。

  • 信息熵公式:Ent(D)=−∑i=1kpilog⁡2piEnt(D) = -\sum_{i=1}^{k} p_i \log_2 p_iEnt(D)=−i=1∑kpilog2pi
    • 通俗解释:熵是衡量系统"混乱程度"的指标。如果一个集合里全是同一类样本,熵为 0(最纯);如果各类样本均匀混合,熵最大
  • 信息增益公式:Gain(D,a)=Ent(D)−∑v=1V∣Dv∣∣D∣Ent(Dv)Gain(D, a) = Ent(D) - \sum_{v=1}^{V} \frac{|D^v|}{|D|} Ent(D^v)Gain(D,a)=Ent(D)−v=1∑V∣D∣∣Dv∣Ent(Dv)
    • 通俗解释 :增益 = 划分前的熵 - 划分后的熵。增益越大,说明用属性 aaa 划分后,数据集的纯度提升越明显

2. C4.5 算法:基于增益率(Gain Ratio)

ID3 倾向于选择取值较多的属性(例如"学号"),C4.5 引入了**固有值(Intrinsic Value)**作为分母进行平衡

  • 公式 :Gain_ratio(D,a)=Gain(D,a)IV(a)Gain\_ratio(D, a) = \frac{Gain(D, a)}{IV(a)}Gain_ratio(D,a)=IV(a)Gain(D,a)

3. CART 算法:基于基尼指数(Gini Index)

CART 既能分类也能回归,且生成的树一定是二叉树

  • 基尼值公式Gini(D)=1−∑i=1kpi2Gini(D) = 1 - \sum_{i=1}^{k} p_i^2Gini(D)=1−i=1∑kpi2
    • 通俗解释:基尼值反映了从数据集中随机抽取两个样本,其类别不一致的概率。基尼值越小,纯度越高。CART 选择基尼指数最小的属性作为最优切分点

三、 剪枝处理:防止过拟合

由于决策树容易在训练集上"过度学习"导致泛化能力差,需要进行正则化,即剪枝

  • 前剪枝(Prepruning):在生成过程中,若划分不能带来正确率提升,则停止划分
  • 后剪枝(Postpruning):先生成完整的树,再从底向上评估,若剪掉分枝不降低准确率则执行剪枝。通常后剪枝效果更好
  • 代价函数(晦涩点解析):Cα(T)=∑t=1∣T∣NtEnt(t)+α∣T∣C_{\alpha}(T) = \sum_{t=1}^{|T|} N_t Ent(t) + \alpha |T|Cα(T)=t=1∑∣T∣NtEnt(t)+α∣T∣
    • 解析 :该公式分为两部分,左边代表"模型对训练数据的拟合程度",右边 α∣T∣\alpha|T|α∣T∣ 代表"模型的复杂度(叶子节点数)"。超参数 α\alphaα 越大,越倾向于简单的树,从而提高泛化能力

四、 连续属性与缺失值处理

  • 连续属性 :通常使用二分法离散化。将数值从小到大排序,取每两个相邻值的中位数为候选划分点,计算信息增益,选最优者
  • 缺失值:计算信息增益时,仅基于无缺失样本进行,并乘以一个权重系数(无缺失样本占比)

五、 回归决策树

当用于回归任务时,CART 被称为"最小二乘回归树" 28。

  • 原理 :它将特征空间划分为多个区域,每个区域的预测值 c^\hat{c}c^ 是该区域内所有样本标记的均值
  • 划分准则 :寻找最优切分特征和切分点,使得两个划分区域的平方误差和最小

知识点总结表

特性 ID3 C4.5 CART
度量指标 信息增益 31 增益率 32 基尼指数 33
树结构 多叉树 34 多叉树 二叉树 35
任务类型 分类 分类 分类 & 回归 36
属性处理 离散值 离散 & 连续 37 离散 & 连续
相关推荐
HAREWORK_FFF16 小时前
近几年,非技术岗转向AI岗位的现实可能性
人工智能
weixin_66817 小时前
深度分析:多模态、全模态、VLM、ASR、TTS、STT、OCR- AI分析分享
人工智能
LeonDL16817 小时前
基于YOLO11深度学习的衣物识别系统【Python源码+Pyqt5界面+数据集+安装使用教程+训练代码】【附下载链接】
人工智能·python·pyqt5·yolo数据集·yolo11数据集·yolo11深度学习·衣物识别系统
犀思云17 小时前
企业总部网络全球化扩张:利用FusionWAN NaaS 破解“网络成本瓶颈”
网络·人工智能·机器人·智能仓储·专线
Data_Journal17 小时前
如何使用 Python 解析 JSON 数据
大数据·开发语言·前端·数据库·人工智能·php
陈天伟教授17 小时前
人工智能应用- 语言理解:09.大语言模型
人工智能·语言模型·自然语言处理
ASS-ASH17 小时前
AI时代之向量数据库概览
数据库·人工智能·python·llm·embedding·向量数据库·vlm
老百姓懂点AI17 小时前
[微服务] Istio流量治理:智能体来了(西南总部)AI调度官的熔断策略与AI agent指挥官的混沌工程
人工智能·微服务·istio
Daydream.V17 小时前
逻辑回归实例问题解决(LogisticRegression)
算法·机器学习·逻辑回归
芝士爱知识a17 小时前
2026年教资备考数字化生存指南:主流App深度测评与AI技术应用分析
人工智能·教资·ai教育·教育技术·教资面试·app测评·2026教资