MaxEnt: 最大熵模型(Maximum Entropy Models)(二)
来源:互联网 发布:石大在线网络教育 编辑:程序博客网 时间:2024/05/01 15:06
推导什么的都写得好清楚,一口气就读懂了,这行文才是水平
转载自:http://www.zhizhihu.com/html/y2011/3500.html
上面《MaxEnt: 最大熵模型(Maximum Entropy Models)(一)》其实就是讲了下熵,下面我们继续最大熵模型(Maximum Entropy Models)。
最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以人们称这种模型叫“最大熵模型”。我们常说,不要把所有的鸡蛋放在一个篮子里,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性。说白了,就是要保留全部的不确定性,将风险降到最小。----摘自《Google黑板报》作者:吴军
========
继续用【参考5】的例子。
“学习”这个词可能是动词,也可能是名词。可以可以被标为主语、谓语、宾语、定语……
令
如果没有其他的知识,根据信息熵的理论,概率趋向于均匀。所以有:
但是在实际情况中,“学习”被标为定语的可能性很小,只有0.05。我们引入这个新的知识:
嗯,如果再加入一个知识,当“学习”被标作动词的时候,它被标作谓语的概率为0.95,这个其实是很自然的事情。都已经是动词了,那么是谓语的可能性就很大了:
已经有了两个知识了,第二个还是条件概率的知识,那么其他的我们尽可能的让他们不受约束,不受影响,分布的均匀一些,现在应该怎么让他们符合尽可能的均匀分布呢?
其实就是使熵尽可能的大就行了。也就是有个分布p,他尽可能的把训练集中的知识表示出来,损失最小,并且还能够保证p的熵最大:
那约束是什么呢?
用概率分布的极大似然对训练语料表示如下,其中是
在实际问题中,由于条件x和结果y取值比较多样化,为模型表示方便起见,通常我们将条件x和结果y表示为一些二制特征。对于一个特征
特征函数在样本中的期望值为:
其中
有了训练集,我们就能够训练一个模型出来,特征f在这个模型中的期望值为:
其中
好了,约束来了,有了样本的分布,有了模型,那么对每一个特征(x,y),模型所建立的条件概率分布要与训练样本表现出来的分布相同:
==========
目标函数有了,约束有了,归纳一下最大熵模型(Maximum Entropy Models)。
P={p|p是y|x的概率分布并且满足下面的条件},对训练样本,对任意给定的特征
展开:
约束P为:
========
都齐了,该求解了吧?哈哈,有没有看过wiki上的关于拉格朗日乘子Lagrange Multiplier的问题,恰好这里面有个例子就是求最大熵的,哈哈。所以我们可以用拉格朗日乘子法来求解。
对于有k个约束的优化问题:
可以引入k个拉格朗日算子
OK,咱们开始一步一步的带入求解
由于约束中有两部分组成,对于第二部分,我们引入拉格朗日算子为
下面就是就偏微分=0计算最优解了:
求得最优解的参数形式:
但是里面还有参数,所以我们必须求得
巧妙的是我们发现最后节的后面部分有个类似的常数项:
而且有意思的是,前面问题的第二个约束中有:
从而:
也就是式子中的关于
那么剩下的一个参数
解法以及最大熵模型与最大似然估计的关系在参考5中很详细,还有GIS以及IIS的方法进行求解,以后再写《MaxEnt: 最大熵模型(Maximum Entropy Models)(三)》。
有什么问题请留言。
参考:
1、A maximum entropy approach to natural language processing (Adam Berger)
2、A Brief MaxEnt Tutorial (Adam Berger)
3、Learning to parse natural language with maximum entropy models (Adwait Ratnaparkhi)
4、中科院刘群教授《计算语言学-词法分析(四)》
5、《最大熵模型与自然语言处理》:laputa,NLP Group, AI Lab, Tsinghua Univ.
- MaxEnt: 最大熵模型(Maximum Entropy Models)
- MaxEnt: 最大熵模型(Maximum Entropy Models)
- MaxEnt: 最大熵模型(Maximum Entropy Models)
- MaxEnt: 最大熵模型(Maximum Entropy Models)
- MaxEnt: 最大熵模型(Maximum Entropy Models)(二)
- MaxEnt: 最大熵模型(Maximum Entropy Models)(一)
- 最大熵模型(Maximum Entropy Models)详细分析
- EM(Expectation-Maximization)与MaxEnt(Maximum Entropy Models)参考资料
- 最大熵模型The Maximum Entropy
- 最大熵模型(Maximum Entropy)
- Maximum Entropy Models
- 最大熵模型(Maximum Entropy Model, ME)理解
- 最大熵模型(Maximum Entropy Model)文献阅读指南
- 金融工程---最大熵模型(MaxEnt)
- 逻辑斯谛回归与最大熵模型logistic regression/maximum entropy model
- maxent:最大熵模型的java实现,GIS训练
- 最大熵模型maxent及icwb2-data评估用法
- Chapter 6. Hidden Markov and Maximum Entropy Models
- POJ1664:放苹果(整数划分)
- Windows脚本语法
- 普通二叉树及其遍历
- Eclipse tomcat部署访问程序一直和开发程序不符合
- 我在兰亭这三年完结篇之离开
- MaxEnt: 最大熵模型(Maximum Entropy Models)(二)
- 如何防止域名被盗
- JAVA BigDecimal初步学习
- 冒泡排序法(Java)
- 常用宏定义 #define
- UVA - 10305 Ordering Tasks
- 动态内存分配
- 别踩白块儿之禅模式 windows程序实现
- NVL2