【1】通信的定义
信息量(Information Content)是信息论中的一个核心概念,用于定量描述一个事件发生时所提供的“信息”的多少。它通常用随机变量 𝑥的概率分布来定义。事件 𝑥发生所携带的信息量由公式给出:
I
(
x
)
=
−
log
p
(
x
)
I(x)=-\log p(x)
I(x)=−logp(x)
其中,
p
(
x
)
p(x)
p(x)表示事件 𝑥发生的概率。
∙ 概率越小,事件越不常见,发生时提供的信息量越大。 ∙ 概率为 1 的事件是确定的,不提供任何信息量( I ( x ) = 0 )。 ∙ 概率接近 0 的事件非常罕见,信息量趋近无穷大。 \begin{aligned}&\bullet\quad\text{概率越小,事件越不常见,发生时提供的信息量越大。}\\&\bullet\quad\text{概率为 }1\text{ 的事件是确定的,不提供任何信息量(}I(x)=0\text{)。}\\&\bullet\quad\text{概率接近 }0\text{ 的事件非常罕见,信息量趋近无穷大。}\end{aligned} ∙概率越小,事件越不常见,发生时提供的信息量越大。∙概率为 1 的事件是确定的,不提供任何信息量(I(x)=0)。∙概率接近 0 的事件非常罕见,信息量趋近无穷大。
信息量描述单个事件的信息贡献,而熵(Entropy)是信息量的期望值,用于衡量整个概率分布的不确定性:
对于离散随机变量的熵的定义为:
H
[
x
]
=
−
∑
x
p
(
x
)
log
2
p
(
x
)
\mathrm{H}[x]=-\sum_xp(x)\log_2p(x)
H[x]=−x∑p(x)log2p(x)
对于连续随机变量的熵的定义为:
H [ x ] = E [ − ln p ( x ) ] = − ∫ p ( x ) ln p ( x ) d x \mathrm H[x]=\mathbb E[-\ln p(x)]=-\int p(x)\ln p(x) dx H[x]=E[−lnp(x)]=−∫p(x)lnp(x)dx
从通信角度来说,熵的值相当于对随机变量 x x x 的每个可能状态进行编码时,理论上的最短平均编码长度。
熵越大,系统的不确定性越大;熵越小,系统越接近确定性。
【2】机器学习应用
在机器学习中,一般需要构造一个概率分布 q ( x ) q(x) q(x) 来逼近一个未知的目标分布 p ( x ) p(x) p(x)。
对于一个给定的连续分布 p ( x ) p(x) p(x),其随机变量 x x x 取特定值所能提供的信息量为 − l n p ( x ) − ln p(x) −lnp(x),并且该随机变量 x x x 的平均信息量为 − ∫ p ( x ) l n p ( x ) d x − ∫p(x) ln p(x) dx −∫p(x)lnp(x)dx。
当用近似分布
q
(
x
)
q(x)
q(x) 来替代目标分布
p
(
x
)
p(x)
p(x) 时,随机变量 x 取特定值的估计信息量变
为
−
l
n
q
(
x
)
− ln q(x)
−lnq(x),而相应的熵变为
−
∫
p
(
x
)
l
n
q
(
x
)
d
x
−∫p(x) ln q(x) dx
−∫p(x)lnq(x)dx。
疑问
问题:这里为什么变成 p ( x ) l n q ( x ) p(x)lnq(x) p(x)lnq(x),而不是 q ( x ) l n q ( x ) q(x)lnq(x) q(x)lnq(x)?
在机器学习中,当使用一个近似分布 ( q ( x ) q(x) q(x) ) 来替代目标分布 ( p ( x ) p(x) p(x) ) 时,出现 ( p ( x ) ln q ( x ) p(x) \ln q(x) p(x)lnq(x)) 而不是 ( q ( x ) ln q ( x ) q(x) \ln q(x) q(x)lnq(x) ) 的原因主要源于我们关心的是目标分布 ( p ( x ) p(x) p(x) ) 的特性,而不是 ( q ( x ) q(x) q(x) ) 本身。这可以从以下几个方面理解:
1. 核心目标:逼近目标分布 ( p(x) )
- 我们的目标是构造一个 ( q ( x ) q(x) q(x) ) 来逼近 ( p ( x ) p(x) p(x) )。因此,我们需要使用 ( p ( x ) p(x) p(x) ) 来评估 ( q ( x ) q(x) q(x) ) 的好坏。
- 如果直接使用 ( q ( x ) ln q ( x ) q(x) \ln q(x) q(x)lnq(x) ),我们只是在描述 ( q ( x ) q(x) q(x) ) 本身的性质,而没有体现它与 ( p ( x ) p(x) p(x) ) 的关系。
2. 期望的计算权重由 ( p(x) ) 决定
- 在概率分布中,期望的计算权重应该反映目标分布 ( p ( x ) p(x) p(x) ) 的实际情况。
- 通过积分
−
∫
p
(
x
)
ln
q
(
x
)
d
x
- \int p(x) \ln q(x) dx
−∫p(x)lnq(x)dx我们是用目标分布 (
p
(
x
)
p(x)
p(x) ) 的概率来加权评估 (
q
(
x
)
q(x)
q(x) ) 的表现。
这意味着我们关注的是目标分布下的“真实情况”,而不是 ( q ( x ) q(x) q(x) ) 自己的特性。
3. 解释:信息论中的编码思想
信息论中,我们希望用 ( q ( x ) q(x) q(x) ) 来编码目标分布 ( p ( x ) p(x) p(x) ) 中的数据。如果 ( p ( x ) p(x) p(x) ) 是真实分布, ( q ( x ) q(x) q(x) ) 是我们的近似分布:
- ( − ln p ( x ) -\ln p(x) −lnp(x) ):真实分布下的理想编码长度。
- ( − ln q ( x ) -\ln q(x) −lnq(x) ):用近似分布编码时的实际长度。
用 ( q ( x ) q(x) q(x) ) 来编码 ( p ( x ) p(x) p(x) ) 时,随机变量 ( x x x ) 的取值是依据 ( p ( x ) p(x) p(x) ) 来产生的,因此应该以 ( p ( x ) p(x) p(x) ) 为权重来衡量编码的平均长度,即 ( − ∫ p ( x ) ln q ( x ) d x -\int p(x) \ln q(x) dx −∫p(x)lnq(x)dx)。
4. 直观理解:错误代价的衡量
如果我们直接使用 ( q ( x ) ln q ( x ) q(x) \ln q(x) q(x)lnq(x) ),那相当于仅关注 ( q ( x ) q(x) q(x) ) 自己的内部一致性,但我们真正关心的是 ( q ( x ) q(x) q(x) ) 与 ( p ( x ) p(x) p(x) ) 的差异。这种差异需要通过目标分布 ( p ( x ) p(x) p(x) ) 来衡量:
- ( p ( x ) ln q ( x ) p(x) \ln q(x) p(x)lnq(x) ):用 ( q ( x ) q(x) q(x) ) 来描述 ( p ( x ) p(x) p(x) ) 时的估计误差。
- 它是对真实分布 ( p ( x ) p(x) p(x) ) 的状态进行编码的平均代价,而非对 ( q ( x ) q(x) q(x) ) 自身的特性描述。
5. 与 KL 散度的关系
KL 散度(Kullback-Leibler divergence)用于衡量两个分布的差异,其定义为:
D
K
L
(
p
∣
∣
q
)
=
∫
p
(
x
)
ln
p
(
x
)
q
(
x
)
d
x
=
−
∫
p
(
x
)
ln
q
(
x
)
d
x
+
∫
p
(
x
)
ln
p
(
x
)
d
x
D_{KL}(p || q) = \int p(x) \ln \frac{p(x)}{q(x)} dx = - \int p(x) \ln q(x) dx + \int p(x) \ln p(x) dx
DKL(p∣∣q)=∫p(x)lnq(x)p(x)dx=−∫p(x)lnq(x)dx+∫p(x)lnp(x)dx
可以看出, (
−
∫
p
(
x
)
ln
q
(
x
)
d
x
-\int p(x) \ln q(x) dx
−∫p(x)lnq(x)dx) 是 KL 散度的一部分,用来描述 (
q
(
x
)
q(x)
q(x) ) 对 (
p
(
x
)
p(x)
p(x) ) 的拟合质量。
总结
变成 ( − ∫ p ( x ) ln q ( x ) d x -\int p(x) \ln q(x) dx −∫p(x)lnq(x)dx) 是因为我们关心的是 ( q ( x ) q(x) q(x) ) 对目标分布 ( p ( x ) p(x) p(x) ) 的拟合情况,而不是 ( q ( x ) q(x) q(x) ) 自己的特性。通过以 ( p ( x ) p(x) p(x) ) 作为权重来计算期望,我们能够更准确地反映目标分布下的编码代价和近似质量。
后记
2024年11月21日21点00分于上海。基于GPT4o大模型生成。