信息熵、条件熵、信息增益与基尼指数
本文主要是对信息熵、信息增益、信息增益比和 Gini 指数的定义进行汇总,使之更加明确记忆。
1 信息熵和条件熵
1.1 信息熵
熵(entropy)是表示随机变量不确定的度量。
设 \(X\) 是一个取有限个值的离散随机变量,其概率分布为
则随机变量 \(X\) 的熵定义为
对数以 2 或 \(e\) 为底。
由定义可知,熵只依赖于 \(X\) 的分布,而与 \(X\) 的取值无关,所以也可将 \(X\) 的熵记作 \(H(p)\),即
熵越大,随机变量的不确定性就越大。从定义可以验证:
证:前一个不等式 \(0 \le H(p)\),obviously.
对于后一个不等式,按照定义,当 \(X\) 的取值概率相等且 \(p_i=\frac{1}{n}\) 时,不确定性最大。即\[-\sum_{i=1}^{n}p_i \log p_i \le -\sum_{i=1}^{n}\frac{1}{n} log{\frac{1}{n}} = logn \]令一种方法,根据琴生不等式
\[\begin{aligned} H(x) &= -\sum_{x}p(x)log p(x) \\ & = E[log \frac{1}{p(x)}] \\ & \le log(E[\frac{1}{p(x)}]) \\ & \le log|X| = log n \end{aligned} \]
1.2 条件熵
设有随机变量 \((X, Y)\),其联合概率分布为
条件熵(conditional entropy) \(H(Y|X)\) 表示在已知随机变量 \(X\) 的条件下,随机变量 \(Y\) 的不确定性。随机变量 \(X\) 给定的条件下随机变量 \(Y\) 的条件熵 \(H(Y|X)\) 定义为 \(X\) 给定条件下 \(Y\) 的条件概率分布的熵对 \(X\) 的数学期望
这里 \(p_i = P(X=x_i), \quad i=1, 2, ..., n\)
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。
2 信息增益与信息增益比
2.1 信息增益
信息增益表示得知特征 \(X\) 的信息而使得类 \(Y\) 的信息不确定性减少的程度。
特征 \(A\) 对训练数据集 \(D\) 的信息增益 \(gain(D, A)\) 定义为集合 \(D\) 的经验熵 \(H(D)\) 与特征 \(A\) 给定条件下 \(D\) 的经验条件熵 \(H(D|A)\) 之差,即
设训练数据集为 \(D\),\(|D|\) 表示某样本容量,即样本个数。设有 \(K\) 个类 \(C_k, \quad k=1, 2, ..., K\), \(|C_k|\) 为属于类 \(C_k\) 的样本个数,\(\sum_{k=1}^{K}|C_k| = |D|\)。设特征 \(A\) 有 \(n\) 个不同的取值 \({a_1, a_2, ..., a_n}\),根据特征 \(A\) 的取值将 \(D\) 划分为 \(n\) 个子集 \(D_1, D_2, ..., D_n\),\(|D_i|\) 为 \(D_i\) 的样本个数,即 \(\sum_{i=1}^{n}|D_i| = |D|\)。记子集 \(D_i\) 中属于类 \(C_k\) 的样本集合为 \(D_{ik}\),即 \(D_{ik} = D_i \cap C_k\),\(|D_{ik}|\) 为 \(D_{ik}\) 的样本个数。于是信息增益的算法如下
输入:训练数据集 \(D\) 和特征 \(A\)
输出:特征 \(A\) 对训练数据集 \(D\) 的信息增益 \(gain(D, A)\)
(1)计算数据集 \(D\) 的经验熵 \(H(D)\)
(2)计算特征 \(A\) 对数据集 \(D\) 的经验条件熵 \(H(D|A)\)
(3)计算信息增益
2.2 信息增益比
以信息增益作为划分训练数据集特征的准则,存在偏向于选择取值较多的特征的问题。使用信息增益比(information gain ratio)可以对这一问题进行校正。
特征 \(A\) 对训练数据集 \(D\) 的信息增益比 \(gain_R(D, A)\) 定义为其信息增益 \(gain(D, A)\) 与训练数据集 \(D\) 关于特征 \(A\) 的值的熵 \(H_A(D)\) 之比,即
其中,\(H_A(D) = -\sum_{i=1}^{n}\frac{|D_i|}{|D|}log_2 \frac{|D_i|}{|D|}\),\(n\) 为特征 \(A\) 的取值的个数。
3 基尼指数
分类问题中,假设有 \(K\) 个类,样本点属于第 \(k\) 类的概率为 \(p_k\),则概率分布的基尼指数定义为
对于给定的样本集合 \(D\),其基尼指数为
这里,\(C_k\) 是 \(D\) 中属于第 \(k\) 类的样本子集,\(K\) 是类的个数。如果样本集合 \(D\) 根据特征 \(A\) 是否取某一可能值 \(a\) 被分割为 \(D_1\) 和 \(D_2\) 两部分,即
则在特征 \(A\) 的条件下,集合 \(D\) 的基尼指数定义为
基尼指数 \(Gini(D)\) 表示集合 \(D\) 的不确定性,基尼指数 \(Gini(D, A)\) 表示经 \(A = a\) 分割后集合 \(D\) 的不确定性。基尼指数值越大,样本集合的不确定性也就越大,这一点与熵相似。
参考
《统计学习方法》 李航