最大熵模型 Maximum Entropy Model

熵的概念在统计学习与机器学习中真是很重要,熵的介绍在这里:信息熵 Information Theory 。今天的主题是最大熵模型(Maximum Entropy Model,以下简称MaxEnt),MaxEnt 是概率模型学习中一个准则,其思想为:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型;若概率模型需要满足一些约束,则最大熵原理就是在满足已知约束的条件集合中选择熵最大模型。最大熵原理指出,对一个随机事件的概率分布进行预测时,预测应当满足全部已知的约束,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大

直观理解 MaxEnt

在求解概率模型时,当没有任何约束条件则只需找到熵最大的模型,比如预测一个骰子的点数,每个面为 , 是, 当模型有一些约束条件之后,首先要满足这些约束条件, 然后在满足约束的集合中寻找熵最大的模型,该模型对未知的情况不做任何假设,未知情况的分布是最均匀的。举例来说对于随机变量 ,其可能的取值为 ,没有任何约束的情况下下,各个值等概率得到的 MaxEnt 模型为:

当给定一个约束 , 满足该约束条件下的 MaxEnt 模型是:

如果用欧式空间中的 simplex 来表示随机变量 的话,则 simplex 中三个顶点分别代表随机变量 的三个取值 A, B, C , 这里定义 simplex  中任意一点 到三条边的距离之和(恒等于三角形的高)为 1,点到其所对的边为该取值的概率,比如任给一点 ,则 等于 到  边 BC 的距离,如果给定如下概率:

分别用下图表示以上两种情况:

明白了 simplex 的定义之后,将其与概率模型联系起来,在 simplex 中,不加任何约束,整个概率空间的取值可以是 simplex 中的任意一点,只需找到满足最大熵条件的的即可;当引入一个约束条件 后,如下图中 (b),模型被限制在 表示的直线上,则应在满足约束 的条件下来找到熵最大的模型;当继续引入条件 后,如图(c),模型被限制在一点上,即此时有唯一的解;当 与 不一致时,如图(d),此时模型无法满足约束,即无解。在 MaxEnt 模型中,由于约束从训练数据中取得,所以不会出现不一致。即不会出现(d) 的情况。

接下来以统计建模的形式来描述 MaxEnt 模型,给定训练数据 ,现在要通过Maximum Entrop 来建立一个概率判别模型,该模型的任务是对于给定的 以条件概率分布 预测 的取值。根据训练语料能得出 的经验分布, 得出部分 的概率值,或某些概率需要满足的条件,即问题变成求部分信息下的最大熵或满足一定约束的最优解,约束条件是靠特征函数来引入的,首先先回忆一下函数期望的概念

对于随机变量 ,则可以得到:

随机变量期望: 对于随机变量 ,其数学期望的形式为

随机变量函数期望:若 , 则关于 的函数 的期望: .

特征函数

特征函数 描述 与 之间的某一事实,其定义如下:

特征函数 是一个二值函数, 当 与 满足事实时取值为 1 ,否则取值为 0 。比如对于如下数据集:

数据集中,第一列为 Y ,右边为 X ,可以为该数据集写出一些特征函数,数据集中得特征函数形式如下:

为每个 <feature,label> 对 都做一个如上的特征函数,用来描述数据集数学化。

约束条件

接下来看经验分布,现在把训练数据当做由随机变量 产生,则可以根据训练数据确定联合分布的经验分布 与边缘分布的经验分布 :

用 表示特征函数 关于经验分布 的期望,可得:

前面已经得到了,数数 的次数就可以了,由于特征函数是对建立概率模型有益的特征,所以应该让 MaxEnt 模型来满足这一约束,所以模型   关于函数 的期望应该等于经验分布关于 的期望,模型 关于 的期望为:

经验分布与特征函数结合便能代表概率模型需要满足的约束,只需使得两个期望项相等, 即 :

上式便为 MaxEnt 中需要满足的约束,给定 个特征函数 ,则有 个约束条件,用 表示满足约束的模型集合:

从满足约束的模型集合 中找到使得 的熵最大的即为 MaxEnt 模型了。

最大熵模型

关于条件分布 的熵为:

首先满足约束条件然后使得该熵最大即可,MaxEnt 模型 为:

综上给出形式化的最大熵模型:

给定数据集 ,特征函数 ,根据经验分布得到满足约束集的模型集合 :

MaxEnt 模型的求解

MaxEnt 模型最后被形式化为带有约束条件的最优化问题,可以通过拉格朗日乘子法将其转为无约束优化的问题,引入拉格朗日乘子:

, 定义朗格朗日函数 :

现在问题转化为: ,拉格朗日函数 的约束是要满足的 ,如果不满足约束的话,只需另 ,则可得 ,因为需要得到极小值,所以约束必须要满足,满足约束后可得: ,现在问题可以形式化为便于拉格朗日对偶处理的极小极大的问题:

由于 是关于 P 的凸函数,根据拉格朗日对偶可得 的极小极大问题与极大极小问题是等价的:

现在可以先求内部的极小问题 , 得到的解为关于 的函数,可以记做 :

上式的解 可以记做:

由于求解 的最小值 ,只需对于 求导即可,令导数等于 0 即可得到 :

由于 ,可得:

进而可以得到:

这里  起到了归一化的作用,令 表示 ,便得到了 MaxEnt 模型

这里 代表特征函数, 代表特征函数的权值,   即为 MaxEnt 模型,现在内部的极小化求解得到关于 的函数,现在求其对偶问题的外部极大化即可,将最优解记做 :

所以现在最大上模型转为求解 的极大化问题,求解最优的 后, 便得到了所要求的MaxEnt 模型,将 带入 ,可得:

以上推倒第二行到第三行用到以下结论:

倒数第二行到最后一行是由于:,最终通过一系列极其复杂的运算,得到了需要极大化的式子:

极大化似然估计解法

这太难了,有没有简单又 work 的方式呢? 答案是有的,就是极大似然估计 MLE 了,这里有训练数据得到经验分布 , 待求解的概率模型 的似然函数为:

将 带入以下公式可以得到:

显而易见,拉格朗日对偶得到的结果与极大似然得到的结果时等价的,现在只需极大化似然函数即可,顺带优化目标中可以加入正则项,这是一个凸优化问题,一般的梯度法、牛顿法都可解之,专门的算法有GIS IIS 算法,。

这里给出来做下参考吧! ==

参考文献:

《统计学习方法》

http://blog.csdn.net/itplus/article/details/26550201

http://www.cnblogs.com/hexinuaa/p/3353479.html

A Maximum Entropy Approach A Maximum Entropy Approach

Classical Probabilistic Models and Conditional Random Fields

时间: 2024-11-02 23:34:28

最大熵模型 Maximum Entropy Model的相关文章

Maximum Entropy Model(最大熵模型)初理解

1,简单概率知识理解 1.1 随机变量(random variable) 表示随机现象(在一定条件下,并不总是出现相同结果的现象称为随机现象)各种结果的实值函数(一切可能的样本点).如掷一颗骰子,它的所有可能结果是出现1点.2点.3点.4点.5点和6点 ,若定义X为掷一颗骰子时出现的点数,则X为一随机变量.随机变量   X∈{1,2,3,4,5,6}.

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

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

最大熵模型原理小结

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

逻辑斯谛回归,softmax回归与最大熵模型

逻辑斯谛回归(logistic regression)是统计学习中的经典分类方法 最大熵是概率模型学习的一个准则,被推广到分类问题后可得到最大熵模型(Maximum Entropy Model) 逻辑斯谛回归模型与最大熵模型都属于对数线性模型,而对数线性模型又是广义线性模型的一种. 科普一下:狭义的线性模型是指 自变量的线性预测 就是 因变量的估计值, 而广义的线性模型是指 自变量的线性预测的函数 是 因变量的估计值. 逻辑斯谛回归 逻辑斯蒂分布 logistic distribution,设X

统计学习六:2.对数线性模型之最大熵模型

全文引用自<统计学习方法>(李航) 最大熵模型(maximum entropy model)同样是一类对数线性模型,主要由最大熵原理推导得出.本文主要介绍最大熵原理的基本概念.最大熵模型的推导过程以及模型的学习形式. 1.最大熵原理 最大熵原理是概率模型学习的一个准则.具体表现为,在给定多个约束条件之后,对于所有满足约束条件的概率模型所组成的集合,熵最大的模型一定是最好的模型,此时应选择该模型为最终模型. 假定离散随机变量X的概率分布为P(X),则其熵为: \[ H(P)=-\sum_xP(x

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

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

最大熵模型

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

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

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

3月机器学习在线班第六课笔记--信息熵与最大熵模型

原文:https://www.zybuluo.com/frank-shaw/note/108124 信息熵 信息是个很抽象的概念.人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少.比如一本五十万字的中文书到底有多少信息量.直到1948年,香农提出了“信息熵”的概念,才解决了对信息的量化度量问题.(百度百科) 香农定义的信息熵的计算公式如下: H(X)=−∑p(xi)log(p(xi))    (i=1,2,…,n) 其中X 表示的是随机变量,随机变量的取值为(x1,x2,…,xn)