信息熵,交叉熵和相对熵
V1.0
信息熵 交叉熵和相对熵
熵 最初是一个热力学概念,用来衡量一个系统的混乱程度。和距离,面积等一样,都是一种度量。1948年美国数学家香农提出信息熵 的概念,之后又有科学家提出了相对熵(也就是KL散度)和交叉熵的概念。
信息熵
有概率模型 P P P,其中有多个类别,每个类别的概率为 P ( x i ) P(x_i) P(xi), P ( x i ) P(x_i) P(xi)之和为 1 1 1。
信息熵 用来衡量概率模型 P P P的概率分布的分散性。
信息熵的公式如下:
H ( P ) = − ∑ i P ( x i ) log P ( x i ) H(P)=-\sum_iP(x_i)\log{P(x_i)} H(P)=−i∑P(xi)logP(xi)
信息熵的性质
类别越多,信息熵越高
设模型 A A A有 10 10 10个类别,每个类别的概率都是 0.1 0.1 0.1,则其信息熵为
H ( P A ) = − ∑ i = 1 10 0.1 ⋅ log 0.1 ≈ 3.3219 H(P_A)=-\sum_{i=1}^{10}0.1\cdot{\log{0.1}}\approx3.3219 H(PA)=−i=1∑100.1⋅log0.1≈3.3219
设模型 B B B有5个类别,每个类别的概率都是 0.2 0.2 0.2,则其信息熵为
H ( P B ) = − ∑ i = 1 5 0.2 ⋅ log 0.2 ≈ 2.3219 H(P_B)=-\sum_{i=1}^{5}0.2\cdot{\log{0.2}}\approx2.3219 H(PB)=−i=1∑50.2⋅log0.2≈2.3219
通过比较发现,在概率分布都是均匀分布 的情况下, 10 10 10个类别的模型 A A A信息熵比 5 5 5个类别的模型B的信息熵更高。
用分散性 来理解,即类别越分散,越多,信息熵越高。
各类别的概率越平均,信息熵越高
设有两个概率模型 A A A和 B B B。模型 A A A和 B B B均有5个类别,模型 A A A的各类别概率均为 0.2 0.2 0.2,模型B各类别的概率为 { 0.125 , 0.125 , 0.125 , 0.125 , 0.5 } \{0.125,0.125,0.125,0.125,0.5\} {0.125,0.125,0.125,0.125,0.5}。
模型 A A A的信息熵为
H ( P A ) = − ∑ i = 1 5 0.2 ⋅ log 0.2 ≈ 2.3219 H(P_A)=-\sum_{i=1}^{5}0.2\cdot{\log{0.2}}\approx2.3219 H(PA)=−i=1∑50.2⋅log0.2≈2.3219
模型 B B B的信息熵为
H ( P B ) = − ∑ i = 1 5 P ( x i ) ⋅ log 0.2 = 2 H(P_B)=-\sum_{i=1}^{5}{P({x_i})}\cdot{\log{0.2}}=2 H(PB)=−i=1∑5P(xi)⋅log0.2=2
通过比较发现模型 A A A的信息熵更高。
用分散性 来理解,概率模型中不同类别的概率越平均 ,也就是更分散而不集中 ,则信息熵越大 。如果概率模型的类别中有1个或几个类别的概率更大 ,也就是概率更集中 ,则其信息熵越小。
模型中有1个类别的概率为1时,信息熵为0
概率模型 p p p中一个类别的概率为 0 0 0时,此时概率从平均程度上来讲,完全集中,此时信息熵为 0 0 0。
交叉熵
交叉熵 用来描述目标概率模型 P P P与我们拥有的概率模型 Q Q Q的差异。
在这里 P P P和 Q Q Q都用来描述同一随机变量 ,因此拥有相同的概率种类 ,而同一类别的概率不一定相同,即 q ( x i ) q(x_i) q(xi)不一定等于 p ( x i ) p(x_i) p(xi)。
设 P P P是真实的概率分布模型, Q Q Q是我们拥有的概率分布模型,则交叉熵 H ( P , Q ) H(P,Q) H(P,Q)的公式为
H ( P , Q ) = − ∑ i p ( x i ) log q ( x i ) H(P,Q)=-\sum_{i}p(x_i)\log{q(x_i)} H(P,Q)=−i∑p(xi)logq(xi)
交叉熵的性质
在我们拥有的模型 Q Q Q完全等于目标模型 P P P时,可以通过数学证明,此时交叉熵 H ( P , Q ) H(P,Q) H(P,Q)是对于模型 P P P时最小的,此时交叉熵即退化为信息熵 ,即信息熵的取值是对于目标概率模型P的交叉熵中最小的。
当 Q Q Q等于 P P P时,交叉熵是对于 P P P模型中最小的,但这并不意味着此时的交叉熵为0 。交叉熵在此时退化为信息熵,而信息熵只有在概率模型的概率分布完全集中 ,也就是其中1个类别的概率为 1 1 1时,信息熵才为 0 0 0。
相对熵(KL散度)
相对熵就是KL散度 。对于目标概率模型 P P P和我们拥有的概率模型 Q Q Q,相对熵 D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q)即为 Q Q Q对 P P P的交叉熵 H ( p , q ) H(p,q) H(p,q)与 P P P的信息熵 H ( p ) H(p) H(p)的差值。
其中信息熵为交叉熵的下界 (即最低取值)。相对熵的公式为
D K L ( p ∣ ∣ q ) = ∑ i p ( x i ) log p ( x i ) q ( x i ) D_{KL}(p||q)=\sum_i{p(x_i)\log{\frac{p(x_i)}{q(x_i)}}} DKL(p∣∣q)=i∑p(xi)logq(xi)p(xi)
相对熵的公式可以转化为交叉熵与信息熵的差值,以下为推导
D K L ( p ∣ ∣ q ) = ∑ i p ( x i ) log p ( x i ) − ∑ p ( x i ) log q ( x i ) = − ( − ∑ i p ( x i ) log p ( x i ) − ( − ∑ p ( x i ) log q ( x i ) ) ) = − ( H ( p ) − ( H ( p , q ) ) ) = H ( p , q ) − H ( p ) \begin{align} D_{KL}(p||q)&=\sum_i{p(x_i)}\log{p(x_i)}-\sum{p(x_i)\log{q(x_i)}}\\[1.2em] &=-(-\sum_i{p(x_i)}\log{p(x_i)}-(-\sum{p(x_i)\log{q(x_i)}}))\\[1.2em] &=-(H(p)-(H(p,q)))\\[1.2em] &=H(p,q)-H(p)\\[1.2em] \end{align} DKL(p∣∣q)=i∑p(xi)logp(xi)−∑p(xi)logq(xi)=−(−i∑p(xi)logp(xi)−(−∑p(xi)logq(xi)))=−(H(p)−(H(p,q)))=H(p,q)−H(p)
相对熵的性质
当目标概率模型 P P P与我们拥有的模型 Q Q Q相等时,即 p ( x i ) = q ( x i ) p(x_i)=q(x_i) p(xi)=q(xi)时,交叉熵与信息熵相等,此时相对熵取到最小值 为 0 0 0。
D K L ( p ∣ ∣ q ) = ∑ i p ( x i ) log 1 = 0 D_{KL}(p||q)=\sum_i{p(x_i)\log{1}}=0 DKL(p∣∣q)=i∑p(xi)log1=0