在决策树模型中,我们不断进行判定的初衷是希望划分后需要考虑的可能更少,准确地说,是希望所得子节点的纯度(purity)更高(也可以说是混乱程度更低)。

信息熵(information entropy)是一种衡量样本集纯度的常用指标:

划分选择 - 图1%20%3D%20-%5Csum%7Bk%3D1%7D%5E%7B%7C%5Cmathcal%7BY%7D%7C%7Dp_klog_2p_k%0A#card=math&code=Ent%28D%29%20%3D%20-%5Csum%7Bk%3D1%7D%5E%7B%7C%5Cmathcal%7BY%7D%7C%7Dp_klog_2p_k%0A&id=FmZ8d)

其中 划分选择 - 图2 为类别集合,划分选择 - 图3 为该类样本占样本总数的比例。

信息熵越大,表示样本集的混乱程度越高,纯度越低

信息增益

信息增益(information gain)ID3算法采用的选择准则,定义如下:

划分选择 - 图4%20%3D%20Ent(D)%20-%20%5Csum%7Bv%3D1%7D%5E%7BV%7D%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7DEnt(D%5Ev)%0A#card=math&code=Gain%28D%2Ca%29%20%3D%20Ent%28D%29%20-%20%5Csum%7Bv%3D1%7D%5E%7BV%7D%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7DEnt%28D%5Ev%29%0A&id=xMxk7)

它描述的是按某种属性划分后纯度的提升,信息增益越大,代表用属性 划分选择 - 图5 进行划分所获得的纯度提升越大。其中 划分选择 - 图6 表示属性 划分选择 - 图7 的属性值集合,划分选择 - 图8 表示属性值为 划分选择 - 图9 的数据子集。求和项也称为条件熵,我们可以理解为它是先求出每个数据子集的信息熵,然后按每个数据子集占原数据集的比例来赋予权重,比例越大,对提升纯度的帮助就越大。

多个属性都取得最大的信息增益时,任选一个即可。

信息增益又称为互信息(Mutual information)

  • 一个连续变量X的不确定性,用方差Var(X)来度量
  • 一个离散变量X的不确定性,用熵H(X)来度量
  • 两个连续变量X和Y的相关度,用协方差或相关系数来度量
  • 两个离散变量X和Y的相关度,用互信息I(X;Y)来度量(直观地,X和Y的相关度越高,X对分类的作用就越大)

(信息)增益率

增益率(gain ratio)C4.5算法采用的选择准则,定义如下:

划分选择 - 图10%20%3D%20%5Cfrac%7BGain(D%2Ca)%7D%7BIV(a)%7D%0A#card=math&code=Gain%5C_ratio%28D%2Ca%29%20%3D%20%5Cfrac%7BGain%28D%2Ca%29%7D%7BIV%28a%29%7D%0A&id=y3MgS)

其中,

划分选择 - 图11%20%3D%20-%5Csum%7Bv%3D1%7D%5EV%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7Dlog_2%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7D%0A#card=math&code=IV%28a%29%20%3D%20-%5Csum%7Bv%3D1%7D%5EV%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7Dlog_2%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7D%0A&id=JRs3U)

IV称为属性的固有值(intrinsic value),它的定义和信息熵是类似的,信息熵衡量的是样本集在类别上的混乱程度,而固有值衡量的是样本集在某个属性上的混乱程度。固有值越大,则该属性混乱程度越高,可能的取值越多

之所以要定义增益率是为了避免模型过份偏好用取值多的属性作划分。这是使用信息增益作准则非常容易陷入的误区,比方说每个样本都有一个“编号”属性,这个属性的条件熵肯定是最小的,但如果选择了该属性作为根节点,那么构建出的决策树就没有任何意义了,因为这个模型根本不具备泛化性能。

注意了,C4.5并非直接选择增益率最高的属性,它使用了一个启发式:先从属性集中找到信息增益高于平均水平的属性作为候选,然后再比较这些候选属性的增益率,从中选择增益率最高的。

基尼指数

基尼指数(Gini index)CART算法采用的选择准则,定义如下:

基尼值:

划分选择 - 图12%20%3D%20%5Csum%7Bk%3D1%7D%5E%7B%7C%5Cmathcal%7BY%7D%7C%7D%5Csum%7Bk’%20%5Cneq%20k%7Dpkp%7Bk’%7D%5C%5C%0A%3D1-%5Csum%7Bk%3D1%7D%5E%7B%7C%5Cmathcal%7BY%7D%7C%7Dp_k%5E2#card=math&code=Gini%28D%29%20%3D%20%5Csum%7Bk%3D1%7D%5E%7B%7C%5Cmathcal%7BY%7D%7C%7D%5Csum%7Bk%27%20%5Cneq%20k%7Dp_kp%7Bk%27%7D%5C%5C%0A%3D1-%5Csum_%7Bk%3D1%7D%5E%7B%7C%5Cmathcal%7BY%7D%7C%7Dp_k%5E2&id=Ydavs)

基尼指数:

划分选择 - 图13%20%3D%20%5Csum%7Bv%3D1%7D%5E%7BV%7D%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7DGini(D%5Ev)%0A#card=math&code=Gini%5C_index%28D%2Ca%29%20%3D%20%5Csum%7Bv%3D1%7D%5E%7BV%7D%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7DGini%28D%5Ev%29%0A&id=u49Ac)

基尼值是另一种衡量样本集纯度的指标。反映的是从一个数据集中随机抽取两个样本,其类别标志不同的概率

基尼值越小,样本集的纯度越高

由基尼值引伸开来的就是基尼指数这种准则了,基尼指数越小,表示使用属性 划分选择 - 图14 划分后纯度的提升越大