Skip to Content
Machine Learning

Decision Tree

2019-04-14Original-language archivelegacy assets may be incomplete

决策树算法

  • 当前节点包含样本全部同类:标记为该类
  • 当前样本属性值为空/取值相同:标记为最多一类
  • 属性划分选择
  • 为属性每个值分配一个结点继续执行算法
    • 若某属性值上为空则标记为当前最多一类

划分选择

指标名称 指标 辅助函数 例子 Remark
Information Gain Gain(D,a)=Ent(D)v=1VDvDEnt(Dv)\text{Gain}(D,a)=\text{Ent}(D)-\sum_{v=1}^{V}\frac{\vert D^v\vert }{\vert D\vert }\text{Ent}(D^v) Ent(D)=k=1Ypklog2pk\text{Ent}(D)=-\sum_{k=1}^{ \vert Y \vert }p_k\log_2p_k ID3 对可取值数目较多的属性有偏好
Gain ratio Gain-ratio(D,a)=Gain(D,a)IV(a)\text{Gain-ratio}(D,a)=\frac{\text{Gain}(D,a)}{\text{IV}(a)} IV(a)=v=1VDvDlog2DvD\text{IV}(a)=-\sum_{v=1}^{V}\frac{\vert D^v\vert}{\vert D\vert}log_2\frac{\vert D^v\vert}{\vert D\vert} C4.5 从候选划分中找出信息增益高于平均水平的属性,再从中选择增益率最高的
Gini ratio Gini-index(D,a)=v=1VDvDGini(Dv)\text{Gini-index}(D,a)=\sum_{v=1}^V\frac{\vert D^v\vert}{\vert D\vert}\text{Gini}(D^v) Gini(D)=1k=1Ypk2\text{Gini}(D)=1-\sum_{k=1}^{\vert Y\vert}p_k^2 CART Gini 指数为随机抽取两个样本类别标记不一致的概率,越小纯度越高

剪枝处理

方法 指标 过拟合 欠拟合 训练时间
预剪枝 Precision 降低过拟合风险 有欠拟合风险 较小
后剪枝 Precision 降低过拟合风险 欠拟合风险小 较长

连续与缺失值

  • 连续属性离散化(二分法)
    • Ta={ai+ai+121in1}T_a=\{\frac{a^i+a^{i+1}}{2}|1\leq i\leq n-1\}
    • Gain(D,a,t)\text{Gain}(D,a,t)
  • 缺失值
    • D~\tilde{D}: DD在属性 aa 上没有缺失值的样本子集
    • D~v\tilde{D}^v: D~\tilde{D} 中属性 aa 上取值为 ava^v 的样本子集
    • D~k\tilde{D}_k: D~\tilde{D} 中类别为 kk 的样本子集
    • ωx\omega_x: 每个样本的权重
    • ρ=xD~ωxxDωx\rho=\frac{\sum_{x\in\tilde{D}}\omega_x}{\sum_{x\in D}\omega_x} 属性 aa 无缺失样本所占比例
    • p~k=xD~kωxxDωx\tilde{p}_k=\frac{\sum_{x\in\tilde{D}_k}\omega_x}{\sum_{x\in D}\omega_x} 无缺失样本中第 kk 类占比
    • r~v=xD~vωxxDωx\tilde{r}_v=\frac{\sum_{x\in\tilde{D}^v}\omega_x}{\sum_{x\in D}\omega_x} 无缺失样本中属性 a 取值 ava^v 占比
    • Ent(D~)=k=1Yp~klog2p~k\text{Ent}(\tilde{D})=-\sum_{k=1}^{|Y|}\tilde{p}_k\log_2\tilde{p}_k
    • Gain(D,a)=ρGain(D~,a)=ρ(Ent(D~)v=1Vr~vEnt(D~v))\text{Gain}(D,a)=\rho*\text{Gain}(\tilde{D},a)=\rho*(\text{Ent}(\tilde{D})-\sum_{v=1}^V\tilde{r}_v\text{Ent}(\tilde{D}^v))

多变量决策树

  • 每个叶节点用 i=1dwiai=t\sum_{i=1}^dw_ia_i=t 的线性分类器
  • 特征预处理