信息增益比(Information Gain Ratio) 是对 信息增益(Information Gain, IG) 的改进,它考虑了特征的不同取值数量对信息增益的影响,避免了信息增益偏向于取值较多特征的倾向。信息增益比常用于构建决策树,特别是在C4.5决策树算法中。
背景
信息增益(IG) 在选择特征时,通常会选择信息增益最大的特征进行划分。然而,信息增益会偏向那些取值较多的特征。例如,如果一个特征有非常多的不同值(如唯一标识符),该特征可能在划分时导致信息增益非常大,但并不代表该特征实际上对分类有较大的贡献。
为了解决这个问题,引入了信息增益比(Gain Ratio)。信息增益比在信息增益的基础上考虑了特征取值的数量,并对取值较多的特征进行惩罚。
信息增益比的定义
信息增益比的计算公式为:
Gain Ratio(D,X)=IG(D,X)IV(X)
\text{Gain Ratio}(D, X) = \frac{IG(D, X)}{IV(X)}
Gain Ratio(D,X)=IV(X)IG(D,X)
其中:
- IG(D,X)IG(D, X)IG(D,X) 是特征 XXX 的信息增益,它衡量特征 XXX 对数据集 DDD 中不确定性减少的程度。
- IV(X)IV(X)IV(X) 是特征 XXX 的固有值(Intrinsic Value),用于衡量特征 XXX 的取值分布,它表示特征 XXX 将数据划分成不同子集的“离散性”或“多样性”。
固有值(Intrinsic Value, IV)的定义
固有值 IV(X)IV(X)IV(X) 的公式为:
IV(X)=−∑i=1n∣Di∣∣D∣log2∣Di∣∣D∣
IV(X) = - \sum_{i=1}^n \frac{|D_i|}{|D|} \log_2 \frac{|D_i|}{|D|}
IV(X)=−i=1∑n∣D∣∣Di∣log2∣D∣∣Di∣
其中:
- DiD_iDi 是特征 XXX 的第 iii 个取值对应的数据子集。
- ∣Di∣|D_i|∣Di∣ 是子集 DiD_iDi 的样本数量,∣D∣|D|∣D∣ 是原始数据集的总样本数量。
- nnn 是特征 XXX 的取值数量。
固有值的作用是衡量特征的取值数量和分布。如果特征 XXX 的取值非常多且每个取值对应的数据量很少,固有值会很大,这会降低信息增益比的值。
计算信息增益比的步骤
-
计算信息增益 IG(D,X)IG(D, X)IG(D,X):
- 首先,计算特征 XXX 的信息增益,表示特征 XXX 对数据集 DDD 的不确定性减少的程度。
-
计算特征的固有值 IV(X)IV(X)IV(X):
- 接着,计算特征的固有值 IV(X)IV(X)IV(X),表示特征 XXX 的取值分布的离散性。
-
计算信息增益比 Gain Ratio(D,X)\text{Gain Ratio}(D, X)Gain Ratio(D,X):
- 最后,计算信息增益比,将信息增益 IG(D,X)IG(D, X)IG(D,X) 除以固有值 IV(X)IV(X)IV(X)。如果固有值 IV(X)IV(X)IV(X) 非常大,信息增益比会较小,防止算法偏向那些取值较多的特征。
信息增益比的作用
- 信息增益比通过除以特征的固有值来减少信息增益对取值多样性的偏好,从而对那些取值非常多但没有实际分类能力的特征进行惩罚。
- 在决策树构建过程中,选择信息增益比最大的特征进行划分。这种方法可以有效避免信息增益在面对高取值数特征时的偏向。
举例说明
假设我们有一个二元分类问题,并且特征 X1X_1X1 和 X2X_2X2 可分别取两种和十种不同的值。我们计算了特征 X1X_1X1 和 X2X_2X2 的信息增益,假设:
- 特征 X1X_1X1 的信息增益 IG(D,X1)=0.5IG(D, X_1) = 0.5IG(D,X1)=0.5
- 特征 X2X_2X2 的信息增益 IG(D,X2)=0.7IG(D, X_2) = 0.7IG(D,X2)=0.7
根据信息增益的结果,特征 X2X_2X2 似乎是一个更好的选择。但是,特征 X2X_2X2 有更多的取值,因此它可能由于取值的数量而获得了较高的信息增益。因此,我们引入固有值进行调整。
假设我们计算了固有值:
- 特征 X1X_1X1 的固有值 IV(X1)=0.9IV(X_1) = 0.9IV(X1)=0.9
- 特征 X2X_2X2 的固有值 IV(X2)=2.0IV(X_2) = 2.0IV(X2)=2.0
我们可以计算信息增益比:
- 特征 X1X_1X1 的信息增益比 Gain Ratio(D,X1)=0.50.9≈0.56\text{Gain Ratio}(D, X_1) = \frac{0.5}{0.9} \approx 0.56Gain Ratio(D,X1)=0.90.5≈0.56
- 特征 X2X_2X2 的信息增益比 Gain Ratio(D,X2)=0.72.0=0.35\text{Gain Ratio}(D, X_2) = \frac{0.7}{2.0} = 0.35Gain Ratio(D,X2)=2.00.7=0.35
虽然特征 X2X_2X2 的信息增益较高,但由于其固有值较大,信息增益比却较低。因此,特征 X1X_1X1 的信息增益比更高,意味着特征 X1X_1X1 更适合作为划分的依据。
总结
- 信息增益比通过对信息增益进行归一化来减少对取值较多特征的偏好,它有效避免了信息增益倾向于选择取值较多特征的问题。
- 固有值用于衡量特征的离散性,特征取值越多,固有值越大,导致信息增益比越小。
- C4.5 决策树算法使用信息增益比来选择分裂特征,以更合理地划分数据,避免取值多的特征占据优势。
信息增益比能够让决策树构建过程更加合理,防止仅因特征取值多样性导致选择错误的划分特征。