决策树之特征选择

特征选择(节点划分)

一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。

符号声明

假设当前样本集合\(D\)中第\(k\)类样本所占的比例为\(p_k\:(k=1,2,...,|\mathcal Y|))\),离散属性\(a\)\(V\)个可能的取值\(\{a^1,a^2,...,a^V\}\),若使用\(a\)来对样本集\(D\)进行划分,则会产生\(V\)个分支结点,其中第\(v\)个分支结点包含了\(D\)中所有在属性\(a\)上取值为\(a^v\)的样本,记作\(D^v\)

样本集合\(D\)的信息熵定义为

\[Ent(D)=-\sum_{k=1}^\mathcal{|Y|} p_k\log_2{p_k} \]

1. 信息增益

\[Gain(D,a) = Ent(D)-\sum_{v=1}^{V} \frac{|D^v|}{|D|}Ent(D^v)\tag{1} \]

实际上,信息增益准则对可取数目较多的属性有所偏好。

2. 增益率

\(C4.5\)决策树算法选择增益率(gain ratio)来选择最优划分属性。

\[Gain\_ratio(D, a)=\frac{Gain(D,a)}{IV(a)} \tag{2} \\ s.t. \quad IV(a)=-\sum_{v=1}^{V}\frac{|D^v|}{|D|}\log_2\frac{|D^v|}{|D|} \]

\(IV(a)\)称作属性\(a\)的固有值(intrinsic value)。

需注意的是,增益率准则对可取值较少的属性有所偏好,因此,\(C4.5\)算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

3. 基尼指数

\[\begin{aligned} \text{数据集$D$的纯度:} \\ Gini(D) &= \sum_{k=1}^{\mathcal{|Y|}}\sum_{k' \neq k}p_k p_{k'}\\ &= 1-\sum_{k=1}^{\mathcal{|Y|}}p_k^{2} \end{aligned} \]

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

属性\(a\)的基尼指数:

\[Gini\_index(D,a) = \sum_{v=1}^{V} \frac{|D^v|}{|D|}Gini(D^v) \tag{3} \]

于是,我们在候选属性集合\(A\)中,选择那个使得划分后基尼指数最小的属性作为最优划分属性,即:

\[a_* = \underset{a\in A}{\arg \min}\: Gini\_index(D,a) \]

posted @ 2020-06-29 15:51  _荒流  阅读(1135)  评论(0编辑  收藏  举报