信息论

信息论是研究信息的量化、处理和通信的学科。熵作为核心概念,衡量了随机变量的不确定性。离散熵表达了平均信息量,连续熵则通过积分计算。此外,相对熵(KL散度)用于比较分布的差异,互信息则量化了两个变量之间的依赖程度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

信息论
  • 一个离散变量xxx
  • 对于该变量的一个观测值,我们需要一个量来衡量从这个观测量中得到了多少关于 xxx 的信息。 从主观意义上来说,一个不常见的观测值所提供的新信息要比常见的观测值要多。
  • 信息量→\to"惊讶程度"
  • h(x)=−log2p(x)h(x)=-log_2{p(x)}h(x)=log2p(x)
  • 高概率对应的信息量低,低概率对应的信息量高;

熵(entroy)

  • 传输的平均信息量
    H[x]=−∑xp(x)log2p(x) H[x]=-\sum_xp(x)log_2p(x) H[x]=xp(x)log2p(x)
  • 熵与编码长度(bit)

自然对数熵

现在考虑自然对数表示的熵。此时熵的单位是 nat 而不是 bit

我们之前用平均信息量的方式引入了熵,事实上熵的概念是从物理上引入的。

假设我们将 NNN 个相同的小球放入一些容器中,使得第 iii 个容器中有 nin_ini 个球,∑ini=N\sum_i n_i = Nini=N

我们按顺序从第 1 个容器开始往里面放入小球,第 1 个有 NNN 种选择,第 2 个有 N−1N-1N1 种选择……总共有 N!N!N! 种选择。
但是放入每个容器中的 nin_ini 个球是不区分顺序的,有 ni!n_i!ni! 种可能性放置这些小球,因此总的可能方法有
W=N!∏ini! W = \frac{N!}{\prod_i n_i!} W=ini!N!

定义熵为
H=1Nln⁡W=1Nln⁡N!−1N∑iln⁡ni! H = \frac{1}{N} \ln W = \frac 1 N\ln N! - \frac 1 N \sum_{i} \ln n_i ! H=N1lnW=N1lnN!N1ilnni!
N→∞N \to \inftyN 时,由 Stirling 近似公式:
ln⁡N!≈Nln⁡N−N \ln N! \approx N \ln N - N lnN!NlnNN
我们有
H=lim⁡N→∞1N(Nln⁡N−N)−1N∑i(niln⁡ni−ni)=−lim⁡N→∞∑i(niN)ln⁡(niN)=−∑ipiln⁡pi H = \lim_{N\to \infty} \frac 1 N (N\ln N - N) - \frac 1 N \sum_{i} (n_i \ln n_i - n_i) \\ = -\lim_{N\to \infty} \sum_i \left(\frac{n_i}{N}\right) \ln \left(\frac{n_i}{N}\right)\\ = -\sum_i p_i \ln p_i H=NlimN1(NlnNN)N1i(nilnnini)=Nlimi(Nni)ln(Nni)=ipilnpi
pi=lim⁡N→∞(niN)p_i = \lim_{N\to\infty} \left(\frac{n_i}{N}\right)pi=limN(Nni) 是小球放入第 i 个容器的概率。
在物理上,容器中小球的分布叫做微观状态,各个容器中的小球数目叫做宏观状态。
对于一个离散随机变量 XXX 的取值 xix_ixi 当作一个容器,即有 p(X=xi)=pip(X=x_i)=p_ip(X=xi)=pi,则它的熵为:
H[p]=−∑ip(xi)ln⁡p(xi) H[p] = - \sum_i p(x_i) \ln p(x_i) H[p]=ip(xi)lnp(xi)
一般来说,一个离散分布的点越多,分布越均匀,那么对应的熵也越大。
如果其中有一个 pi=1p_i=1pi=1,那么熵取到最小值 0,最大值可以用 Lagrange 乘子求解,Lagrange 函数为
H~=−∑ip(xi)ln⁡p(xi)+λ(∑ip(xi)−1) \tilde H = - \sum_i p(x_i) \ln p(x_i) + \lambda \left(\sum_i p(x_i) - 1\right) H~=ip(xi)lnp(xi)+λ(ip(xi)1)

最大化这个函数得到:

∂H~∂p(xi)=−1−ln⁡p(xi)+λ=0 \frac{\partial \tilde H}{\partial p(x_i)} = -1 -\ln p(x_i) + \lambda = 0 p(xi)H~=1lnp(xi)+λ=0

得到最大熵应该满足一个均匀离散分布 p(xi)=p(xj),∀i,jp(x_i)=p(x_j), \forall i,jp(xi)=p(xj),i,j
若状态总数为 MMM,则 p(xi)=1Mp(x_i) = \frac 1 Mp(xi)=M1,此时,我们有 H=ln⁡MH = \ln MH=lnM

连续变量的熵

H[x]=−∫p(x)ln⁡p(x)dxH[\mathbf x]=-\int p(\mathbf x) \ln p(\mathbf x) d\mathbf xH[x]=p(x)lnp(x)dx

  • 一阶矩:期望/平均数 E[x]E[x]E[x]
  • 二阶矩:随机变量平方的期望E[x2]E[x^2]E[x2]
  • 三阶矩:E[x3]E[x^3]E[x3]
  • ∫iΔi+1Δp(x)dx=p(xi)Δ \int_{i\Delta}^{i+1\Delta} p(x) dx = p(x_i) \Delta iΔi+1Δp(x)dx=p(xi)Δ

我们可以将落在第 iii 小段的 xxx 对应为 xix_ixi,则观测到 xix_ixi 的概率为 p(xi)Δp(x_i) \Deltap(xi)Δ,这给出了一个关于 xix_ixi 的离散分布,其熵为:

HΔ=−∑ip(xi)Δln⁡(p(xi)Δ)=−∑ip(xi)Δln⁡(p(xi))−ln⁡Δ H_{\Delta} = - \sum_i p(x_i) \Delta \ln(p(x_i) \Delta) = - \sum_i p(x_i) \Delta \ln(p(x_i)) - \ln\Delta HΔ=ip(xi)Δln(p(xi)Δ)=ip(xi)Δln(p(xi))lnΔ

其中 p(xi)Δ=1p(x_i) \Delta= 1p(xi)Δ=1,现在忽略最后的常数项,然后考虑 Δ→0\Delta \to0Δ0 的情况,我们有

−lim⁡Δ→0{∑ip(xi)Δln⁡(p(xi)Δ)}=−∫p(x)ln⁡p(x)dx -\lim_{\Delta \to 0} \left\{ \sum_i p(x_i) \Delta \ln(p(x_i) \Delta) \right\} = -\int p(x) \ln p(x) dx Δ0lim{ip(xi)Δln(p(xi)Δ)}=p(x)lnp(x)dx

这一项叫做微分熵(differential entropy),它与离散熵的差别在于一个 ln⁡Δ\ln \DeltalnΔ,在 Δ→0\Delta \to0Δ0 时会发散的部分。

对于多元向量 x\mathbf xx,微分熵定义为

H[x]=−∫p(x)ln⁡p(x)dx H[\mathbf x]=-\int p(\mathbf x) \ln p(\mathbf x) d\mathbf x H[x]=p(x)lnp(x)dx

在离散分布的例子中,我们看到最大化熵的分布是均匀离散分布。

为了最大化连续分布的熵,我们需要加上 p(x)p(x)p(x) 的一阶矩和二阶矩都固定的条件。

考虑一维情况,我们的问题为

max⁡p(x) −∫p(x)ln⁡p(x)dxs.t. 1=∫−∞∞p(x)dxμ=∫−∞∞xp(x)dxσ2=∫−∞∞(x−μ)2p(x)dx \max_{p(x)}~ -\int p(x) \ln p(x) dx \\ s.t.~ 1 = \int_{-\infty}^{\infty} p(x) dx \\ \mu = \int_{-\infty}^{\infty} xp(x) dx\\ \sigma^2 = \int_{-\infty}^{\infty} (x-\mu)^2p(x) dx\\ p(x)max p(x)lnp(x)dxs.t. 1=p(x)dxμ=xp(x)dxσ2=(xμ)2p(x)dx
Lagrange 函数为
−∫p(x)ln⁡p(x)dx+λ1(∫−∞∞p(x)dx−1)+λ2(∫−∞∞xp(x)dx−μ)+λ3(∫−∞∞(x−μ)2p(x)dx−σ2)) -\int p(x) \ln p(x) dx + \lambda_1 \left(\int_{-\infty}^{\infty} p(x) dx - 1\right) + \lambda_2 \left(\int_{-\infty}^{\infty} xp(x) dx - \mu\right) + \lambda_3 \left(\int_{-\infty}^{\infty} (x-\mu)^2p(x) dx - \sigma^2) \right) p(x)lnp(x)dx+λ1(p(x)dx1)+λ2(xp(x)dxμ)+λ3((xμ)2p(x)dxσ2))
令这个泛函对 p(x)p(x)p(x) 的导数为 0,得到
1−ln⁡p(x)+λ1+λ2x+λ3(x−μ)2=0 1-\ln p(x)+\lambda_1 + \lambda_2 x + \lambda_3 (x-\mu)^2 = 0 1lnp(x)+λ1+λ2x+λ3(xμ)2=0
从而
p(x)=exp⁡{1+λ1+λ2x+λ3(x−μ)2} p(x) = \exp\left\{1+\lambda_1 + \lambda_2 x + \lambda_3 (x-\mu)^2\right\} p(x)=exp{1+λ1+λ2x+λ3(xμ)2}
得到
p(x)=1(2πσ2)1/2exp⁡{−(x−μ)22σ2} p(x) = \frac{1}{(2\pi\sigma^2)^{1/2}} \exp\left\{-\frac{(x-\mu)^2}{2\sigma^2}\right\} p(x)=(2πσ2)1/21exp{2σ2(xμ)2}

即最大熵的分布是高斯分布。

注意到,我们并没有对 p(x)p(x)p(x) 做非负的约束,但是最大化给出的结果是一个非负的结果。

高斯分布的熵为:
H[x]=12{1+ln⁡(2πσ2)} H[x]=\frac{1}{2} \left\{1+\ln(2\pi\sigma^2)\right\} H[x]=21{1+ln(2πσ2)}
从这个表达式我们可以看出,与离散熵不同,连续熵可以为负值,当σ2&lt;12πe时,H(x)&lt;0\sigma^2 &lt; \frac{1}{2\pi e}时, H(x) &lt; 0σ2<2πe1H(x)<0,原因是概率密度函数 p(x) 没有小于 1 的限制,因此 −p(x)ln⁡p(x)-p(x)\ln p(x)p(x)lnp(x) 不能保证非负。

相对熵和互信息

  • 1.6.1 相对熵和互信息

    假设我们有一个未知分布 p(x)p(\mathbf x)p(x),然后对它建模得到了一个概率分布 q(x)q(\mathbf x)q(x)
    q(x)q(\mathbf x)q(x) 的分布来传送 xxx 所用的信息量(q(x)q(\mathbf x)q(x)),比用真实的分布 p(x)p(\mathbf x)p(x) 传送所用的信息量(p(x)p(\mathbf x)p(x))要多一些,多出来的部分为:
    KL(p∥q)=−∫p(x)ln⁡(q(x))dx−(−∫p(x)ln⁡p(x))=−∫p(x)ln⁡{q(x)p(x)} KL(p\|q) = - \int p(\mathbf x)\ln(q(\mathbf x)) dx - \left(-\int p(\mathbf x)\ln p(\mathbf x)\right)\\ = - \int p(\mathbf x)\ln \left\{\frac{q(\mathbf x)}{p(\mathbf x)}\right\} KL(pq)=p(x)ln(q(x))dx(p(x)lnp(x))=p(x)ln{p(x)q(x)}
    这叫做相对熵(relative entropy)或者 Kullback-Leibler 散度(Kullback-Leibler divergence)。
    K-L 散度不是对称的,即 KL(p∥q)≠KL(q∥p)KL(p\|q) \neq KL(q\|p)KL(pq)̸=KL(qp)
    K-L 散度满足 KL(p∥q)≥0KL(p\|q) \geq 0KL(pq)0,当且仅当 p(x)=q(x)p(\mathbf x)=q(\mathbf x)p(x)=q(x) 时取等号。

  • 凸函数

    如果一个函数的弦(chord)始终在函数上或者函数上方,那么这个函数就是凸函数。
    [a,b][a,b][a,b]的区间内的任意点 xxx 都可以写成 λa+(1−λ)b,0≤λ≤1\lambda a +(1-\lambda)b, 0\leq\lambda \leq 1λa+(1λ)b,0λ1,对应的弦上的值为 λf(a)+(1−λ)f(b)\lambda f(a) +(1-\lambda) f(b)λf(a)+(1λ)f(b),函数值为 f(λa+(1−λ)b)f(\lambda a +(1-\lambda)b)f(λa+(1λ)b)
    凸性等价于
    f(λa+(1−λ)b)≤λf(a)+(1−λ)f(b) f(\lambda a +(1-\lambda)b) \leq \lambda f(a) +(1-\lambda) f(b) f(λa+(1λ)b)λf(a)+(1λ)f(b)
    这也等价于函数的二阶导数非负(如果二阶导数存在)。
    如果 f(x)f(x)f(x) 是凸函数,那么 −f(x)-f(x)f(x) 是凹函数。

  • Jensen 不等式
    对于任意凸函数 f(x)f(x)f(x)Jensen 不等式成立:
    f(∑i=1Mλixi)≤∑i=1Mλif(xi) f\left(\sum_{i=1}^M \lambda _i x_i\right) \leq \sum_{i=1}^M\lambda_i f(x_i) f(i=1Mλixi)i=1Mλif(xi)
    其中 λi≥0,∑iλi=1\lambda_i \geq 0, \sum_i \lambda_i = 1λi0,iλi=1。等式成立的条件为 fff 是线性,或者所有的 xix_ixi 都相等。
    如果我们认为 λi\lambda_iλi 是某个离散分布取 xix_ixi 的概率,那 Jenson 不等式可以表示为
    f(E[x])≤E[f(x)] f\left(\mathbb E[\mathbf x]\right) \leq \mathbb E[f(\mathbf x)] f(E[x])E[f(x)]
    不等式成立的条件为 xxx 为常数,或者 fff 是线性的。
    更一般的,我们有:
    f(E[y(x)])≤E[f(y(x))] f\left(\mathbb E[y(\mathbf x)]\right) \leq \mathbb E[f(y(\mathbf x))] f(E[y(x)])E[f(y(x))]
    对于连续形式,我们有
    f(∫y(x)p(x)dx)≤∫f(y(x))p(x)dx f\left(\int y(\mathbf x)p(\mathbf x)d\mathbf x\right) \leq \int f(y(\mathbf x))p(\mathbf x)d\mathbf x f(y(x)p(x)dx)f(y(x))p(x)dx

  • 应用 Jensen 不等式

    Jensen 不等式应用到 K-L 散度(−ln⁡x-\ln xlnx 是凸函数)上:

    KL(p∣∣q)=−∫p(x)ln⁡{q(x)p(x)}dx≥−ln⁡∫{p(x)q(x)p(x)}=−ln⁡∫q(x)dx=0 KL(p||q)=-\int p(\mathbf x)\ln\left\{\frac{q(\mathbf x)}{p(\mathbf x)}\right\} d\mathbf x \geq -\ln \int \left\{p(\mathbf x) \frac{q(\mathbf x)}{p(\mathbf x)}\right\} = -\ln \int q(\mathbf x)d\mathbf x = 0 KL(pq)=p(x)ln{p(x)q(x)}dxln{p(x)p(x)q(x)}=lnq(x)dx=0

    因为 −ln⁡x-\ln xlnx 是严格凸的,因此等式只能在 q(x)p(x)\frac{q(\mathbf x)}{p(\mathbf x)}p(x)q(x) 为常数时成立,考虑到两者都是概率分布(积分都为 1),所以只能有 p(x)=q(x)p(\mathbf x) = q(\mathbf x)p(x)=q(x) 成立。
    因此,我们可以将 K-L 散度来衡量两个分布的差异。
    另一方面,我们看到,当我们使用真实的数据分布传送数据,所用信息量的期望是最小的。

  • 最小化相对熵
    假设我们有一组从未知分布 p(x)p(\mathbf x)p(x) 中产生的数据,我们的模型为 q(x∣θ)q(\mathbf{x|\theta})q(xθ),一个决定参数 θ\mathbf \thetaθ 的方法就是最小化 p(x)p(\mathbf x)p(x)q(x∣θ)q(\mathbf{x|\theta})q(xθ)K-L 散度。

    然而我们并不知道 p(x)p(x)p(x) 的真实分布,一个近似的方法是使用已观测的数据进行模拟:

    KL(p∣q)≈∑n=1N(−ln⁡q(xn∣θ)+ln⁡p(xn)) KL(p|q) \approx \sum_{n=1}^N (-\ln q(\mathbf{x}_n | \mathbf{\theta}) + \ln p(\mathbf x_n)) KL(pq)n=1N(lnq(xnθ)+lnp(xn))

    由于右边的部分与 θ\mathbf\thetaθ 无关,因此,最小化 K-L 散度就相当于最大化似然函数。

  • 互信息
    考虑两个变量 x,y\mathbf{x,y}x,y 的分布,如果它们独立,则 p(x,y)=p(x)p(y)p(\mathbf{x,y}) = p(\mathbf{x})p(\mathbf{y})p(x,y)=p(x)p(y),如果他们不独立,则我们用 p(x,y)p(\mathbf{x,y})p(x,y)p(x)p(y)p(\mathbf{x})p(\mathbf{y})p(x)p(y)K-L 散度来衡量它们接近独立的程度:

    I[x,y]≡KL(p(x,y)∣∣p(x)p(y))=−∬p(x,y)ln⁡p(x)p(y)p(x,y)dxdy I[\mathbf{x,y}] \equiv KL(p(\mathbf{x,y})||p(\mathbf{x})p(\mathbf{y})) = - \iint p(\mathbf{x,y}) \ln \frac{p(\mathbf{x})p(\mathbf{y})}{p(\mathbf{x,y})} d\mathbf xd\mathbf y I[x,y]KL(p(x,y)p(x)p(y))=p(x,y)lnp(x,y)p(x)p(y)dxdy

    这叫做 x\mathbf xxy\mathbf yy 的互信息(mutual information)。从 K-L 散度的性质中我们可以看出,I[x,y]≥0I[\mathbf{x,y}] \geq 0I[x,y]0,当且仅当 x,y\mathbf{x,y}x,y 是独立的时候等号成立。

    另外,我们从定义式中可以得到:

    I[x,y]=H[x]−H[x∣y]=H[y]−H[y∣x] I[\mathbf{x,y}] = H[\mathbf x] - H[\mathbf{x|y}] = H[\mathbf y] - H[\mathbf{y|x}] I[x,y]=H[x]H[xy]=H[y]H[yx]

    所以我们可以将互信息看成是给定 y\mathbf yyx\mathbf xx 信息量的减少值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值