各种“熵”的理解——最新版《数学之美》第六章读书笔记

目录

1. 信息熵

1.1 数学表达

1.2 理解NLP中的信息熵概念

2. 消除不确定性

2.1 条件熵

2.1.1 数学表达

2.1.2 理解NLP中的条件熵概念

2.2 互信息

2.2.1 数学表达

2.2.2 理解NLP中的互信息概念

3. 相对熵

3.1 数学表达

3.2 理解NLP中的相对熵概念

4. 引用


 

1. 信息熵

1.1 数学表达

当我们面对一条内容丰富的消息时,我们常常会感叹“这条消息的信息量太大了”。然而,长久以来,如何以科学、客观的方式准确量化这种“信息量”一直是一个难题。直至1948年,这一挑战得到了里程碑式的解决。在这一年,著名的信息论先驱克劳德·香农(Claude Shannon)在其开创性的论文《通信的数学原理》(A Mathematic Theory of Communication)中提出了“信息熵”的概念。这一概念的引入不仅为信息的度量提供了坚实的数学基础,而且使得我们能够量化评估信息在通信系统中的实际作用。信息熵的提出,标志着信息论这一新兴学科的诞生,也为后续的信息科学和技术的发展奠定了坚实的基础。

作者强调,信息量就等于事件的不确定性,并为此举了一个生动的例子。在世界杯的冠军竞猜中,对于一个从未看过比赛的观众,我们可以设定一个猜测机制:每次他给出答案,我们支付一元钱,并告知其答案是否正确。为了最大化效率,观众可以采用二分法,首先将32支球队分为两组,每次缩小猜测范围,直至猜中冠军。基于这种方法,最多需要五次问答和五元钱的支付,即可确定冠军。这样,我们就将“哪只球队是冠军”这一信息的量化价值定为五元,从而实现了信息量的具体量化。如果球队个数变成64支,那么基于二分法,“哪只球队是冠军”的信息量将会变成6块,因为要多问一次。

如果这位观众对各国足球实力有所了解,他能意识到不同球队夺冠的概率各异。因此,他可能会采用更高效的策略,即每次分组时将热门球队(如巴西、阿根廷、法国、德国等)归为一组,非热门球队归为另一组,通过此举显著缩小搜索范围。这样的方法很可能让他在少于五次的问答内就猜出冠军。

香农提出的理论可以将上述“猜冠军”的实例巧妙地抽象化,并以数学公式的形式进行了精准表达(这种能力似乎在科学界的杰出人物中普遍存在,他们都能够将复杂的问题简化为数学模型,从而揭示其内在的规律和逻辑,太羡慕这些聪明的大脑了):

5a5be396fd804e519ae775d2915f6566.png

其中 eq?p_1%2C%20p_2%2C%20p_3%2C%20... 表示每个球队夺冠的概率,eq?log 表示底数为2的对数函数。为了更直观地理解这个概念,我们可以尝试代入前面“猜冠军”例子中的具体值进行计算。例如,当假设32支球队都有相同的夺冠概率时,根据这个公式计算出的结果恰好是5;同样地,当有64支球队时,计算结果则为6。

香农称上面的计算结果 eq?H 为“信息熵”(Entropy),单位是比特(Bit),一个比特是一位二进制数(0或者1)。对于任意一个随机变量 eq?X ,其信息熵的计算公式如下:

fe42c7d41dc647c9811e710d52a3247d.png

之所以称之为‘信息熵’,是因为这一概念与物理学中热力学领域的‘熵’有着异曲同工之妙,两者都揭示了一种秩序与混乱、确定性与不确定性的度量。在热力学中,熵代表着系统的混乱程度,是系统微观状态数量的度量,而信息熵则描述了信息的不确定性和随机性。两者虽然在不同的学科领域中发展,但它们的本质都是对某种‘无序’或‘不确定性’的量化。这种跨学科的联动真令人感叹。

1.2 理解NLP中的信息熵概念

作者指出,目前中文常用汉字的数量大约为7000个。在理想化的假设下,若每个汉字在文本中出现的概率完全相等,则根据信息论的原理,我们大约需要13比特(bit)的编码长度来唯一标识并表达一个汉字,因为 eq?2%5E%7B13%7D 约等于7000。然而,这种假设在实际情况中并不成立,因为每个汉字在实际文本中的使用频率是显著不同的。

事实上,据统计,前10%的最常用汉字占据了常用文本中超过95%的出现频率。这意味着,在实际应用中,如果我们根据汉字的出现频率进行编码,那么编码效率将大大提高。因此,在不考虑上下文信息的情况下,仅从每个汉字单独出现的频率来看,我们大约只需要9比特来编码并表达一个汉字,这显著减少了所需的存储空间或传输带宽。

进一步地,当我们将上下文信息纳入考虑时,编码效率还能得到进一步的提升。这是因为上下文信息可以帮助我们预测某个汉字在特定语境下出现的可能性,从而减少编码时的冗余。因此,在充分考虑上下文信息的情况下,我们可能只需要大约5比特就能有效地表达一个汉字,这进一步体现了自然语言处理中信息编码的复杂性和精妙性。

2. 消除不确定性

2.1 条件熵

2.1.1 数学表达

为有效减少某一事件(如“飞往三亚的机票价格是否高昂?”)的不确定性,最为有效的途径是通过外部渠道引入新的信息。这些信息可以直接针对目标事件本身(例如,“确实昂贵,当前单价已达到4000元”),也可以是与该事件相关联的其他相关事件或数据(例如,“据悉,计划前往三亚的旅客数量激增”)。通过利用这些“相关联的信息”,我们可以有效地降低目标事件的不确定性。这一策略的数学可行性可通过引入条件熵(conditional entropy)的概念加以证明。

假设 eq?X 和 eq?Y 是两个随机事件,eq?X 是我们想搞清楚的事件,则 eq?X 的信息熵(即 eq?X 的不确定性)可表示为:

6a316770da6a4707842f767f8ba7a85f.png

此外,定义在 eq?Y 条件下的条件熵可表示为如下形式,其中 eq?P%28x%2C%20y%29 表示联合概率,eq?P%28x%7Cy%29 表示条件概率:

d3a78a21f21341fa8417960ceac2ca5c.png

有概率论基础的同学可以证明,eq?H%28X%29%5Cgeqslant%20H%28X%7CY%29 ,也就是说,从外部无论引入什么样的新信息 eq?Y ,只有两种情况,要么让原本 eq?X 的信息熵减少( eq?Y 与 eq?X 相关),要么保持不变( eq?Y 与 eq?X 不相关)。

2.1.2 理解NLP中的条件熵概念

为了让大家对前述的概率概念有更深入的理解,我们可以借助在前几章详细探讨的统计语言模型来进行类比和思考。在这个框架下,我们可以将变量 eq?X 视为当前需要预测的单词,变量 eq?Y 则代表该单词之前的单词,即上下文中的前驱词。在前面章节中,我们通过实验已得出结论:在考虑单词间依赖关系的情况下,二元模型(即考虑当前单词与前一个单词之间关系的模型)相较于一元模型(仅考虑单词自身出现频率的模型)能够提供更准确的预测结果。在这里,我们从信息熵和条件熵的角度再次证明了这个观点,即  eq?H%28X%29%5Cgeqslant%20H%28X%7CY%29 。

2.2 互信息

2.2.1 数学表达

前面我们一直在提有关“相关性”的话题(只要引入与 eq?X 相关的额外信息 eq?Y,就能减少 eq?X 的信息熵),那么如何能量化这种信息之间的“相关性”呢?这就要搬出“互信息”的概念了,其数学表达式如下:

3e0a2bcc6ba5455c8b54e4c6ed1c572d.png

上面公式看似复杂,但实则本质上还是遵循信息熵的表达形式。通过简单的对数运算,我们可以得到以下结论:

dd6ab4ff1d3742b6813c3470be0aac1b.png

表达的意思就是:两个随机事件  eq?Y 与 eq?X 互信息,本质上就等于,信息熵 eq?H%28X%29 与条件熵 eq?H%28X%7CY%29 的差值(大家细细品)。如果  eq?Y 与 eq?X 完全相关,那么两者的互信息就等于 eq?H%28X%29 ;如果  eq?Y 与 eq?X 完全不相关,则互信息就等于0。

在自然语言处理场景下,互信息是很好算的,因为只要有足够多的语料,我们就能估算出计算互信息需要的各种概率。

2.2.2 理解NLP中的互信息概念

在阐述自然语言处理领域中机器翻译的挑战时,作者特别提到了互信息在处理一词多义问题上的重要性。众所周知,英语中存在许多常见词汇,它们拥有众多截然不同的含义,这些含义在语境中往往毫无关联。以“布什总统”为例,其中的“bush”一词,在英文中既可以指代人名,即美国前总统“布什”,也可以指代自然界的“灌木丛”。这两个含义在日常使用中均极为普遍。

早期,一些机器翻译软件在处理这类词汇时,由于缺乏足够的上下文理解能力,曾将“布什总统”错误地翻译为“灌木丛总统”,这样的翻译结果显然荒诞不经,引起了广泛的笑话。

为了纠正这一错误,科学家们最初尝试通过制定复杂的语法规则来区分这些词汇的不同含义。然而,他们很快发现,这种方法存在着极大的局限性。因为,无论是哪种语法规则,都难以完全覆盖语言中所有可能出现的特殊情况。更糟糕的是,每当遇到新的特殊语境或用法时,就需要添加新的语法规则,这导致语法规则库不断膨胀,变得庞大而难以管理。

显然,这种依靠语法规则来解决一词多义问题的方法并不实际。于是,研究者们转变了思路,开始利用互信息的概念来解决这一难题。互信息能够量化词汇与其上下文之间的关联性,通过分析文本中各个词汇之间的统计关系,机器翻译系统能够更准确地理解词汇在特定语境下的具体含义。比如首先,我们通过分析海量的文本数据,识别出与“布什总统”这一词组共同出现且互信息值较高的词汇,如“总统”、“美国”、“国会”、“华盛顿”等。这些词汇与“布什总统”形成了强烈的关联性,为我们提供了明确的上下文线索。同样地,我们也运用相同的方法,找出了与“灌木丛”关联紧密且互信息值显著的词汇,如“土壤”、“植物”、“野生”等,这些词汇共同勾勒出了“灌木丛”的自然环境背景。通过这种方法,我们能够更准确地理解词汇在特定上下文中的含义,从而为机器翻译提供更加精确的指导。 

实践证明,这种基于互信息的方法在处理一词多义问题上取得了显著成效,有效地解决了机器翻译中的这一难题。

3. 相对熵

3.1 数学表达

相对熵(也称为KL散度)和互信息是信息论中两个核心概念,它们在衡量信息的不确定性、相似性以及变量间的关系方面起着重要作用。相对熵主要用于度量两个概率分布函数之间的差异,而互信息则是衡量两个随机变量之间共享的信息量。

相对熵的数学表达式如下:

aab49cbd66234f9e84067743931a9703.png

作者说不用关心上面的公式本身,只要记住下面三点结论就行:

1)当两个函数在定义域内的所有取值都完全相同时,它们之间的相对熵等于零。这意味着从信息论的角度来看,这两个函数在描述数据或概率分布时没有差异。

2)相对熵是一种量化两个函数(通常是概率分布或概率密度函数)之间差异程度的度量。当相对熵的值越大时,表示这两个函数之间的差异越大;相反,如果相对熵的值越小,那么这两个函数之间的差异也就越小。

3)对于概率分布或概率密度函数,只要它们的取值都大于零(即没有零概率事件),我们就可以使用相对熵来度量这两个随机分布之间的差异。这种度量方式在信息论和机器学习中非常重要,因为它可以帮助我们理解不同分布之间的相似性或差异性。

另外,值得注意的是,相对熵是一个非对称性的度量指标,即:

65af402416054c48b4810ce5172cd840.png

这样使用起来并不方便,于是詹森和香农提出了一个很“讨巧”新的计算相对熵的公式:

899c77f206814da8b20e75486832d1ec.png

很明显,通过这样的方式,新型的相对熵就变对称了。

3.2 理解NLP中的相对熵概念

文本查重(如学术论文查重)这一场景中,相对熵的应用尤为显著。其基本原理在于通过对比两篇文本的词频分布(即概率分布函数),来评估它们之间的相似性。当两篇文本的相似度极高时,它们所包含的词汇及其频率分布将趋于一致,从而导致这两篇文本之间的相对熵值趋近于0。基于这一原理,我们可以有效地判断是否存在抄袭现象。

此外,在机器翻译领域,相对熵同样展现出其独特的价值。通过计算翻译模型的输出分布与参考翻译的分布之间的相对熵,我们可以量化评估翻译结果的质量。较低的相对熵值意味着翻译模型的输出与参考翻译更为接近,从而反映出更高的翻译质量。这为研究者和工程师提供了一个有力的工具,用于优化翻译模型,提升NLP应用的性能。

4. 引用

7239f91508f547f59652bf9e869cb142.png

 

  • 44
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值