最大熵模型

 

1、最大熵思想与最大熵模型

          我们平常说的最大熵模型,只是运用最大熵思想的多分类模型,最大熵的思想却是一种通用的思维方法。

2、最大熵思想

          最大熵的思想是,当你要猜一个概率分布时,如果你对这个分布一无所知,那就猜熵最大的均匀分布,如果你对这个分布知道一些情况(先验知识),那么,就猜满足这些情况的熵最大的分布。

3、运用最大熵思想来做多分类问题

          现在数据集中有N个样本(Xi,Yi),他们就是我们的先验知识。我们需要求的模型P(y|x)已经不是一个概率分布,而是无数个概率分布,因为,每一个x都会对应一个P(y|x)。我们当然不能求出N个概率分布,我们用一个关于x的函数来表示这无数个分布,这里依然用P(y|x)表示。虽然我们现在对P(y|x)的形式和参数还是一无所知,但这并不妨碍我们从概率分布的层面上去考察它的一些特点。所以现在问题就是利用最大熵思想来求解P(y|x)。

          最大熵思想说:如果你对这个分布知道一些情况(先验知识),那么,就猜满足这些情况的熵最大的分布。所以整体战略是两步走:

(1)、找出满足先验知识的分布P(y|x)。

我们现在有一堆数据集,所以我们需要从中找出先验知识,不然要这些数据干嘛。假如我们对这些数据分析,我们发现了一个规律:即如果特征x满足一些条件,那么y就一定会是一个值。这个规律就是我们需要的先验知识,但是如何放入模型中。我们定义一个特征函数

我们将这个特征函数应用到每一个样本(Xi,Yi)上,就能知道该样本满不满足条件,所以f(x,y)就相当于一个判别函数。我们建立特征函数是为了找出一个数据集中有多少满足这个条件的,但是在模型中总不能直接使用满足条件的个数。我们需要的是一个比例,我们需要知道满足这个条件的样本占总样本的比率。根据根据已有的N个样本,我们可以算出P(x,y)的经验分布P~(x,y)和P(x)的经验分布P~(x)。然后,我们就可以统计下,在这个经验分布中,f(x,y)的期望是多少,如下所示

这个期望就是我们需要的比率(方便后面表述设为1/3)。也就是说总样本中有1/3是满足条件的,也就是说对一个样本来说有1/3的概率是符合这个事实的。

那么,我们求出的P(y|x)也要符合这个期望值才能算是满足现有情况。至此,我们终于找到一个衡量P(y|x)是否满足现有情况的指标。但是,还有最后一个问题,我们的P(y|x)是条件分布,衡量分布是否满足现有情况时,需要联合分布。

这个问题,很好解决,我们有了x的经验分布P~(x),将这个经验分布乘以P(y|x)就可以近似表示我们的P(y|x)背后的联合分布,据此,我们可以写出P(y|x)要满足的一个约束:

我们求出的P(y|x)满足这个约束条件。这个条件来自于我们对N个样本的观察总结。当然,观察N个样本,我们还可以得出其他事实,每一个事实都可以按照上述步骤,为P(y|x)施加一个“紧箍咒”。这个事实总结的越准确,我们就越能窥见要求的P(y|x)的模样。

(2)、使得P(y|x)的熵最大化

假设我们现在已经找出了所有满足上面约束条件的P(y|x),现在,我们要运用最大熵思想来从中找出熵最大的P(y|x)。这里运用最大熵思想时,我们要将P(y|x)看做是无数个概率分布的集合,即每一个x,都对应一个特定的概率分布P(y|x),每一个概率分布都会有一个熵,此时,所谓的最大熵,就是最大化这些所有的概率分布的熵的和,由于每个x都有一个经验概率P~(x),我们还需要对所有这些熵进行加权求和,以此表示哪一个概率分布的熵的最大化更加重要。如下所示:

这个公式和由公式推导H(Y|X)出来的结果是一致,从H(Y|X)=H(X,Y)-H(X)出发可得该结果。

4、求解最大熵模型

得到了目标函数后就要着手优化了,这里有两个值得注意的点,一是 i=1,...,n表示我们对样本观察得出的n个事实,而不是N个样本。二是还隐含一个不等式约束即 P(y|x)≥0。求解这个带约束的最优化问题,所得之解即为最大熵模型学习的解。

机器学习中都爱把问题转化为最小化,原因是如同小学生学习汉字读音,老师的读音是正确答案,学生学习的过程就是不断向正确读音靠近,尽量缩小差距(求最小值),当然这都是在有正确答案的前提下。
在开始优化前先来总结下目前的情况:

  • 我们到现在都不知道P(y|x)的函数形式是什么,参数有多少,我们仅仅是从概率分布的抽象层面上进行讨论,确定它要满足的一些约束
  • 每一个约束都来自于我们凭借已有知识,对N个样本进行观察总结得出的一个事实。
  • 按照最大熵思想求P(y|x)时,我们是对所有可能的概率分布的熵进行了加权求和。然后最大化这个和,而不是某个单一的概率分布的最大熵。

这里的优化求解和SVM中类似,首先使用拉格朗日乘数法将带约束的最优化问题转化为无约束的最优化问题的对偶问题,通过求解对偶问题来求解原始问题。

求解分为两步:第一步是求对偶问题里面的最小化问题,该问题求解完成后,我们可以看到P(y|x)的形式,如下所示:

形式虽然有了,但是里面的参数w还没有具体确定,第二步的最大化就是来确定参数w的。

第二步,最大化。将P_w(y|x)带入L(P,w),最大化该函数的值,也就是求对偶问题外层的最大化问题,从而求出具体的w。

至此,最大熵模型解答完毕!

5、 最大熵与逻辑回归

最大熵模型学习中的对偶函数极大化等价于最大熵模型(P(y|x))的对数似然极大化估计。具体见推导

逻辑回归也是在求条件概率分布关于样本数据的对数似然最大化。二者唯一的不同就是条件概率分布的表示形式不同。

 

文章大部分内容都来源于https://www.jianshu.com/p/e7c13002440d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值