1. 定义:
H(P) = p1*log(1/p1)+...+pn*log(1/pn)
2. 意义:
熵H(P)表示对来自P的随机变量进行编码所需的最小bit数。(当然是理想状态)
举例:
p1=0.5, p2=0.5 H(P) = 1 1bit可以区别两类
p1=0.25, p2=0.25,p3=0.25,p4=0.25 H(P) = 2 2个bits可以区别4类
深入一点:
p1=p2=p3=1/3 H(P)=1.584936
虽然实际上区别3类需要2个bits,这里可以理解为:1.58向上取整正好为2。
又前进一点:
p1=1/9, p2=1/9, p3=7/9 H(P)<1.0
虽然实际上还是需要2bits,向上取整也是1,这里可以理解为:没有充分利用每种编码方式的最大表示能力,这儿 00,01,10可以表示3类且每一类并没有充分利用,11的利用率为0。
3. 熵的值的分布情况
当每类的概率相等时,信息熵取到最大,表示值取到哪类的不确定性最大;
当每类的概率差异越大时,信息熵变小,表示值取到某一类已经更加确定了。
4.交叉熵
定义:
H(P,Q) = p1*log(1/q1)+...+pn*log(1/qn)
意义:
H(P,Q)表示使用基于Q的编码对来自P的随机变量进行编码所需的最小bit数。(当然是理想状态)
表征两个概率向量的距离可以使用交叉熵。
举例:
p1=0.25, p2=0.75; q1=0.75, q2=0.25 H(P,Q)=1.603759
p1=1/3, p2=2/3; q1=0.787304, q2=0.212696 H(P,Q)=1.603759
p1=1/3, p2=2/3; q1=0.0385291, q2=0.9614709 H(P,Q)=1.603759
4.相对熵(KL散度)
定义:
KL(P||Q)=H(P,Q)-H(P)
意义:
使用基于Q的编码对来自P的变量进行编码所需的“额外”bits数。
浙公网安备 33010602011771号