在信息论中,熵(entropy)是表示随机变量不确定性的度量,如果一个事件是必然发生的,那么他的不确定度为0,不包含信息。假设 X X X是一个取有限个值的离散随机变量,其概率分布为:
P ( X = x i ) = p i P(X=x_i)=p_i P(X=xi)=pi
则随机变量 X X X的熵定义为:
H ( X ) = − ∑ i = 1 n p i l o g ( p i ) H(X)=-\sum_{i=1}^np_ilog(p_i) H(X)=−i=1∑npilog(pi)
通常上式中 l o g log log的底数为2或 e e e(自然对数),这时熵的单位分别称作比特(bit)或纳特(nat)。并且通过上述定义可知,熵的取值只依赖于 X X X的分布,而与 X X X的具体值无关。
以 P = 0.5 P=0.5 P=0.5的二项分布为例,熵 H H H随概率 p p p变化的曲线如下所示:
设有随机变量 ( X , Y ) (X, Y) (X,Y),其联合概率分布为:
P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m P(X=x_i,Y=y_j)=p_{ij},\ i=1,2,...,n;\ j=1,2,...,m P(X=xi,Y=yj)=pij, i=1,2,...,n; j=1,2,...,m
条件熵(conditional entropy)表示在已知随机变量 X X X的条件下随机变量 Y Y Y的不确定性,定义为 X X X给定条件下 Y Y Y的条件概率分布的熵对 X X X的数学期望:
H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) , p i = P ( X = x i ) , i = 1 , 2 , . . . , n . H(Y|X)=\sum_{i = 1}^{n}p_iH(Y|X=x_i),\quad p_i=P(X=x_i),i=1,2,...,n. H(Y∣X)=i=1∑npiH(Y∣X=xi),pi=P(X=xi),i=1,2,...,n.
在计算条件熵时,需要先分别计算 X X X取不同值时变量 Y Y Y的熵,即 H ( Y ∣ X = x i ) H(Y|X=x_i) H(Y∣X=xi),总共 n n n个(假设 X X X有 n n n种不同取值),然后求其对 X X X的期望。
互信息,在机器学习(决策树算法)中也称为信息增益。特征 A A A对训练数据集 D D D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合 D D D的经验熵 H ( D ) H(D) H(D)与特征 A A A给定的条件下 D D D的经验条件熵 H ( D ∣ A ) H(D|A) H(D∣A)之差,即:
g ( D ∣ A ) = H ( D ) − H ( D ∣ A ) g(D|A)=H(D)-H(D|A) g(D∣A)=H(D)−H(D∣A)
联合熵度量的是一个联合分布的随机系统的不确定度,同样以联合概率分布 ( X , Y ) (X, Y) (X,Y)为例, P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m P(X=x_i,Y=y_j)=p_{ij},\ i=1,2,...,n;\ j=1,2,...,m P(X=xi,Y=yj)=pij, i=1,2,...,n; j=1,2,...,m,则联合熵 H ( X , Y ) H(X,Y) H(X,Y)的定义为:
H ( X , Y ) = − ∑ i = 1 n ∑ j = 1 m p i j l o g ( p i j ) H(X,Y)=-\sum_{i=1}^{n}\sum_{j=1}^{m}p_{ij}log(p_{ij}) H(X,Y)=−i=1∑nj=1∑mpijlog(pij)
联合熵具有以下性质(对于变量数目大于2的情况同样成立):