信息量的度量——熵(entropy)
引言 (废话)
我们经常说的“信息量太大了”,其中的”信息量“到底如何度量?
Claude Elwood Shannon 借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”。
这个概念现在看着很简单易懂,但是开创性地提出这样的概念不是容易的事情。
1 Entropy 熵
熵(entropy)可以度量随机变量的不确定性,设X是一个取有限值得离散随机变量,其概率分布为
$P(X=x_i)=p_i, \quad i=1,2,\cdots,n$
则随机变量X的熵定义为
$H(X)=-\sum\limits_{i=1}^{n}{p_i}\log{p_i}$
其中,如果对数以2为底,则熵的单位可以称作bit,由于熵只与X的分布有关,与X的具体取值无关,因此也可以表示为
$H(p)=-\sum\limits_{i=1}^{n}{p_i}\log{p_i}$
### 2 Information gain 信息增益
- Conditional entropy 条件熵
设有随机变量\((X,Y)\),其联合概率分布为
$P(X=x_i, Y=y_j)=p_{ij}, \quad i=1,2,\cdots,n ; \quad j=1,2,\cdots,m$
条件熵\(H(Y|X)\)可以表示在随机变量\(X\)已知的情况下随机变量\(Y\)的不确定性. 随机变量X给定的条件下随机变量\(Y\)的条件熵(conditional entropy)\(H(Y|X)\),定义为\(X\)给定条件下\(Y\)的条件概率分布的熵对\(X\)的数学期望
$H(Y|X)=\sum\limits_{i=1}^{n}p_iH(Y|X=x_i)$
其中,\(p_i=P(X=x_i),\quad i=1,2,\cdots,n.\)
当熵和条件熵忠的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy). 此时,如果有0概率,令\(0\log0=0\).
- Information gain 信息增益
信息增益(information gain)表示得知特征X的信息而使得得知类Y的信息的不确定性减少的程度.
特征A对训练数据集D的信息增益\(g(D,A)\),定义为集合D的经验熵\(H(D)\)与特征A给定条件下D的经验条件熵\(H(D|A)\)之差,即
$g(D,A)=H(D)-H(D|A)$
熵\(H(Y)\)与条件熵\(H(Y|X)\)之差也常被称为互信息(mutual information). 决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
### 3 Information gain ratio 信息增益比
在实际训练模型时,以信息增益作为划分训练数据集的特征,会偏向于选择取值较多的特征. 因此,也常常使用信息增益比来作为准则.
特征A对训练数据集D的信息增益比\(g_R(D,A)\)定义为其信息增益\(g(D,A)\)与训练数据集D关于特征A的值的熵\(H_A(D)\)之比,即
$g_R(D,A)=\frac{g(D,A)}{H_A(D)}$
其中,\(H_A(D)=-\sum\limits_{i=1}^{n}{\frac{|D_i|}{|D|}\log_2{\frac{|D_i|}{|D|}}}\),\(n\)是特征A取值的个数.