KL散度,交叉熵和编码之间的关系
AI摘要: 本文介绍了KL散度与交叉熵的关系,指出信息量的期望为$-log(p)$,而熵是期望的和。通过KL散度衡量两个概率分布的差异,并解释了其非对称性和不对称性。进一步地,文章探讨了信息熵与编码之间的关系,以及如何利用香农编码定理来计算熵,从而导出平均编码长度的概念。最后,文章讨论了条件熵和极大似然估计在交叉熵损失函数中的应用,强调了交叉熵作为损失函数的另一种理解。
KL散度与交叉熵的关系
信息量
:, (这里的log是以e为底)。
而熵
是信息量
的的期望:
对于两个不同的概率分布,可以使用KL散度来衡量两个概率分布的差异:
也就是说,KL散度 = 交叉熵 - 信息熵
。 而信息熵在分布确定后就是个常数,所以优化交叉熵就等价于优化KL散度
注意,KL散度的非对称性,不能把KL散度看作是不同分布之间距离的度量,因为从KL散度的计算公式就可以看出它不符合对称性(距离度量应该满足对称性),即
TD-IDF算法就可以理解为相对熵的应用:词频在整个语料库的分布与词频在具体文档中分布之间的差异性
因此,如果要推导交叉熵损失函数,网络上常见的讲解是从对数几率回归来推导交叉熵损失函数,但是也可以从KL散度出发推导
信息熵和编码之间的关系
先说结论:信息熵
是信息量的期望
,那么可以反映所需要编码的比特量
比如:一个随机变量X
,一共只有四种状态(a, b, c, d),每种状态的概率是相同的(),那么信息熵就是 2,为了把 X
的值传给接收者,需要传输2比特的消息
如果上面的四个状态并不是均匀分布,比如说 ,那么需要的信息熵为 1.75, 为了把 X
的值传给接收者,我们需要传输1.75比特的消息
暗藏一个数学规律:均匀分布的信息熵比非均匀分布的信息熵,所需要的编码的位数更多,需要更多的比特;
那么,对于非均匀分布,可以使用更短的码字来表述高概率事件,使用更长的码字来表述低概率事件
(和霍夫曼编码一个道理)
香农编码定理:熵是传输一个随机变量状态值所需的比特位下界(最短平均编码长度)
也就是说,给定一组信息的各个类别概率,能够轻易计算出熵,也就能直接得到最短平均编码长度
上述的讲解可以导出交叉熵作为损失函数的另外一种理解:
所谓优化损失函数,就是用函数的分布q
(可计算) 去尽可能拟合真实分布p
(未知)。
所谓交叉熵,指用分布 来表示分布 的平均编码长度。
优化交叉熵等价于让函数去拟合真实分布
KL散度就是相对熵
设 是 离散随机变量 中取值的两个概率分布,则 对 的相对熵是:
性质:
-
如果 和 两个分布相同,那么相对熵等于0
-
,相对熵具有不对称性。大家可以举个简单例子算一下。
-
证明如下(利用Jensen不等式)(非负性)
相对熵是指用 (非真实分布) 来表示分布 (真实分布) 额外需要的编码长度。
KL散度是用来度量使用基于 “q的编码” 来编码来自 “p的样本” 平均所需的额外的位元数
条件熵
条件熵 表示在已知随机变量 的条件下随机变量 的不确定性。
条件熵 定义为 给定条件下 的条件概率分布的熵对 的数学期望:
极大似然估计角度
当然,交叉熵还有种从对数几率回归的角度的推导方式,说明交叉熵损失等价于对数几率回归的极大似然估计。
然后,对数几率中分子分母当做概率只是人为加上去的意义。