【人工智能数学基础(五)】信息论

信息论

信息论(Information Theory)是数学、物理、统计、计算机科学等多个学科的交叉领域.信息论是由克劳德·香农最早提出的,主要研究信息的量化、存储和通信等方法.这里,“信息”是指一组消息的集合.假设在一个噪声通道上发送消息,我们需要考虑如何对每一个信息进行编码、传输以及解码,使得接收者可以尽可能准确地重构出消息.

在机器学习相关领域,信息论也有着大量的应用.比如特征抽取、统计推断、自然语言处理等.

1. 熵

熵(Entropy)最早是物理学的概念,用于表示一个热力学系统的无序程度.在信息论中,熵用来衡量一个随机事件的不确定性.

1.1 自信息和熵

自信息(Self Information)表示一个随机事件所包含的信息量.一个随机事件发生的概率越高,其自信息越低.如果一个事件必然发生,其自信息为0.

对于一个随机变量 𝑋(取值集合为 𝒳,概率分布为 𝑝(𝑥), 𝑥 ∈ 𝒳),当 𝑋 = 𝑥时的自信息𝐼(𝑥)定义为

在这里插入图片描述

在自信息的定义中,对数的底可以使用 2、自然常数 𝑒 或是 10.当底为 2 时,自信息的单位为bit;当底为𝑒时,自信息的单位为nat.对于分布为𝑝(𝑥)的随机变量𝑋,其自信息的数学期望,即熵𝐻(𝑋)定义为

在这里插入图片描述

其中当𝑝(𝑥𝑖 ) = 0时,我们定义0 log 0 = 0,这与极限一致,lim𝑝→0+ 𝑝 log 𝑝 = 0.

熵越高,则随机变量的信息越多;熵越低,则随机变量的信息越少.如果变量𝑋 当且仅当在 𝑥 时 𝑝(𝑥) = 1,则熵为 0.也就是说,对于一个确定的信息,其熵为0,信息量也为0.如果其概率分布为一个均匀分布,则熵最大.

假设一个随机变量𝑋 有三种可能值𝑥1 , 𝑥2, 𝑥3,不同概率分布对应的熵如下:

在这里插入图片描述

1.2 熵编码

信息论的研究目标之一是如何用最少的编码表示传递信息.假设我们要传递一段文本信息,这段文本中包含的符号都来自于一个字母表𝑨,我们就需要对字母表𝑨中的每个符号进行编码.以二进制编码为例,我们常用的ASCII码就是用固定的 8bits 来编码每个字母.但这种固定长度的编码方案不是最优的.一种高效的编码原则是字母的出现概率越高,其编码长度越短.比如对字母 𝑎, 𝑏, 𝑐 分别编码为0, 10, 110.

给定一串要传输的文本信息,其中字母 𝑥 的出现概率为 𝑝(𝑥),其最佳编码长度为 − log2 𝑝(𝑥),整段文本的平均编码长度为 − ∑𝑥 𝑝(𝑥)log2 𝑝(𝑥),即底为 2的熵.

在对分布 𝑝(𝑥) 的符号进行编码时,熵 𝐻(𝑝) 也是理论上最优的平均编码长度,这种编码方式称为熵编码(Entropy Encoding).

由于每个符号的自信息通常都不是整数,因此在实际编码中很难达到理论上的最优值.霍夫曼编码(Huffman Coding)和算术编码(Arithmetic Coding)是两种最常见的熵编码技术.

1.3 联合熵和条件熵

对于两个离散随机变量𝑋 和𝑌,假设𝑋 取值集合为𝒳;𝑌 取值集合为𝒴,其联合概率分布满足为𝑝(𝑥, 𝑦),则

𝑋 和𝑌 的联合熵(Joint Entropy)为

在这里插入图片描述

𝑋 和𝑌 的条件熵(Conditional Entropy)为

在这里插入图片描述

根据其定义,条件熵也可以写为
在这里插入图片描述

2. 互信息

互信息(Mutual Information)是衡量已知一个变量时,另一个变量不确定性的减少程度.两个离散随机变量𝑋 和𝑌 的互信息定义为

在这里插入图片描述

互信息的一个性质为

在这里插入图片描述

如果变量𝑋 和𝑌 互相独立,它们的互信息为零.

3. 交叉熵和散度

3.1 交叉熵

对于分布为𝑝(𝑥)的随机变量,熵𝐻(𝑝)表示其最优编码长度.交叉熵(CrossEntropy)是按照概率分布𝑞的最优编码对真实分布为𝑝的信息进行编码的长度,定义为

在这里插入图片描述

在给定 𝑝 的情况下,如果 𝑞 和 𝑝 越接近,交叉熵越小;如果 𝑞 和 𝑝 越远,交叉熵就越大.

3.2 KL散度

KL 散度(Kullback-Leibler Divergence),也叫KL 距离或相对熵(Relative Entropy),是用概率分布 𝑞 来近似 𝑝 时所造成的信息损失量.KL 散度是按照概率分布𝑞的最优编码对真实分布为𝑝的信息进行编码,其平均编码长度(即交叉熵)𝐻(𝑝, 𝑞) 和 𝑝 的最优平均编码长度(即熵)𝐻(𝑝) 之间的差异.对于离散概率分布𝑝和𝑞,从𝑞到𝑝的KL散度定义为

在这里插入图片描述

其中为了保证连续性,定义0 log 00 = 0, 0 log 0𝑞= 0.

KL散度总是非负的,KL(𝑝, 𝑞) ≥ 0,可以衡量两个概率分布之间的距离.KL散度只有当𝑝 = 𝑞时,KL(𝑝, 𝑞) = 0.如果两个分布越接近,KL散度越小;如果两个分布越远,KL散度就越大.但KL散度并不是一个真正的度量或距离,一是KL散度不满足距离的对称性,二是KL散度不满足距离的三角不等式性质.

3.3 JS 散度

JS散度(Jensen-Shannon Divergence)是一种对称的衡量两个分布相似度的度量方式,定义为

在这里插入图片描述

3.4 Wasserstein距离

Wasserstein 距离(Wasserstein Distance)也用于衡量两个分布之间的距离.对于两个分布𝑞1 , 𝑞2,𝑝 th-Wasserstein距离定义为

在这里插入图片描述

其中Γ(𝑞1 , 𝑞2)是边际分布为𝑞1 和𝑞2 的所有可能的联合分布集合,𝑑(𝑥, 𝑦)为𝑥 和 𝑦的距离,比如ℓ𝑝 距离等.

如果将两个分布看作两个土堆,联合分布 𝛾(𝑥, 𝑦) 看作从土堆 𝑞1 的位置 𝑥 到土堆𝑞2 的位置𝑦的搬运土的数量,并有

在这里插入图片描述

𝑞1 和𝑞2 为𝛾(𝑥, 𝑦)的两个边际分布.

𝔼(𝑥,𝑦)∼𝛾(𝑥,𝑦)[𝑑(𝑥, 𝑦)𝑝] 可以理解为在联合分布 𝛾(𝑥, 𝑦) 下把形状为 𝑞1 的土堆搬运到形状为𝑞2 的土堆所需的工作量,

在这里插入图片描述

其中从土堆𝑞1 中的点𝑥 到土堆𝑞2 中的点𝑦 的移动土的数量和距离分别为𝛾(𝑥, 𝑦)和 𝑑(𝑥, 𝑦)𝑝.因此,Wasserstein 距离可以理解为搬运土堆的最小工作量,也称为推土机距离(Earth-Mover’s Distance,EMD).图E.1给出了两个离散变量分布的Wasserstein距离示例.图E.1c中同颜色方块表示在分布𝑞1 中为相同位置.

在这里插入图片描述

Wasserstein 距离相比 KL 散度和 JS 散度的优势在于:即使两个分布没有重叠或者重叠非常少,Wasserstein距离仍然能反映两个分布的远近.

对于 ℝ𝐷 空间中的两个高斯分布 𝑝 = 𝒩(𝝁1 , 𝚺1) 和 𝑞 = 𝒩(𝝁2 , 𝚺2),它们的2 nd-Wasserstein距离为

在这里插入图片描述

当两个分布的方差为0时,2 nd-Wasserstein距离等价于欧氏距离.

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习⼈⼯智能需要哪些必备的数学基础? 问题⼀:学习⼈⼯智能需要哪些必备的数学基础? 对于⼤多数的新⼿来说,如何⼊⼿⼈⼯智能其实都是⼀头雾⽔,⽐如到底需要哪些数学基础、是否要有⼯程经验、对于深度学习框架应该关 注什么等等? 因为现在AI⽕了,很多产品经理/程序员都想转⼊AI领域。 那么对于产品经理来说,针对于AI,我们需要了解些什么呢? AI PM很⼤程度上不同于互联⽹领域的产品经理,它涉及到更深的底层逻辑,对个⼈综合能⼒要求会更⾼⼀点,需要你有根据场景直接定位 落实相关举措的观察⼒。 这⾥写图⽚描述 这张图,⼤概可以诠释需要转AI的产品需要了解的基础/技术等。 数学:微积分 + 线性代数 + 概率统计【这些是⼤家在⼤学学的数学,线性代数和概率统计会更加重要点】 技术:这⾥分两块。 ⾸先,肯定是了解的越深越好。但是我知道⽬前市⾯上的⼤多数产品经理就是因为不会敲代码,所以才来从事这项"只画原型图"的⼯作… 如果不想过多深⼊技术这块,那么你需要了解技术本质,理解技术边界,能观察⾏业发展⽅向,并在这个层⾯形成产品决策⽅案。 如果你想⾛的更远,与团队更好的合作,那么你需要深⼊介⼊技术算法⽅向,能直接在这个层⾯给团队带来价值。在我看来,其实就算是半 个开发,只不过你可能不从事开发⼯作⽽已。 数学 + 技术,是你可以转向AI领域的最基础的技能。 但对于AI,我所理解的是,你还需要根据⾃⾝的能⼒ + 兴趣,去考量应该从事哪个领域。 AI很⼤,但肯定不是所有的领域都适合⾃⾝。 我觉得对于想转⾏的⼈来说,最重要的⼀点是需要了解⾃⼰想从事AI领域的运⾏规则,对⾏业明⽩的越深越好。 ⽐如,智能⾳箱,那么你就需要知道⾳箱这个产品整个产品的链条。 ⽐如,出⾏领域,那么你就需要了解具体的出⾏,从打车到上车,到下车⼀条线的具体场景链条。 问题⼆:学习⼈⼯智能需要哪些必备的数学基础? 以下转载⾃: ? 当下,⼈⼯智能成了新时代的必修课,其重要性已⽆需赘述,但作为⼀个跨学科产物,它包含的内容浩如烟海,各种复杂的模型和算法更是 让⼈望⽽⽣畏。对于⼤多数的新⼿来说,如何⼊⼿⼈⼯智能其实都是⼀头雾⽔,⽐如到底需要哪些数学基础、是否要有⼯程经验、对于深度 学习框架应该关注什么等等。 那么,学习⼈⼯智能该从哪⾥开始呢?⼈⼯智能的学习路径⼜是怎样的? 数学基础知识蕴含着处理智能问题的基本思想与⽅法,也是理解复杂算法的必备要素。今天的种种⼈⼯智能技术归根到底都建⽴在数学模型 之上,要了解⼈⼯智能,⾸先要掌握必备的数学基础知识,具体来说包括: 线性代数:如何将研究对象形式化? 概率论:如何描述统计规律? 数理统计:如何以⼩见⼤? 最优化理论: 如何找到最优解? 信息论:如何定量度量不确定性? 形式逻辑:如何实现抽象推理? 线性代数:如何将研究对象形式化? 事实上,线性代数不仅仅是⼈⼯智能的基础,更是现代数学和以现代数学作为主要分析⽅法的众多学科的基础。从量⼦⼒学到图像处理都离 不开向量和矩阵的使⽤。⽽在向量和矩阵背后,线性代数的核⼼意义在于提供了⼀种看待世界的抽象视⾓:万事万物都可以被抽象成某些特 征的组合,并在由预置规则定义的框架之下以静态和动态的⽅式加以观察。 着重于抽象概念的解释⽽⾮具体的数学公式来看,线性代数要点如下:线性代数的本质在于将具体事物抽象为数学对象,并描述其静态和动 态的特性;向量的实质是 n 维线性空间中的静⽌点;线性变换描述了向量或者作为参考系的坐标系的变化,可以⽤矩阵表⽰;矩阵的特征值 和特征向量描述了变化的速度与⽅向。 总之,线性代数之于⼈⼯智能如同加法之于⾼等数学,是⼀个基础的⼯具集。 概率论:如何描述统计规律? 除了线性代数之外,概率论也是⼈⼯智能研究中必备的数学基础。随着连接主义学派的兴起,概率统计已经取代了数理逻辑,成为⼈⼯智能 研究的主流⼯具。在数据爆炸式增长和计算⼒指数化增强的今天,概率论已经在机器学习中扮演了核⼼⾓⾊。 同线性代数⼀样,概率论也代表了⼀种看待世界的⽅式,其关注的焦点是⽆处不在的可能性。频率学派认为先验分布是固定的,模型参数要 靠最⼤似然估计计算;贝叶斯学派认为先验分布是随机的,模型参数要靠后验概率最⼤化计算;正态分布是最重要的⼀种随机变量的分布。 数理统计:如何以⼩见⼤? 在⼈⼯智能的研究中,数理统计同样不可或缺。基础的统计理论有助于对机器学习的算法和数据挖掘的结果做出解释,只有做出合理的解 读,数据的价值才能够体现。数理统计根据观察或实验得到的数据来研究随机现象,并对研究对象的客观规律做出合理的估计和判断。 虽然数理统计以概率论为理论基础,但两者之间存在⽅法上的本质区别。概率论作⽤的前提是随机变量的分布已知,根据已知的分布来分析 随机变量的特征与规律;数理统计的研究对象则是未知分布的随机变量,研究⽅法是对随机变量进⾏独

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值