第4章 决策树

文章目录

4.2 划分选择

4.2.1 信息增益

信息熵

假定当前样本集合 D D D 中第 k k k 类样本所占的比例为 p k ( k = 1 , 2 , … , ∣ Y ∣ p_k (k=1,2, \dots,\lvert\mathcal{Y}\rvert pk​(k=1,2,…,∣Y∣ ,则 D D D 的信息熵1定义为

Ent ( D ) = − ∑ k = 1 ∣ Y ∣ p k log ⁡ 2 p k \text{Ent}(D)=-\sum_{k=1}^{\lvert\mathcal{Y}\rvert}p_k\log_2p_k Ent(D)=−k=1∑∣Y∣​pk​log2​pk​

信息增益

假定离散属性 a a a 有 V V V 个可能的取值 a 1 , a 2 , … , a V {a^1, a^2,\dots,a^V} a1,a2,…,aV,若使用 a a a 来对样本集 D D D 进行划分,则会产生 V V V 个分支结点,其中第 v v v 个分支结点包含了 D D D 中所有在属性 a a a 上取值为 a v a^v av 的样本,记为 D v D^v Dv,可计算出用属性 a a a 对样本集 D D D 进行划分所获得的“信息增益”

Gain ( D , a ) = Ent ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Ent ( D v ) \text{Gain}(D, a) = \text{Ent}(D) - \sum_{v=1}^{V} \frac{\lvert D^v\rvert}{\lvert D \rvert} \text{Ent}(D^v) Gain(D,a)=Ent(D)−v=1∑V​∣D∣∣Dv∣​Ent(Dv)

信息增益越大,意味着用属性 a a a 来进行划分所获得的“纯度提升”越大。

信息增益准则对可取值数目较多的属性有所偏好,比如如果根据编号划分,每个分支结点仅包含一个样本,每个分支 Ent ( D v ) = 0 \text{Ent}(D^v)=0 Ent(Dv)=0,分支结点的纯度已达最大。为减少这种偏好带来的不利影响,可以用增益率来选择最优划分属性

4.2.2 增益率

Gain   ‾ ratio ( D , a ) = Gain ⁡ ( D , a ) IV ⁡ ( a ) \text {Gain\underline{ }ratio} (D, a)=\frac{\operatorname{Gain}(D, a)}{\operatorname{IV}(a)} Gain ​ratio(D,a)=IV(a)Gain(D,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∣​

称为属性 a a a 的固有值,属性 a a a 的可能取值数目越多(即 V V V 越大),则 I V ( a ) \mathrm{IV}(a) IV(a) 的值通常会越大。需注意的是,增益率准则对可取值数目较少的属性有所偏好。

4.2.3 基尼指数

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∑​pk​pk′​=1−k=1∑∣Y∣​pk2​​

直观来说, Gini ⁡ ( D ) \operatorname{Gini}(D) Gini(D) 反映了从数据集 D D D 中随机抽取两个样本,其类别标记不一致的概率。因此, Gini ⁡ ( D ) \operatorname{Gini}(D) Gini(D) 越小,则数据集的纯度越高。

属性 a a a 的基尼指数定义为

 Gini   ‾ index  ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Gini ⁡ ( D v ) \text { Gini\underline{ }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)

选择那个使得划分后基尼指数最小的属性作为最优划分属性。


  1. 这里需要注意下值域证明,用到了凸优化理论和拉格朗日乘数,学习一下 ↩︎

上一篇:《统计学习方法》(李航),《机器学习》(周志华)学习随笔


下一篇:get_html_translation_table — 返回使用 htmlspecialchars() 和 htmlentities() 后的转换表