理解熵(信息熵,交叉熵,相对熵)

Highlights:

1)信息熵:编码方案完美时,最短平均编码长度的是多少。
2)交叉熵:编码方案不一定完美时(由于对概率分布的估计不一定正确),平均编码长度的是多少。
平均编码长度 = 最短平均编码长度 + 一个增量
3)相对熵:编码方案不一定完美时,平均编码长度相对于最小值的增加值。(即上面那个增量)

信息熵

1、熵的本质是香农信息量 log(1/p) 的期望;(参考了第一个答案)

H(p)=E[log(1/p)]=pilog(1/pi)

是一个期望的计算,也是记录随机事件结果的平均编码长度;
为什么信息量 是 log(1/p) 呢?
因为:一个事件结果的出现概率越低,对其编码的bit长度就越长。 以期在整个随机事件的无数次重复试验中,用最少的 bit 去记录整个实验历史。即无法压缩的表达,代表了真正的信息量。
2、熵的本质的另一种解释:最短平均编码长度;
本质含义:编码方案完美时,最短平均编码长度的是多少
3、交叉熵,则可以这样理解:使用了“估算”的编码后,得到的平均编码长度(可能不是最短的)p是真实概率分布,q是你以为的概率分布(可能不一致);你以 q 去编码,编码方案 log(1/q_i)可能不是最优的;于是,平均编码长度 = ∑ p_i *log(1/q_i),就是交叉熵;只有在估算的分布 q 完全正确时,平均编码长度才是最短的,交叉熵 = 熵

交叉熵

1.定义
本质含义:编码不一定完美时,平均编码长度是多少
连续函数:

H(p,q)=Ep[logq]=H(p)+DKL(p||q)

其中H(p)是p的信息熵,后者是相对熵
离散函数:
H(p,q)=xp(x)logq(x)=entropy(p)+DKL(p||q)

2、在 ML 中等效于相对熵
作用:用来评估,当前训练得到的概率分布,与真实分布有多么大的差异 因为与相对熵只差一个 分布 P 的信息熵,若 P 是固定的分布,与训练无关;Q 是估计的分布,应尽量等于 P。 二者一致时,交叉熵就等于 P 的熵。

相对熵

本质含义:由于编码方案不一定完美,导致的平均编码长度的增大值
离线:

DKL(p||q)=ip(i)logp(i)q(i)=entropy(p)+H(p,q)

连续:

DKL(p||q)=p(x)logp(x)q(x)dx

1)用来衡量2个取值为正数的函数的相似性
2)2个完全相同的函数,相对熵为0;差异越大,相对熵越大;
3)概率分布函数,或 概率密度函数,若函数值均大于0,相对熵可以度量两个随机分布的差异性;
4)相对熵不对称,没有交换律

你可能感兴趣的:(理解熵(信息熵,交叉熵,相对熵))