《统计学习方法》-决策树

日 21 一月 2018

决策树是一个比较经典的分类与回归的方法,包括特征选择、决策树的生成和决策树的修剪。

模型

决策树的模型是一棵已经构造完成的决策树,由节点和有向边组成,其中节点分为内部节点和叶子节点,内部节点表示一个特征或属性,即划分的特征,叶子节点表示一个类。

从根节点开始对实例中的某一个特征进行测试,比如西瓜的颜色,有花纹的分成一个类,放在一个子节点中,另一种放在另一个子节点中,如此递归的对实例进行测试,直至叶节点。

决策规则

决策树可以看成if-then规则的集合,决策过程:每一条有向边对应一条规则,路径上内部节点的特征对应着规则的条件,而叶节点的类对应着规则的结论。

路径或其对应的if-then规则集合具有一个重要的性质:互斥并且完备。

从所有可能的决策树中选取最优的决策树是NP完全问题,所以现实中决策树学习算法采用启发式方法,近似求解这一优化问题,这样得到的决策树是次最优的。决策树算法通常是一个递归选择最优特征,并且用该特征对数据进行分割。

算法

特征选择

随机变量X的熵定义为:

$$ H(X)=-\sum_{i=1}^{n}p_i\log p_i $$

条件熵(conditional entropy)\(H(Y|X)\),定义为:

$$ H(Y|X)=\sum_{i=1}^{n}p_iH(Y|X=x_i) $$

信息增益表示得知特征X的信息而使得Y的信息的不确定性减少的程度,不确定性由熵表示。根据信息熵的特征选择方法是:对训练数据集D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

这样对于数据集D,经验熵H(D)

$$ H(D)=-\sum_{i=1}^{k}\frac{|C_k|}{|D|}\log \frac{|C_k|}{|D|} $$

经验条件熵\(H(D|A)\)

$$ H(D|A)=\sum_{i=1}^{N}\frac{|D_i|}{|D|}H(D_i) $$

信息增益

$$ g(D,A)=H(D)-H(D|A) $$

决策树的生成

ID3算法

选择信息增益最大的特征,直到所有特征的信息增益很小或者没有特征可以选择为止。

C4.5算法

ID3的改进算法,选择信息增益比(\(g_R(D,A)\))最大的特征

$$ g_R(D,A)=\frac{g(D,A)}{H_A(D)}\\ 其中 H_A(D)=-\sum_{i=1}^{n}\frac{|D_i|}{|D|}\log_2\frac{|D_i|}{|D|} $$

剪枝

剪枝就是当\(\alpha\)确定时,选择损失函数最小的模型。损失函数定义为:

$$ C_{\alpha}(T)=-\sum_{t=1}^{|T|}\sum_{k=1}^{K}N_{tk}\log\frac{N_{tk}}{N_t}+\alpha|T|\\ 其中N_{tk}表示在N_t个样本点中,k类样本点有N_{tk}个。 $$

blogroll