来,我们熵量一下

这篇文章介绍了熵在信息论中的起源和发展,包括信息的概念、熵的度量方法(如联合熵、条件熵、熵率和相对熵),以及它们在通信理论、机器学习中的交叉熵概念及其应用。作者还提到《TheMathematicalTheoryofCommunication》这本书对信息论的贡献,并提及了二战时期相关研究的实际背景。

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

目录

信息和熵

联合熵

条件熵

熵率

相对熵

交叉熵


熵(Entropy)这个东西,起初是一个热力学函数,由德国科学家克劳修斯在有关热力学的文章中提出。1948年,Claude Elwood Shannon (克劳德·香农),在文章《The Mathematical Theory of Communication,通讯的数学理论》将熵作为信息论的基本概念提出来,用于衡量消息的不确定性、随机性。香农这个帅哥当时在贝尔实验室上班,主要研究信息论,是信息论的创始人。本文的一些观点和定义部分来自《The Mathematical Theory of Communication》原文和宗成庆老师的《统计自然语言处理》。

信息和熵

首先,我们来聊聊信息(information),当有一个信息源,通过连续选择离散符号,比如字母、单词、音符、标点符号等)来产生消息时,在该过程中选择各种符号的概率依赖于先前的选择(即马尔科夫过程),与此过程相关的信息又是怎么样的呢?

为了满足人们为“信息”设定的要求,最终选择热力学中称为的值来进行度量。它用所涉及的各种概率来表达在形成消息的过程中到达某些阶段的概率,以及在这些阶段中接下来选择某些符号的概率。 此外,公式里还涉及概率的对数。假设,一组n个独立符号,或者一组n个独立的完整消息,其选择的概率是p1, p2, .... pn,信息的表达式为:

H=-[p1logp1+p2logp2+...+pnlogpn]

H=-\sum_{}^{}pilogpi

其中,约定0log0=0,由于公式中的对数以2为底,该公式定义的熵的单位为二进制位(比特)。

假设,我们只在两个可能的消息之间进行选择,第一个消息的概率是p1,第二个概率是p2,如果两条消息的概率相等,H值最大,也就是说我们可以完全自由地在两条消息之间进行选择(当一个人在选择中完全自由且无偏见时)。一旦一条消息比另一条消息更有可能性,H值会减小。比如p1几乎为1,p2几乎为0,H值会非常小,几乎为0。此时,信息的不确定性非常低,这个人的选择自由度消失。当熵最大时,最难准确地预测其行为。举个不恰当的例子,比如池塘里有n条鱼,一开始都很优秀,小红不知道要选择谁,这时候partner的状态是很不稳定的,可能今天跟A约会觉得A帅气,明天跟B约会觉得B优秀等等等,小红每天都自由自在选择dating对象,每条鱼的概率都差不多。并且,随着n变大(选择越多),dating状态就会越不稳定。

联合熵

假设有两个事件X和Y,第一个事件有m种可能性,第二个事件有n种可能性。设p(i,j)为第一个事件i和第二个事件j联合出现的概率,那么联合事件的熵(joint entropy)为:

H(X,Y) = -\sum_{i\in X}\sum_{j\in Y}p(i,j)logp(i,j)

联合熵就是描述一对事件平均所需要的信息量。

条件熵

假设有两个事件X和Y,不一定独立,给定随机变量X时候,随机变量Y的条件熵(conditional entropy)为:

H(Y|X) = -\sum_{i\in X}\sum_{j\in Y}p(i,j)logp(j|i)

通过公式推导会发现

H(X,Y) =H(X) + H(Y|X)

该公式称为熵的连锁规则(chain rule for entropy),推广到一般情况有:

H(X1, X2, ..., Xn)=H(X1) + H(X2|X1) +...+ H(X2|X1,...,Xn-1)

熵率

对于一条长度为n的信息,每一个字符或者字的熵为:

H_{rate} = \frac{1}{n} H(X_{1n}) = - \frac{1}{n}\sum p(x_{1n})logp(x_{1n})

这个数值叫做熵率(entropy rate),X1n表示随机序列(X_{1}, X_{2}, ..., X_{n})x_{1n}=(x_{1}, x_{2}, ..., x_{n})

相对熵

相对熵(relative entropy)又称Kullback-Leibler divergence,简称KL散度或KL距离(KL distance),用来衡量相同事件空间里,两个概率分布相对差距的距离。两个概率分布p(x)和q(x)的相对熵定义为:

KL(p||q)=\sum p(x)log\frac{p(x)}{q(x)}

显然,当两个分布完全相同时,即p=q,相对熵为0,当两个分布的差别增加时候,相对熵的期望值也增大。所以当我们需要度量两个概率分布的差异度时候,就可以使用这个相对熵,或者叫要计算两个概率分布的KL距离。KL距离并不是对称的哦,即KL(p||q)不等于KL(q||p)。在各种散度测量中,(Jensen- Shannon divergence)JS散度是对称的。

在香农的书里,相对熵围绕信息源进行阐述:计算出某个信息源的熵后,我们可以将其与该熵可能具有的最大值进行比较。实际熵和最大熵的比值称为信息源的相对熵。比如某个信息源的相对熵是0.8,表示在该信息源选择符号来形成消息时,这80%的符号是消息发送者自由选择的字符信息,用来表达主要意思的。而减去相对熵的部分是冗余的(消息结构的一部分),不是由消息发送者自由选择决定,而是由符号使用时的统计规则决定的,如果缺少该部分信息,消息仍然基本完整,可以完成。文中指出,英文的冗余度为50%,因此当我们在书面或者口语中选择单词或者字母来发送信息时,大约有一半的单词是我们自由选择的,而另一半则是由语言的统计结构控制的。所以如果一个语言只有20%的自由度(相对熵),那就不能构建复杂的填字游戏,香农估计,如果英语只有30%的冗余,那就有可能构建三维的填字游戏。

交叉熵

交叉熵的概念就是用来衡量模型与真实概率分布之间差异的情况。如果一个随机变量X~p(x),模型q(x)为了用于近似p(x)的概率分布,那么随机变量X和模型q之间的交叉熵(cross entropy)为:

H(X, q)= H(X)+KL(p||q) = -\sum p(x)logq(x)= E_{p}(log\frac{1}{q(x)})

因此,交叉熵越小,表示模型预测的概率越真实,表现越好。

在机器学习里的损失函数中就有cross entropy,其输出为 0 到 1 之间的概率值。随着预测概率与实际标签的偏离,交叉熵损失会增加,完美模型的损失为 0。

最后讲点闲话:《The Mathematical Theory of Communication》这本书在最开始描述communication这个词的时候说,communication这个词的定义很广泛,包括一个思想可能影响另一个思想的所有过程,涉及所有人类的行为。文章给出了一个更广泛的通信定义,即包括一种机制(例如跟踪飞机并计算其未来可能位置的自动设备)影响另一种机制(假设有一枚导弹正在追赶这架飞机)的过程的定义。Shannon和之前那篇文章介绍的韦弗备忘录的Weaver都在二战期间产出了一定的研究工作,连举例都是用的导弹追踪飞机这样的内容。果然,不稳定的情况促进新兴事物的产生,感觉目前这一波战争应该能促进一下无人机的应用开发?

A Mathematical Theory of Communication原文链接:https://pure.mpg.de/rest/items/item_2383164/component/file_2383163/content

网盘链接:文件分享

嘻嘻,Shannon真帅啊,斯哈斯哈,目测也很高的样子。

斯哈斯哈。我甚至看到张他欧米伽型下巴!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值