机器学习算法基础:熵、联合熵、条件熵、信息增益、相对熵(KL散度)、交叉熵

熵(Entropy)

在信息论与概率统计中,熵是表示随机变量不确定性的度量。设 X X X是一个取有限个值的离散随机变量,其概率分布为
P ( X = x i ) = p i , i = 1 , 2 , . . . , n P(X=x_i) =p_i,i=1,2,...,n P(X=xi)=pi,i=1,2,...,n
则随机变量 X X X的熵定义为
H ( X ) = − ∑ x p ( x ) log ⁡ p ( x ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) \begin{aligned} H(X) &=-\sum_{x}p(x) \log p(x)\\&= -\sum_{i=1}^np(x_i)\log p(x_i) \end{aligned} H(X)=xp(x)logp(x)=i=1np(xi)logp(xi)

在上式中,可记为 p ( x i ) = p i p(x_i) = p_i p(xi)=pi,若 p ( x i ) = 0 p(x_i)=0 p(xi)=0,则定义 0 l o g 0 = 0 0log0=0 0log0=0。通常,上式中的对数以2或以e为底(自然对数),这时熵的单位分别称作比特(bit)或纳特(nat)。

由定义可知,熵只依赖于 X X X的分布,而与 X X X的值无关,所有也可将 X X X的熵记做 H ( p ) H(p) H(p),即
H ( p ) = − ∑ i = 1 n p i log ⁡ p i H(p) = -\sum_{i=1}^np_i\log p_i H(p)=i=1npilogpi

熵越大,随机变量的不确定性就越大。从定义可验证
0 ≤ H ( p ) ≤ log ⁡ n 0 \leq H(p) \leq \log n 0H(p)logn
l o g n logn logn是指所有情况出现的概率相等,每个事件出现的概率为 1 n \frac{1}{n} n1这时随机变量不确定性最大,熵也就越大。

联合熵(Joint entropy)

设有随机变量 ( X , Y ) (X,Y) (X,Y),其联合概率分布为
P ( X = x i , Y = y j ) = p ( x i , y j ) , i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m P(X=x_i,Y=y_j)=p(x_i,y_j),i=1,2,...,n;j=1,2,...,m P(X=xi,Y=yj)=p(xi,yj),i=1,2,...,n;j=1,2,...,m
将一维随机变量分布推广到二维随机变量分布,则其联合熵为:
H ( X , Y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) = − ∑ i = 1 n ∑ j = 1 m p ( x i , y j ) log ⁡ p ( x i , y j ) \begin{aligned} H(X,Y)&=-\sum_{x,y}p(x,y) \log p(x,y) \\ &= -\sum_{i=1}^n\sum_{j=1}^mp(x_i,y_j)\log p(x_i,y_j) \end{aligned} H(X,Y)=x,yp(x,y)logp(x,y)=i=1nj=1mp(xi,yj)logp(xi,yj)

条件熵(Conditional entropy)

设有随机变量 ( X , Y ) (X,Y) (X,Y),其联合概率分布为
P ( X = x i , Y = y j ) = p ( x i , y j ) , i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m P(X=x_i,Y=y_j)=p(x_i,y_j),i=1,2,...,n;j=1,2,...,m P(X=xi,Y=yj)=p(xi,yj),i=1,2,...,n;j=1,2,...,m
条件熵 H ( Y ∣ X ) H(Y|X) H(YX)表示在已知随机变量 X X X的条件下随机变量 Y Y Y的不确定性。随机变量 X X X给定条件下随机变量Y的条件熵 H ( Y ∣ X ) H(Y|X) H(YX),定义为 X X X给定条件下 Y Y Y的条件概率分布的熵对 X X X的数学期望
H ( Y ∣ X ) = ∑ x p ( x ) H ( Y ∣ X = x ) = ∑ i = 1 n p ( x i ) H ( Y ∣ X = x i ) \begin{aligned} H(Y|X) &=\sum_{x}p(x) H(Y|X=x) \\&= \sum_{i=1}^np(x_i)H(Y|X=x_i) \end{aligned} H(YX)=xp(x)H(YX=x)=i=1np(xi)H(YX=xi)
这里, p ( x i ) = P ( X = x i ) , i = 1 , 2 , . . . , n p(x_i)=P(X=x_i),i=1,2,...,n p(xi)=P(X=xi),i=1,2,...,n
第一行式子的进一步推导:
H ( Y ∣ X ) = ∑ x p ( x ) H ( Y ∣ X = x ) = − ∑ x p ( x ) ∑ y p ( y ∣ x ) log ⁡ p ( y ∣ x ) = − ∑ x ∑ y p ( x , y ) log ⁡ p ( y ∣ x ) = − ∑ x , y p ( x , y ) log ⁡ p ( y ∣ x ) \begin{aligned} H(Y|X) &= \sum_{x}p(x) H(Y|X=x)\\ &=-\sum_{x}p(x)\sum_{y}p(y|x)\log p(y|x)\\ &=-\sum_{x}\sum_{y} p(x,y)\log p(y|x)\\ &=-\sum_{x,y} p(x,y)\log p(y|x) \end{aligned} H(YX)=xp(x)H(YX=x)=xp(x)yp(yx)logp(yx)=xyp(x,y)logp(yx)=x,yp(x,y)logp(yx)

第二行式子的进一步推导:
H ( Y ∣ X ) = ∑ i = 1 n p ( x i ) H ( Y ∣ X = x i ) = − ∑ i = 1 n p ( x i ) ∑ j = 1 m p ( y j ∣ x i ) log ⁡ p ( y j ∣ x i ) = − ∑ i = 1 n ∑ j = 1 m p ( x i , y j ) log ⁡ p ( Y = y j ∣ X = x i ) \begin{aligned} H(Y|X) &= \sum_{i=1}^np(x_i)H(Y|X=x_i)\\ &=-\sum_{i=1}^np(x_i)\sum_{j=1}^mp(y_j|x_i)\log p(y_j|x_i)\\ &=-\sum_{i=1}^n\sum_{j=1}^m p(x_i,y_j)\log p(Y=y_j|X =x_i)\\ \end{aligned} H(YX)=i=1np(xi)H(YX=xi)=i=1np(xi)j=1mp(yjxi)logp(yjxi)=i=1nj=1mp(xi,yj)logp(Y=yjX=xi)

熵、联合熵、条件熵小总结

均使用其第一行的定义进行表达,这样够简洁!
熵:
H ( X ) = − ∑ x p ( x ) log ⁡ p ( x ) H(X) = -\sum_{x}p(x) \log p(x) H(X)=xp(x)logp(x)
条件熵:
H ( Y ∣ X ) = − ∑ x , y p ( x , y ) log ⁡ p ( y ∣ x ) H(Y|X) =-\sum_{x,y} p(x,y)\log p(y|x) H(YX)=x,yp(x,y)logp(yx)
联合熵:
H ( X , Y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x ) p ( y ∣ x ) = − ∑ x , y p ( x , y ) log ⁡ p ( x ) − ∑ x , y p ( x , y ) log ⁡ p ( y ∣ x ) = H ( X ) + H ( Y ∣ X ) \begin{aligned} H(X,Y)&=-\sum_{x,y}p(x,y) \log p(x,y)\\ &=-\sum_{x,y}p(x,y) \log p(x)p(y|x)\\ &=-\sum_{x,y}p(x,y) \log p(x) -\sum_{x,y}p(x,y) \log p(y|x)\\ &=H(X) + H(Y|X) \end{aligned} H(X,Y)=x,yp(x,y)logp(x,y)=x,yp(x,y)logp(x)p(yx)=x,yp(x,y)logp(x)x,yp(x,y)logp(yx)=H(X)+H(YX)

联合熵 = 熵+条件熵

信息增益(Information gain)

特征A对训练数据集D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合D的经验熵 H ( D ) H(D) H(D)与特征 A A A给定条件下 D D D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)之差,即
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A) = H(D) - H(D|A) g(D,A)=H(D)H(DA)
在这里给出我的个人理解:
H ( D ) H(D) H(D):指的是什么都不知道情况下,D的不确定性;
H ( D ∣ A ) H(D|A) H(DA):在已知A的情况下,D的不确定性;
g ( D , A ) g(D,A) g(D,A):两者相减,差值越大,说明A条件下起到的效果越好,使得D越确定了。

熵、联合熵、条件熵、信息增益小总结

上面介绍的这四个都可以用来衡量在不同条件下的某个事件的不确定性。
接下来介绍的这两个是用来衡量两个(事件or分布)之间存在的差异。

相对熵 (Relative entropy)

相对熵也称KL散度 (Kullback–Leibler divergence),如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。

D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) D_{KL}(p||q)=\sum_{i=1}^np(x_i)log(\frac{p(x_i)}{q(x_i)}) DKL(pq)=i=1np(xi)log(q(xi)p(xi))

交叉熵(Cross Entropy)

如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用交叉熵(Cross Entropy)来衡量这两个分布的差异。

H ( p , q ) = − ∑ i = 1 n p ( x i ) log ⁡ q ( x i ) H(p,q) = -\sum_{i=1}^n p(x_i) \log q(x_i) H(p,q)=i=1np(xi)logq(xi)

熵、相对熵、交叉熵小总结

熵:
H ( X ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) H(X) = -\sum_{i=1}^np(x_i)\log p(x_i) H(X)=i=1np(xi)logp(xi)
相对熵:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) D_{KL}(p||q)=\sum_{i=1}^np(x_i)log(\frac{p(x_i)}{q(x_i)}) DKL(pq)=i=1np(xi)log(q(xi)p(xi))
交叉熵:
H ( p , q ) = − ∑ i = 1 n p ( x i ) log ⁡ q ( x i ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) ( q ( x i ) p ( x i ) ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) − ∑ i = 1 n p ( x i ) log ⁡ ( q ( x i ) p ( x i ) ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) + ∑ i = 1 n p ( x i ) log ⁡ ( p ( x i ) q ( x i ) ) = H ( X ) + D K L ( p ∣ ∣ q ) \begin{aligned} H(p,q) &= -\sum_{i=1}^n p(x_i) \log q(x_i)\\ &=-\sum_{i=1}^n p(x_i) \log p(x_i)(\frac{q(x_i)}{p(x_i)})\\ &=-\sum_{i=1}^n p(x_i) \log p(x_i) -\sum_{i=1}^n p(x_i) \log(\frac{q(x_i)}{p(x_i)})\\ &=-\sum_{i=1}^n p(x_i) \log p(x_i) +\sum_{i=1}^n p(x_i) \log(\frac{p(x_i)}{q(x_i)})\\ &=H(X)+D_{KL}(p||q) \end{aligned} H(p,q)=i=1np(xi)logq(xi)=i=1np(xi)logp(xi)(p(xi)q(xi))=i=1np(xi)logp(xi)i=1np(xi)log(p(xi)q(xi))=i=1np(xi)logp(xi)+i=1np(xi)log(q(xi)p(xi))=H(X)+DKL(pq)

交叉熵 = 熵+相对熵

在机器学习中,交叉熵使用的比KL散度更多,因为我们大部分情况是已经确定了事件A的分布,对输出的事件B的分布尽可能接近于事件A,因此交叉熵等价于KL散度,又因为交叉熵表达更简洁,使用更广泛。

在别的一些情况下,我们还是可以看到KL散度的一些用法,这两个比较差异的衡量公式得根据具体情况,择优录用。

猜你喜欢

转载自blog.csdn.net/weixin_43999137/article/details/108125049