信息论
离散熵
对于一个离散型随机变量 X,设其概率质量函数为 p(x),其熵(entropy)定义为
对数的底数往往取 2 或者 \mathrm{e}。
例
退化分布的熵是 0。
熵与信息
熵的信息含义
当我们说离散变量 X 的信息熵是 H(X) 时,可以理解为,当 X 这个随机变量被独立重复观测了 n 次结果时,我们需要多长的编码来储存这些结果?
Hoffman 编码
Hoffman 编码 描述了 X 的最优编码长度。
微分熵
导入
对于连续型随机变量 X,其概率密度为 p(x),我们尝试定义其熵。模仿 Riemann 积分的推导过程,我们将其切分为许多个长为 \Delta x 的小区间,有
当 \Delta x \to 0 时,第一项趋于一个 Riemann 积分 \int p(x) \log p(x) \mathrm{d} x,而第二项的求和号内趋于 \int p(x) \mathrm{d} x = 1,但 \log \Delta x 却趋于负无穷大。
为了避免引入无穷大带来的运算麻烦,我们舍弃掉上式的第二项带来的一个无穷大的背景常数,于是得到了连续型随机变量的熵:
定义
参考:Entropy_for_continuous_random_variables - Entropy (information theory) - Wikipedia
对于一个连续型随机变量 X,设其概率密度函数为 p(x),其微分熵(differential entropy)定义为
同样地,对数的底数往往取 2 或者 \mathrm{e}。
微分熵不同于离散熵,尽管它仍然某种意义上表征变量的信息含量或不确定程度,但它不再能表征随机变量的编码长度。它只是一个定距变量而不是定比变量,这是因为我们在推导中舍弃了一个无穷大。因此,比较 X 的微分熵是 Y 的几倍是没有意义的,但在某些时候,两个熵的差值仍有意义。
条件熵
定义:类比条件数学期望,我们可以定义
但是,条件熵不定义为 h(Y),而是定义为:
也就是说,不同于条件随机变量,条件熵是一个实数。
计算:
互信息
定义:
意义:在已知变量 Y 的取值后
设两个随机变量 X, Y 的联合概率函数为 p,条件概率函数为 p_X。在离散情况下,互信息的定义为:
在连续情况下,互信息的定义为:
交叉熵
引入
我们已经知道,对于离散分布 p_i,熵衡量了编码一个 i.i.d. 随机变量列 X_1, X_2, \dots 所需的平均编码长度。即,最终发送一个长为 n 的”随机变量结果列“时,在最优编码下,大致需要
个比特。
假设我们已经有一个离散随机分布 q_k,它可以给出一种编码方式 E_q,使得对于 i.i.d. 的 Y_i \sim q_k 列,其给出最优编码;现在,我们写好了针对 q_k 的编码,但是我们发现实际结果的出现频率变化了,新的频率应该由 p_k 描述。这时如果我们仍然用编码器 E_q 去编码 p_k 的结果列,会得到多大的长度呢?
根据熵的定义,对于概率为 q_k 的随机变量结果,我们需要使用 - \log_2 q_k 个比特来编码,但这种情况现在的频率是 p_k,所以平均编码长度变为
上式已经给出了交叉熵的定义。
定义
当两个离散概率分布 p 和 q 的取值集合相同时,定义真实分布为 p、编码分布为 q 时的交叉熵为
这个交叉熵表征了使用 q 的最优编码,去编码 p 的结果列时的平均编码长度。
这里存在术语约定的严重模糊现象,3Blue1Brown 称真实分布 p、编码分布 q 的情况为”q 相对于 p 的交叉熵“ (cross-entropy of q relative to p),并记作 H(p, q),但注意不同教材存在不同的记号。
读完了,有什么想法?
阅读已保存的问答示例,并循着引用回到原文。