最大熵原理(Principle of Maximum Entropy,MaxEnt)的个人理解

作为学习最大熵原理的笔记,方便理解与复习。

一.定义

最大熵原理是一种用于推断概率分布的基本原则,它可以表述为:在满足已知约束条件(即部分信息)的所有可能概率分布中,选择熵最大的那个分布作为最优推断。

从这个表述中,我们主要需要搞明白几个问题:

  1. 熵是什么,约束条件又是什么?
  2. 为什么熵最大的分布为最优推断?

二.相关定义解析

1.自信息

在香农定理中,一个事件 信息量 被定义为这个事件 的负对数,公式如下:

衡量单个事件 ​ 发生时所携带的信息量被称之为自信息

针对不同的底数,信息量的单位不同,底数为2时,单位为比特(bit),底数为自然常数 时,单位为奈特(nat)。

2.熵

熵是自信息的期望值,表示在真实分布P 下,描述一个事件所需的平均信息量,公式如下:

更详细的内容可以在我之前的KL散度的个人理解中查看相关部分。

3.已知约束条件

已知约束条件是我们对随机变量 的概率分布 数学期望 所施加的限制,它的一般形式是:

  • 离散变量:
  • 连续变量:

在这个式子中:

  • 是一个随机变量。
  • 是前面提到的这个随机变量 的所有可能取值。
  • 是随机变量 取值为 的概率。
  • 是特征函数,它是一个关于随机变量 的函数,代表了我们所关心的某种特征或属性。(k代表第k个特征)
  • 是期望值,它是特征函数 在概率分布 下的期望值(平均值)。
  • 是约束值,是我们从现实世界已知的数据或知识 中得到的数值,它是特征函数期望值必须等于的目标值

举个很简单的例子说明,假设有一个六面骰子:

(1). - 变量与取值
  • :我们关心的随机变量。在这个场景下,代表"投掷一次骰子所得到的点数"
  • :随机变量的具体取值。因为骰子有六面,所以 可以取 {1, 2, 3, 4, 5, 6} 中的任何一个值
(2). - 概率
  • 含义 :随机变量 取值为 的概率。
  • 例子 :对于一个公平骰子,我们知道 **​,**这是我们基于"骰子是均匀的"这一已知信息得出的最终分布。
(3). - 特征函数
  • 含义 :我们关心的关于点数 的某个特征。
  • 例子 :在这个最简单的例子里,我们只关心一个最根本的特征:"它是一个合法的骰子点数" 。这个特征太基本了,以至于它的特征函数就是 ,这是一个常数函数,意味着无论投出几点( 是1还是6),这个特征的值都是1,它代表了"存在"本身这个最基本的属性。
(4). - 期望值
  • 含义 :特征函数 在概率分布 下的平均值。
  • 计算 :对于我们的特征函数 ,它的期望值计算如下:

    这个期望值就是所有可能点数的概率之和。
(5). ​ - 约束值
  • 含义:我们从现实世界中已知的、关于这个特征的数值。
  • 例子 :我们知道一个根本事实:投掷一次骰子,必定会得到1到6点中的某一个点,不会有其他情况,也不会没有结果, 这个事实用数学语言描述就是:所有可能结果的概率之和必须等于1
    因此,对于特征 ,我们已知的约束值就是

现在,我们将所有参数代入公式:

翻译成人话就是:

"我们要求,最终找到的概率分布 ,必须使得'存在性'这个特征的统计平均值(即所有点数的概率之和),等于我们在现实中已知的数值1。"

再举一个另外的例子,比如,我们在多次实验后发现,这个骰子丢到6的概率为五分之一,比正常情况的六分之一要大,那么这种情况下应该如何表述这个约束条件呢?

在这种情况下,我们可以表示为:

是不是非常简单粗暴?当然,这个条件也可以转化为定义中的一般形式。

定义特征函数

这个特征函数代表的是一种身份的筛选,因为我们只知道6的概率为0.2,所以我们需要筛选出6,而其他的数字因为没有明确统计,所以不做额外限制。

类似这种来回答一个元素是否属于某个集合(这里是{6})的函数 又叫做指示函数

综上所述,这个条件的一般形式可以表示为:

三.关于最优判断

这里仅是方便记忆和理解最大熵原理作用的个人理解,并没有给出数学上的严格证明。

回到最大熵原理的定义,它可以被表述为:在满足已知约束条件(即部分信息)的所有可能概率分布中,选择熵最大的那个分布作为最优推断。

专业上的结论是:最大熵分布之所以是最优推断,是因为它同时满足了以下几个关键标准:

  • 无偏性:它最大限度地避免了未被证实的假设。

  • 一致性:其推断过程遵循逻辑一致性原则。

  • 稳健性:它代表了在最坏情况下的最优编码策略。

  • 客观性:它提供了一种将信息性约束转化为先验概率的系统方法。

因此,在面对部分信息时,选择最大熵分布并非一个任意的选择,而是在数学、信息和哲学上都最为严谨和优越的推断方案。

我从其中的稳健性简单谈一下个人的理解。

举个最简单的例子,依然是抛硬币,当这个硬币的正反面概率均等,都是0.5的时候,按照熵的公式: 计算得出:

也就是说随机从这个分布中取出一个事件,我需要用1 bit 的信息量来存储这个事件。

那么其他情况呢?比如正面的概率为0.8,反面的概率为0.2的时候呢?

计算得出:

也就是说随机从这个分布中取出一个事件,我需要用0.7219 bit 的信息量来存储这个事件。

事实上,可以用数学证明,在正反面概率均等时,该分布的熵达到最大------这也是在已知约束条件下所能求得的最大熵。由此例可知,其他情况所需的平均信息量(即熵)均小于该最大熵。这意味着,我们可以分配与最大熵对应的比特数(存储空间)来存储非最大熵分布的数据,但反过来却不可行。同时,在这种无额外约束的条件下,两个事件呈现均匀概率分布(例如抛硬币的正反面),对应的正是一种最"公平"且"无偏"的分布。

PS:香农源编码定理

对于一个服从特定概率分布 的信源,如果要无损地编码(存储或传输)由 个独立事件组成的一个长序列,那么:

  1. 所需的最小平均比特数趋近于

  2. 其中 就是这个分布的熵。

实际熵 是可压缩到的平均比特率下限,这当然很好,但是最大熵 ​ 是系统需预留的"最坏情况"的存储空间,而最大熵原理就是在给定约束下选择最不确定、最公平分布的原则。

综合而言,最大熵对应的分布具有以下核心特质:

  1. 无额外偏见与公平性:它仅基于已知信息,不做任何未经验证的主观假设,是所有可能分布中最"一视同仁"的。(对应丢硬币例子中的正反概率相等)

  2. 考虑最坏情况与高容忍度:它对应着最大的不确定性,因此以此为基准设计的系统(如通信信道或存储空间)具备最强的泛化能力和容错性,能够处理任何可能出现的序列。(对应例子中的熵最大,预留的比特数最大)

  3. 泛用性与合理性:正因其不引入多余的偏好,它在未知情境下是最稳健、最普适的选择。

因此,在信息不完全的情况下,最大熵分布被奉为最客观、最合理的**"最优判断"**(Prior Distribution)。

四.计算方式

接下来我会举一个例子,给出计算最大熵的一般过程。

1.问题定义

已知一个离散随机变量 代表骰子的点数,其取值范围为,对应的概率分布为​。我们掌握以下两个约束条件:

  • 概率归一化约束:
  • 已知期望值约束:(这里以投出的骰子平均点数为4.5为例子)

我们的目标是找到在满足上述两个约束的所有概率分布 中,使得熵 最大的那一个分布,熵的定义为:

2.构建拉格朗日函数

我们引入拉格朗日乘子 ​ 和 ​ 来将约束条件融入目标函数中,构建拉格朗日函数

(至于为什么拉格朗日函数的极值点和原式的极值点相同,感兴趣可以自己搜索学习下,我暂时不会,就不多说了)

3.求解最优解

为找到极大值点,我们对每个 求偏导数并令其为零:

由上式可得:

对等式两边取指数,解出

为了简化表达式,我们令 ,则上式可写为:

现在,我们利用概率归一化约束来确定 。将 ​ 代入约束1(概率归一化约束):

解得:

我们定义 配分函数(Partition Function) 为:

因此,概率分布 的最终表达式为:

4.确定乘子

接下来,我们利用第二个约束(期望值约束)来确定 的具体数值。将 的表达式代入约束2:

注意到配分函数 关于 的导数有一个优美的性质:

因此,期望值的等式可以改写为:

由于 ,所以我们得到:

其中:

方程 是一个关于 ​ 的非线性方程,没有解析解,必须通过数值方法求解。

5.数值求解与结论

通过数值方法(例如牛顿-拉弗森法)求解该方程,我们可以找到一个满足条件的 ​。最终,在已知骰子点数期望为 4.5 的约束下,最大熵分布由下式给出:

这个分布是一个指数族分布,它是在给定约束下最公平、最不确定,且不做任何多余假设的最优推断。

PS:最大熵分布与Softmax函数的联系

假设我们有一个包含 个元素的输入向量 ,其中 。Softmax函数的输出是一个同样包含 个元素的向量 ,其第 个分量的计算公式为:

其中:

  • 是指数运算,它确保了结果为正值。
  • 是所有指数值的求和,这个项起到了归一化的作用,确保所有输出分量的总和为 1。

在我们之前的骰子问题中,我们推导出的最优(最大熵)分布为:

它的形式和Softmax函数及其相似,其中:

  • 这里的输入向量。你可以把
  • 拉格朗日乘子 控制了输入值的大小和比例。在我们的例子中,输入是线性的,但在更一般的情况下,输入可以是任意实数。
  • 输出就是概率分布

所以,Softmax函数本质上是"在给定线性约束下,使得熵最大的分布"的形式。这也解释了为什么它在机器学习中如此普及:它代表了在给定输入信息下,最公平、最不确定的分布形式。

五.总结

1.核心

已知部分约束下,选择熵最大的概率分布作为最优推断。

2.为何最优?

  • 最公平:对未知事件不做任何主观假设。
  • 最稳健:不确定性最大,预测风险最小。
  • 最客观:仅基于已知信息,不添加多余偏见。

3.如何求解?

  • 列出约束条件(如 E[f(X)] = c)。
  • 构建拉格朗日函数,求导。
  • 解出分布形式:P(x) ∝ e^{λ·f(x)}。
  • 利用约束确定参数 λ。

4.关键洞察

  • Softmax 函数 就是线性约束下的最大熵解。
  • 最大熵分布属于指数族。
  • 本质是在已知范围内保持最大不确定性。

5.一句话总结

最大熵原理是在已知约束下,寻找最均匀、最不确定、最不武断的概率分布的准则。

相关推荐
小女孩真可爱3 小时前
大模型学习记录(五)-------调用大模型API接口
pytorch·深度学习·学习
水月wwww7 小时前
深度学习——神经网络
人工智能·深度学习·神经网络
青瓷程序设计8 小时前
花朵识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
青瓷程序设计9 小时前
鱼类识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
WWZZ20259 小时前
快速上手大模型:深度学习13(文本预处理、语言模型、RNN、GRU、LSTM、seq2seq)
人工智能·深度学习·算法·语言模型·自然语言处理·大模型·具身智能
枯木逢秋࿐10 小时前
深度学习常用模型
深度学习
哥布林学者12 小时前
吴恩达深度学习课程三: 结构化机器学习项目 第一周:机器学习策略(一)正交化调优和评估指标
深度学习·ai
Petrichor_H_13 小时前
DAY 39 图像数据与显存
人工智能·深度学习
小殊小殊13 小时前
【论文笔记】视频RAG-Vgent:基于图结构的视频检索推理框架
论文阅读·人工智能·深度学习