【机器学习】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 离散 & 连续
相关推荐
GISer_Jing2 小时前
AI自动化工作流:智能驱动未来(升级研究生项目!!!)
人工智能·前端框架·自动化
草捏子2 小时前
Agent Skills:让 AI 一次学会、永远记住的能力扩展方案
人工智能
NocoBase2 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
后端小肥肠2 小时前
OpenClaw实战|从识图到公众号内容自动化,我跑通了完整链路
人工智能·aigc·agent
Elastic 中国社区官方博客2 小时前
快速 vs. 准确:衡量量化向量搜索的召回率
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
qq_381338502 小时前
【技术日报】2026-03-18 AI 领域重磅速递
大数据·人工智能
NocoBase2 小时前
开源项目管理工具选型指南(2026年最新)
人工智能·开源·无代码
feasibility.3 小时前
AI 爬虫高手养成:Openclaw+Scrapling 手动部署 + 采集策略(以Walmart 电商平台为例)
人工智能·爬虫·科技·机器人·agi·openclaw·scrapling
程序员老猫3 小时前
前端菜鸡狂喜!DeepSeek+Gemini,嘴炮出完整博客方案
人工智能
AI周红伟3 小时前
周红伟:《OpenClaw安全防控:OpenClaw++Skills智能体安全部署、实操和企业应用实操》
人工智能·阿里云·云计算·腾讯云·openclaw