4. Decision Tree

时间:2023-03-10 02:19:47
4. Decision Tree

一般的,一颗决策树包含一个根结点、若干内部结点和若干叶结点;叶节点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集。从根结点到每个叶子结点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一颗泛化能力强,即处理位见示例能力强的决策树,其基本流程遵循简单且直观的“分而支之”策略:

4. Decision Tree

在决策树算法中,有3种情况会导致递归返回:

  • 当前节点包含的样本属于同一类,无需划分
  • 当前节点属性集为空,或是所有样本在所有属性上取值相同,无法划分
  • 当前节点包含的样本集合为空,不能划分

划分选择:

1. information gain 信息增益  $a_{\star} = \arg\max\limits_{a\in{A}} Gain(D, a)$

information entropy信息熵是度量样本集合纯度最常用的指标。假定当前样本集合$D$中第$k$类样本所占比例为$p_k(k=1,2,...,\lvert{y}\rvert)$,则$D$的information entropy是

$Ent(D) = - \sum_{k=1}^{\lvert{y}\rvert}p_klog_2^{p_k}$

$Ent(D)$的值越小,则$D$的纯度越高

那么对于$D$的各个结点$D_v$,我们可以算出$D_v$的information entropy,再考虑到不同的分支结点所包含的样本数不均匀,给分支赋予权重$\frac{\lvert{D_v}\rvert}{\lvert{D}\rvert}$,这样得到information gain:

$Gain(D,a_{\star}) = Ent(D) - \sum_{v=1}^{V} \frac{\lvert{D_v}\rvert}{\lvert{D}\rvert}Ent(D_v)$

一般来说 infoermation gain 越大,意味着使用属性$a$ 来进行划分所得“纯度提升”越大。这种分裂方式对于可取值数目较多的属性有所偏好。

2. gain ratio 增益比  $a_{\star} = \arg\max\limits_{a\in{A}} Gain\_ratio(D, a)$

$Gain\_ratio(D, a) = \frac{ Gain(D, a)}{IV(a)}$

$IV(a) = - \sum_{v=1}^{V} \frac{\lvert{D_v}\rvert}{\lvert{D}\rvert}log_2{\frac{\lvert{D_v}\rvert}{\lvert{D}\rvert}}$

需要注意的是:实际使用gain ratio时:先从候选划分属性中找到信息增益高于平均水平的属性,再从中选择增益比最高的。这种分裂方式对可取值数目较少的属性有所偏好.

3. CART Gini index基尼指数  $a_{\star} = \arg\min\limits_{a\in{A}} Gini\_index\_ratio(D, a)$

$Gini(D) = \sum_{k=1}^{\lvert{y}\rvert} \sum_{k^{,}\neq{k}}p_kp_{k^{,}} = 1-\sum_{k=1}^{\lvert{y}\rvert}p_k^2$

$Gini\_index(D,a) = \sum_{v=1}^{V} \frac{\lvert{D_v}\rvert}{D}Gini(D_v)$

CART与传统DT相比,分裂中只有两个结点。