特征选择中的常用指标

2016/9/14 posted in  研究笔记-其他

在特征选择中,有三类常用的指标:信息增益;信息增益率;和基尼系数。这些指标也是决策树算法的基础。现摘录这三个指标的定义如下:

  1. 信息增益(Information Gain)
    特征\(T\)为分类系统\(C\)带来的信息增益为:
    \[\begin{aligned}
    GainEntropy(T) &= Entropy(C) − Entropy(C|T) \\
    &= Entropy(C) − \sum_i{p(T_i)Entropy(C|T_i)} \\
    \end{aligned}\]
    其中,\(Entropy(C)\)为系统关于分类属性\(C\)的信息熵,定义了系统描述某一个分类所需要的平均信息量。计算公式为:
    \[Entropy(C) = -\sum_i{p(C_i)\log_2{p(C_i)}}\]
    \(Entropy(C|T_i )\)为固定特征\(T=T_i\)下系统关于分类属性\(C\)的条件信息熵,计算公式为:
    \[Entropy(C|T_i) = -\sum_j{p(C_j|T_i)\log_2{p(C_j|T_i)}}\]

  2. 信息增益率(Information Gain Ratio)
    特征\(T\)的信息增益是与特征\(T\)的取值个数有着密切联系的。一般来说,特征的取值个数越多,信息增益往往也会越大(极端的例子如用户ID特征)。为了避免这种特征取值个数的不同对特征选择时泛化能力的影响,考虑对信息增益进行一定程度的归一化。这就是信息增益率。
    \[GainEntropyRatio(T)=\frac{GainEntropy(T)}{SplitInformation(T)}\]
    其中,\(SplitInformation(T)\)为系统关于特征\(T\)的信息熵:
    \[SplitInformation(T) = Entropy(T) = -\sum_i{p(T_i)\log_2{p(T_i)}}\]
    也就是说,系统描述一个特征所需的信息量越大(表现为特征的分布越分散越平均),这个特征的泛化能力被认为越弱,也就不适合作为模型的特征被选择进来。

  3. 基尼系数(Gini coefficient)
    我们定义一个\(K\)分类系统\(C\)的基尼系数为:
    \[Gini(C) = \sum_{i=1}^K{p(C_i)(1-p(C_i))} = 1 - \sum_{i=1}^K{p^2(C_i)}\]
    类似信息熵,基尼系数衡量了一个系统的不确定性。高基尼系数意味着一个不确定性高的系统:更加分散和平均的类别分布,和更高的信息量需求(来确定某一个类别)。
    我们可以类似的定义基尼系数增益来进行特征选择:
    \[GainGini(T) = Gini(C) - \sum_i{p(T_i)Gini(C|T_i)}\]
    也可以从基尼系数出发定义基尼系数增益率。这里不再赘述。