简介
思维导图
决策树包含一个根结点、若干个内部结点和若干个叶结点;
叶结点对应决策结果,根结点包含样本全集。
从根结点到叶结点的路径对应了一个判定测试序列。
划分选择
如何选择最优划分属性→结点的纯度最高
信息增益(ID3决策树)
信息熵:度量样本集合纯度的一种指标。
Ent ( D ) = − ∑ k = 1 ∣ Y ∣ p k log 2 p k \operatorname{Ent}(D)=-\sum_{k=1}^{|\mathcal{Y}|} p_{k} \log _{2} p_{k} Ent(D)=−k=1∑∣Y∣pklog2pk
根据信息熵的最值问题,Ent(D)的最小值为0,最大值为 l o g 2 ∣ Y ∣ log_2|\mathcal{Y}| log2∣Y∣。
信息熵越小,纯度越高。
信息增益:
Gain ( D , a ) = Ent ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Ent ( D v ) \operatorname{Gain}(D, a)=\operatorname{Ent}(D)-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Ent}\left(D^{v}\right) Gain(D,a)=Ent(D)−v=1∑V∣D∣∣Dv∣Ent(Dv)
信息增益越大,意味着使用该属性进行划分所获得的纯度提升越大。
缺点:对可取值数目较多的属性有所偏好。
信息增益率(C4.5决策树)
G a i n _ r a t i o ( D , a ) = Gain ( D , a ) IV ( a ) Gain\_ratio(D, a)=\frac{\operatorname{Gain}(D, a)}{\operatorname{IV}(a)} Gain_ratio(D,a)=IV(a)Gain(D,a)
其中, I V ( a ) \mathrm{IV}(a) IV(a)为属性a的固有值:
I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log 2 ∣ D v ∣ ∣ D ∣ \mathrm{IV}(a)=-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \log _{2} \frac{\left|D^{v}\right|}{|D|} IV(a)=−v=1∑V∣D∣∣Dv∣log2∣D∣∣Dv∣
缺点:信息增益率对可取值数目较少的属性有所偏好
C4.5策略:先取信息增益高于平均水平的属性,再用信息增益率筛选
基尼指数(CART决策树)
基尼值:
Gini ( D ) = ∑ k = 1 ∣ Y ∣ ∑ k ′ ≠ k p k p k ′ = 1 − ∑ k = 1 ∣ Y ∣ p k 2 \begin{aligned}\operatorname{Gini}(D) &=\sum_{k=1}^{|\mathcal{Y}|} \sum_{k^{\prime} \neq k} p_{k} p_{k^{\prime}} \\&=1-\sum_{k=1}^{|\mathcal{Y}|} p_{k}^{2}\end{aligned} Gini(D)=k=1∑∣Y∣k′=k∑pkpk′=1−k=1∑∣Y∣pk2
反映了从数据集中随机抽取两个样本,其类别标记不一致的概率
基尼指数:
G i n i _ i n d e x ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Gini ( D v ) Gini\_index(D, a)=\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Gini}\left(D^{v}\right) Gini_index(D,a)=v=1∑V∣D∣∣Dv∣Gini(Dv)
在候选属性集合A中,选择划分后基尼指数最小的属性,即 a ∗ = arg min a ∈ A G i n i _ i n d e x ( D , a ) a_{*}=\underset{a \in A}{\arg \min } Gini\_index(D, a) a∗=a∈AargminGini_index(D,a)
剪枝处理
用以对付“过拟合”的手段
预剪枝
在决策树生成过程中,对每个结点在划分前估计当前结点的划分能不能带来决策树泛化性能的提升,若不能,则标记为叶结点
优点:减少训练时间开销和预测时间开销
缺点:后续分支被剪除可能带来欠拟合的风险
后剪枝
先从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能否带来决策树泛化性能地提升,若能,则替换为叶结点
优点:泛化性能往往更优,欠拟合风险小
缺点:训练时间开销大得多
连续与缺失值
连续值处理
C4.5采用二分法对连续属性进行处理
训练值的n个元素共产生n-1个元素的候选划分点集合
T a = { a i + a i + 1 2 ∣ 1 ⩽ i ⩽ n − 1 } T_{a}=\left\{\frac{a^{i}+a^{i+1}}{2} \mid 1 \leqslant i \leqslant n-1\right\} Ta={2ai+ai+1∣1⩽i⩽n−1}
通过下式选取最优的划分点:
Gain ( D , a ) = max t ∈ T a Gain ( D , a , t ) = max t ∈ T a Ent ( D ) − ∑ λ ∈ { − , + } ∣ D t λ ∣ ∣ D ∣ Ent ( D t λ ) \begin{aligned}\operatorname{Gain}(D, a) &=\max _{t \in T_{a}} \operatorname{Gain}(D, a, t) \\&=\max _{t \in T_{a}} \operatorname{Ent}(D)-\sum_{\lambda \in\{-,+\}} \frac{\left|D_{t}^{\lambda}\right|}{|D|} \operatorname{Ent}\left(D_{t}^{\lambda}\right)\end{aligned} Gain(D,a)=t∈TamaxGain(D,a,t)=t∈TamaxEnt(D)−λ∈{−,+}∑∣D∣∣∣Dtλ∣∣Ent(Dtλ)
其中, D t − D_t^- Dt−表示属性a上取值不大于t, D t + D_t^+ Dt+表示大于t
与离散属性不同,若当前结点划分属性为连续属性,该属性还可作为后代结点的划分属性
缺失值处理
C4.5使用如下方案:
选取最优划分属性
Gain ( D , a ) = ρ × Gain ( D ~ , a ) = ρ × ( Ent ( D ~ ) − ∑ v = 1 V r ~ v Ent ( D ~ v ) ) \begin{aligned}\operatorname{Gain}(D, a) &=\rho \times \operatorname{Gain}(\tilde{D}, a) \\&=\rho \times\left(\operatorname{Ent}(\tilde{D})-\sum_{v=1}^{V} \tilde{r}_{v} \operatorname{Ent}\left(\tilde{D}^{v}\right)\right)\end{aligned} Gain(D,a)=ρ×Gain(D~,a)=ρ×(Ent(D~)−v=1∑Vr~vEnt(D~v))
其中
ρ = ∑ x ∈ D ~ w x ∑ x ∈ D w x p ~ k = ∑ x ∈ D ~ k w x ∑ x ∈ D ~ w x ( 1 ⩽ k ⩽ ∣ Y ∣ ) r ~ v = ∑ x ∈ D ~ v w x ∑ x ∈ D ~ w x ( 1 ⩽ v ⩽ V ) \begin{aligned}\rho &=\frac{\sum_{\boldsymbol{x} \in \tilde{D}} w_{\boldsymbol{x}}}{\sum_{\boldsymbol{x} \in D} w_{\boldsymbol{x}}} \\\tilde{p}_{k} &=\frac{\sum_{\boldsymbol{x} \in \tilde{D}_{k}} w_{\boldsymbol{x}}}{\sum_{\boldsymbol{x} \in \tilde{D}} w_{\boldsymbol{x}}} \quad(1 \leqslant k \leqslant|\mathcal{Y}|) \\\tilde{r}_{v} &=\frac{\sum_{\boldsymbol{x} \in \tilde{D}^{v}} w_{\boldsymbol{x}}}{\sum_{\boldsymbol{x} \in \tilde{D}} w_{\boldsymbol{x}}} \quad(1 \leqslant v \leqslant V)\end{aligned} ρp~kr~v=∑x∈Dwx∑x∈D~wx=∑x∈D~wx∑x∈D~kwx(1⩽k⩽∣Y∣)=∑x∈D~wx∑x∈D~vwx(1⩽v⩽V)
ρ \rho ρ表示无缺失值样本所占比例
p ~ k \tilde{p}_{k} p~k表示无缺失值样本中第k类所占比例
r ~ v \\\tilde{r}_{v} r~v 表示无缺失值样本中在属性a上取值为 a v a^v av的样本所占比例
给定划分属性,如何对缺失值样本划分
按比例同时进入多个分支(按各自进入的样本比例给定权重)
多变量决策树
决策树所形成的分类边界特点:轴平行
当真实分类边界复杂时,需要很多段划分才能获得较好的近似
- 多变量决策树能实现斜划分以及更复杂的划分,非叶结点不再是仅对某个属性,而是对属性的线性组合进行测试
- 每个非叶结点是一个形如 ∑ i = 1 d w i a i = t \sum_{i=1}^{d} w_{i} a_{i}=t ∑i=1dwiai=t的线性分类器,其中 w i w_i wi是属性 a i a_i ai的权重, w i w_i wi和t通过训练学习得到