信息量、熵、交叉熵、KL散度、JS散度
前言
提示:该篇文章是笔者综合B站、知乎、优快云多篇文章所整理,如果文中有错误,感谢大家指正
为了学习GAN模型、WGAN模型,笔者整理了KL散度、JS散度、和Wasserstein距离,掌握它们的定义和计算形式以便于后续的学习。
一、信息量
信息量是值信息多少的度量,事件的不确定性越大,它承载的信息量就越大,反之,如果一个事件必然发生,那么它的信息量就是0。
某个事件的信息量和该事件发生的概率相关,信息量的计算公式为:
假设 X X X是一个离散型随机变量,取值集合为 χ \chi χ,概率分布函数 p ( x ) = P ( X = x ) , x ∈ χ p(x)=P(X=x),x\in \chi p(x)=P(X=x),x∈χ,则事件 X = x 0 X=x_0 X=x0的信息量为
I ( x 0 ) = − l o g ( p ( x 0 ) ) I(x_0)=-log(p(x_0)) I(x0)=−log(p(x0))
二、熵
一个事件发生的概率为 p ( x ) p(x) p(x),那么它所承载的信息量就是 − l o g ( p ( x ) ) -log(p(x)) −log(p(x))。而信息量的期望就是熵
熵的计算公式为:
假设事件X共有n种可能,发生 x i x_i xi的概率为 p ( x i ) p(x_i) p(xi),那个该事件的熵 H ( X ) H(X) H(X)为:
H ( X ) = − ∑ i = 1 n p ( x i ) l o g ( p ( x i ) ) H(X)=-\sum_{i=1}^n p(x_i)log(p(x_i)) H(X)=−i=1∑np(xi)log(p(x