banner
NEWS LETTER

最大熵原理

Scroll down

基本思想

最大熵原理的基本思想,本质上,就是在给定的观察的数据上的特征部分,我们让模型的总期望与观察到的期望相等(利用定义随机变量的方法将事件转换为伯努利分布,这样用一阶矩就可以衡量了)。
对于所有期望相等的概率分布,我们又要选择,对于那些未知的信息,我们不做任何额外的假设的分布。即:
- 相信已知信息
- 不做过多假设,让熵最大,即其余分布最均匀的形式。

形式定义





其中
- 是我们要求解的那个概率分布。
- 是经验分布,是我们从观察中汲取的规律。
- 是特征函数。
- 下标 k 表示我们可以定义很多个(m 个)这样的特征函数,来捕捉不同的规律。“事件标号”也指代这种规律。

- 例如,我们可以定义一个特征函数 `f_1(x, y)` 为:当 `y` 是“正面”且 `x` 中包含“很棒”时,返回1,否则返回0。一般而言,x代表数据,y代表标签。  
    
- 它是一个由我们自己定义的函数,用来**捕捉数据中的某种规律或特征**。它通常是一个返回0或1的二值函数。  
    
  • 两个限制条件的目的是,限制模型是一个正常的概率分布,且模型和已知观察的期望要相等。

求解方法:拉格朗日对偶

首先,我们运用拉格朗日乘数法将其约束条件变换进入式子,推导过程如下:
因此原问题转化为
想要求解该问题,我们发现,如果先要确定模型参数,再确定模型的分布,未免有些太癫了。模型的分布都没定,怎么求参数?因此我们考虑拉格朗日对偶问题。这里省略了对于强对偶性的证明。不过,这个函数本身就是凸函数,可以证明其可行域也是凸集,因此是凸优化问题。可以用KKT条件证明强对偶性,这里省略了。对于KKT和强对偶性的说明可以看这篇文章~拉格朗日对偶问题

运用拉格朗日对偶性,我们将原问题转化为
至此,我们可以先求解min的那一层,先确定使得函数值最小的P分布是个啥样的。我们让求偏导得到:

我们将提出,得到

我们把丢到分母上,得到这个形式

因为有约束条件
我们将推出的的形式代入,最终化简之后我们可以得到

带回分母中得到:

也即softmax函数。

这说明,我们最后一层用softmax输出是利用了最大熵原理的。在这个输出层的层面上,我们对于上一个隐藏层观察到的特征运用最大熵原理便可以得到上述的这个概率分布。

这证明,对于事件的分类问题,可以采取softmax的方法进行推断。这种方法的熵是最大的。

特别要说明的是,对于这个函数,我们必须使得,其能够提取出一些与众不同的特征来构建,而不能是一些非常粗糙的观察值。举例而言,如果是,对于所有像素点分别是,那么这个特征函数将没有任何意义,因为不存在所有像素点和它完全一样的情况。这就好比我们对人类的分类使用指纹这个标准。所有人的指纹都不一样,那你这样分类就没有意义。
这也是神经网络的优势所在,它完成了对于的端到端构建。

至此,我们以及完成了对目标问题的最小部分的求解,接下来便是要通过改变,使得目标函数最大化。也即调整模型参数的过程。要完成这个步骤,我们可以通过两种方法。
- 最大熵方法:将上述式子中确定的P代入原目标函数,得到一个新的函数,记作,因此问题转化为
- 极大似然估计方法:我们通过上述式子,表出观察的概率,然后对其求对数似然即可。因此问题转化为
可以证明,这个函数和这个函数在形式上是完全等价的。这里的过程较长。不做详细说明,这部分的推导放在附录上。

不论是哪种方法,都是对最终形式为进行最大值的求解,我们可以对其求导得到:

这是一个高度非线性的方程,目前通过代数求解基本不太可能。
因此,我们折中采取构建loss的方法,来进行梯度下降,从而最大化这个目标。这也就是我们现在采用的方法。同时,这也意味着,如果想用最大似然原理,那么梯度下降的目标必须和一致。比如MSE等等的设计。

因此,通过数学上的求解,梯度下降的目标就只能是交叉熵损失了。


附录:关于两种方法等价性的证明

如果您喜欢我的文章,可以考虑打赏以支持我继续创作.

其他文章
目录导航 置顶
  1. 1. 基本思想
  2. 2. 形式定义
  3. 3. 求解方法:拉格朗日对偶
  4. 4. 附录:关于两种方法等价性的证明
请输入关键词进行搜索