一、 决策树基本概念
决策树是一种基于规则进行决策的监督学习方法
- 模型结构 :由根节点(Root Node)、内部节点(Internal Node)和叶节点(Leaf Node)组成
- 内部节点:对应属性测试(如:年龄是否 > 30)
- 叶节点:对应最终的决策结果(如:见或不见、买或不买)
- 学习本质:从训练数据中提取潜在的判断规则,将特征空间划分为互不相交的单元
- 构建策略 :采用自顶向下的贪心算法,通过递归划分数据集,直到满足停止条件
二、 划分选择:核心算法与公式解析
决策树构建的关键在于如何选择"最优划分属性"。课件讲解了三种经典算法及其度量指标:
1. ID3 算法:基于信息增益(Information Gain)
ID3 核心是使用信息熵度量样本纯度 。
- 信息熵公式:Ent(D)=−∑i=1kpilog2piEnt(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 | 离散 & 连续 |