最大熵模型简记

最近两天简单看了下最大熵模型,特此做简单笔记,后续继续补充。最大熵模型是自然语言处理(NLP, nature language processing)被广泛运用,比如文本分类等。主要从分为三个方面,一:熵的数学定义;二:熵数学形式化定义的来源;三:最大熵模型。

注意:这里的熵都是指信息熵。

一:熵的数学定义:

下面分别给出熵、联合熵、条件熵、相对熵、互信息的定义。

:如果一个随机变量X的可能取值为X = {x1, x2,…,
xk},其概率分布为P(X = xi) = pi(i= 1,2, ..., n),则随机变量X的熵定义为:

把最前面的负号放到最后,便成了:

上面两个熵的公式,无论用哪个都行,而且两者等价,一个意思(这两个公式在下文中都会用到)。

联合熵:两个随机变量X,Y的联合分布,可以形成联合熵JointEntropy,用H(X,Y)表示。

条件熵:在随机变量X发生的前提下,随机变量Y发生所新带来的熵定义为Y的条件熵,用H(Y|X)表示,用来衡量在已知随机变量X的条件下随机变量Y的不确定性。

且有此式子成立:H(Y|X)= H(X,Y) – H(X),整个式子表示(X,Y)发生所包含的熵减去X单独发生包含的熵。至于怎么得来的请看推导:

相对熵:又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度等。设p(x)、q(x)是X中取值的两个概率分布,则p对q的相对熵是:

在一定程度上,相对熵可以度量两个随机变量的“距离”,且有D(p||q)≠D(q||p)。另外,值得一提的是,D(p||q)是必然大于等于0的,可以通过jensen不等式证明得出结果。

互信息:两个随机变量X,Y的互信息定义为X,Y的联合分布和各自独立分布乘积的相对熵,用I(X,Y)表示:

且有I(X,Y)=D(P(X,Y)|| P(X)P(Y))。下面,咱们来计算下H(Y)-I(X,Y)的结果,如下:

通过上面的计算过程,我们发现竟然有H(Y)-I(X,Y) = H(Y|X)。故通过条件熵的定义,有:H(Y|X)= H(X,Y) - H(X),而根据互信息定义展开得到H(Y|X)
= H(Y) - I(X,Y),把前者跟后者结合起来,便有I(X,Y)= H(X) + H(Y) - H(X,Y),此结论被多数文献作为互信息的定义。

二:熵形式化定义的来源

这里给出几个简单的例子:

?   例1:假设有5个硬币:1,2,3,4,5,其中一个是假的,比其他的硬币轻。有一个天平,天平每次能比较两堆硬币,得出的结果可能是以下三种之一:

?   左边比右边轻

?   右边比左边轻

?   两边同样重

问:至少要使用天平多少次才能保证找到假硬币?

(某年小学生数学竞赛题目:P)

解法:让X表示佳硬币的序号,x∈X
= {1,2,3,4,5};让Y表示天平得到的结果,y∈Y={1,2,3};其中1表示左轻,2表示右轻,3表示一样重。用天平秤n次,获得的结果获得的结果是:y1
y2… yn,y1 y2…
yn的所有可能组合数目是3^n,我们要通过y1 y2…
yn找出x。所以:每个y1 y2…
yn组合最多可能有一个对应的x取值。

因为x取X中任意一个值的时候,我们都要能够找出x,因此对于任意一个x的取值,至少要有一个y1
y2… yn与之对应。根据鸽笼原理……

|Y|^n ≥|X|,两边开根号,就可以得到n*logY≥logX,
此外logX= 1/X*logX+ 1/X*logX+…(共有X个,表示每个硬币发生的概率与log(1/p)的成绩),因此logX可以看做是硬币的不确定度,而logY看做是表达能力,n表示需要多少个表达能力才能表示硬币的不确定度。故n
= logX/logY.

那么为什么用log
来表示“不确定度”和“描述能力”呢?前面已经讲过了,假设一个Y
的表达能力是H(Y)
。显然,H(Y)
与Y
的具体内容无关,只与|Y|
有关。所以像是log|Y|^n
这种形式,把n就可以拿出来了,因为关系不大所以扔掉n就剩下log|Y|
了。

“不确定度”和“描述能力”都表达了一个变量所能变化的程度。在这个变量是用来表示别的变量的时候,这个程度是表达能力。在这个变量是被表示变量的时候,这个程度是不确定度。而这个可变化程度,就是一个变量的熵(Entropy)。显然:熵与变量本身含义无关,仅与变量的可能取值范围有关。

题目的变形:

假设有5个硬币:1,2,3,…5,其中一个是假的,比其他的硬币轻。已知第一个硬币是假硬币的概率是三分之一;第二个硬币是假硬币的概率也是三分之一,其他硬币是假硬币的概率都是九分之一。

有一个天平,天平每次能比较两堆硬币,得出的结果可能是以下三种之一:

?   左边比右边轻

?   右边比左边轻

?   两边同样重

假设使用天平n次找到假硬币。问n的期望值至少是多少?

(不再是小学生问题:P)

我们按照上面的思路,就可以很容易的求出来H(x) = 1/3*log3+1/3*log3 + 1/9*3*log9,表示的仍是是假硬币不确定度的期望。

H(Y)=log3,所以n就等于H(x)/H(Y).

这样就可以得出熵的来源了,希望能看懂。

三:最大熵模型

这一部分可以看july的blog:http://blog.csdn.net/v_july_v/article/details/40508465

主要记录下:

1:熵的原则是承认已知事物(知识),且对未知事物不做任何假设,没有任何偏见。从投资的角度来看,这是风险最小的做法,而从信息论的角度讲,就是保留了最大的不确定性,也就是说让熵达到最大(投资风险最小化)。

2:最大熵模型的完整表述如下:

其约束条件为:

Lagrange函数表达为:

得到的结果为:

其中:

导出最终要求解:

最大熵模型模型属于对数线性模型,因为其包含指数函数,所以几乎不可能有解析解。换言之,即便有了解析解,仍然需要数值解。那么,能不能找到另一种逼近?构造函数f(λ),求其最大/最小值?

IIS(ImprovedIterative Scaling)是目前最大熵模型的最优化算法,优于梯度下降算法(这里是无约束的优化问题,但是通过求导无法给出解析解,所以当然也可以使用梯度迭代,牛顿法,拟牛顿法,通用的迭代法(GIS))。

改进的迭代尺度法IIS的核心思想是:假设最大熵模型当前的参数向量是λ,希望找到一个新的参数向量λ+δ,使得当前模型的对数似然函数值L增加。重复这一过程,直至找到对数似然函数的最大值。

3:将最优解p(y|x)代入到最大似然估计的公式中,我们会发现其和最大熵得到的关于参数λ具有相同的目标函数。可以断定:最大熵的解(无偏的对待不确定性)同时是最符合样本数据分布的解,进一步证明了最大熵模型的合理性。最大熵模型是对不确定度的无偏分配,最大似然估计则是对知识的无偏理解。

问题:(1)我还没有弄明白在讲解最大熵模型时,为什么要引入特征函数来导出约束条件,它如何形象的表示一个具体的例子。这个可能需要看一些具体文本分类的案例才能理解,有知道的可以留言。谢谢!

(2)我还没有看IIS的数学推导,留着后续用到的时候再看吧…..

参考文献:

1: http://blog.csdn.net/v_july_v/article/details/40508465july的最大熵模型推导

2:http://blog.csdn.net/daoqinglin/article/details/6906421

3: 统计学习方法<李航>

3:http://jiangtanghu.com/docs/cn/maxEnt.pdf最大熵读书笔记

时间: 2024-08-05 15:25:09

最大熵模型简记的相关文章

最大熵模型中的数学推导

最大熵模型中的数学推导 查看原文,点击这里 0 引言 写完SVM之后,一直想继续写机器学习的系列,无奈一直时间不稳定且对各个模型算法的理解尚不够,所以导致迟迟未动笔.无独有偶,重写KMP得益于今年4月个人组织的算法班,而动笔继续写这个机器学习系列,正得益于今年10月组织的机器学习班. 10月26日机器学习班第6次课,身为讲师之一的邹博讲最大熵模型,他从熵的概念,讲到为何要最大熵.最大熵的推导,以及求解参数的IIS方法,整个过程讲得非常流畅,特别是其中的数学推导.晚上我把他的PPT 在微博上公开分

最大熵模型

我的理解:在限制的条件下,根据已知情况求解未知情况,最优解的选择就是使得未知的熵最大的那个概率 我们在投资时常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险.在信息处理中,这个原理同样适用.在数学上,这个原理称为最大熵原理(the maximum entropy principle). 让我们看一个拼音转汉字的简单的例子.假如输入的拼音是"wang-xiao-bo",利用语言模型,根据有限的上下文(比如前两个词),我们能给出两个最常见的名字"王小波"和&quo

统计学习方法 &ndash;&gt; 逻辑死地回归与最大熵模型

前言 本章的两个模型都是对数线性模型. 逻辑斯蒂分布 如果变量X服从逻辑斯蒂分布,那么X的分布一定是y轴对称的.曲线在中心部分增长的较快.两端增长缓慢. 二项逻辑斯蒂回归模型 其本质就是条件概率P(Y|X).也就意味着给定X,求出最大可能的Y来. Y取值只有1和0. 考虑条件概率分布. 逻辑斯蒂回归模型:输出Y=1的对数几率是输出x的线性函数的模型. 参数模型估计 还是求极大似然估计. 逻辑回归的优缺点: 优点:1>实现简单         2>计算量小,速度快,存储资源低 缺点:1>欠

统计学习方法 李航---第6章 逻辑回归与最大熵模型

第6章 逻辑回归与最大熵模型 逻辑回归(logistic regression)是统计学习中的经典分类方法.最大嫡是概率模型学习的一个准则将其推广到分类问题得到最大熵模型(maximum entropy model).逻辑回归模型与最大熵模型都属于对数线性模型. 6.1 逻辑回归模型 定义6.1(逻辑分布):设X是连续随机变量,X服从逻辑斯谛分布是指 X具有下列分布函数和密度函数 式中,u为位置参数,r>0为形状参数. 逻辑分布的密度函数f(x)和分布函数F(x)的图形如图所示.分布函数属于逻辑

最大熵学习笔记(三)最大熵模型

  生活中我们经常听到人们说"不要把鸡蛋放到一个篮子里",这样可以降低风险.深究一下,这是为什么呢?其实,这里边包含了所谓的最大熵原理(The Maximum Entropy Principle).本文为一则读书笔记,将对最大熵原理以及由此导出的最大熵模型进行介绍,重点给出其中所涉及数学公式的理解和详细推导. 相关链接 最大熵学习笔记(零)目录和引言 最大熵学习笔记(一)预备知识 最大熵学习笔记(二)最大熵原理 最大熵学习笔记(三)最大熵模型 最大熵学习笔记(四)模型求解 最大熵学习笔

最大熵模型原理小结

最大熵模型(maximum entropy model, MaxEnt)也是很典型的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型.在损失函数优化的过程中,使用了和支持向量机类似的凸优化技术.而对熵的使用,让我们想起了决策树算法中的ID3和C4.5算法.理解了最大熵模型,对逻辑回归,支持向量机以及决策树算法都会加深理解.本文就对最大熵模型的原理做一个小结. 1. 熵和条件熵的回顾 在决策树算法原理(上)一文中,我们已经讲到了熵和条件熵的概念,这里我们对它们做一个简单的回顾. 熵度量了事物

最大熵模型答疑

最大熵模型与GIS ,IIS算法 关于最大熵模型的严重困惑:为什么没有解析解? 如何理解最大熵模型里面的特征? 最大熵模型中特征函数f(x,y)的期望如何计算? 条件熵推导: IIS(Improved Iterative Scaling)改进的迭代尺度法

逻辑回归和最大熵模型

逻辑回归 因变量随着自变量变化而变化. 多重线性回归是用回归方程描述一个因变量与多个自变量的依存关系,简称多重回归,其基本形式为:Y= a + bX1+CX2+*+NXn. 二项分布即重复n次独立的伯努利试验.在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布服从0-1分布. 逻辑分布 二项逻辑回归 如何求逻辑回归中的参数W 首先介绍似然

第六章 logistic回归与最大熵模型

1.logistic回归是统计学习中的经典分类方法. 最大熵模型:最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型. 两者都是对数线性模型. 2.二项logstic分类模型:用于二类分布. 多项logstic分类模型:用于多类分布. 3.最大熵模型(maximum entropy model):是由最大熵原理推导实现. 4.熵最大原理:学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型. 5.当X服从均匀分布时,熵最大. 6.改进的迭代尺度法(improve