最大熵模型

  1. 最大熵模型预备知识

信息量:一个事件发生的概率越小,信息量越大,所以信息量应该为概率的减函数,对于相互独立的两个事有p(xy)=p(x)p(y),对于这两个事件信息量应满足h(xy)=h(x)+h(y),那么信息量应为对数函数:

    

对于一个随机变量可以以不同的概率发生,那么通过信息量期望的方式衡量,即信息熵

信息熵:一条信息(属性、特征)信息量大小和它的不确定性程度有直接的关系,不确定性越大信息量越大。以e为底单位为nat。公式为:

每个xi表示一种特征。

H(X)在每个p(xi) = 1/N是最大,N为信息的个数。在概率为1/N时信息是最不确定的,所以H(X)越大,信息熵越不确定。

注意:均匀分布的信息熵

    N点离散均匀分布:

    

    连续均匀分布:

    

联合熵:两个随机变量的XY的联合分布形成的熵称为联合熵,记为H(X, Y)

条件熵:X给定的条件下,Y的信息熵,即H (Y | X )。公式为:

条件熵等于(X, Y)的联合熵,减去X熵,即:

    

相对熵:又称互熵、交叉熵、交叉信息、Kullback熵、Kullback-Leibel散度。设p(x), q(x)X中的两个概率分布,pq的相对熵可以表示为:

    

相对熵可以度量两个随机变量的"距离"

互信息:两个随机变量XY的联合分布与独立分布乘积的相对熵,即:

    

    

几种熵之间的关系:

  1. 最大熵直观理解:在没有任何前提条件的时候,我们猜测骰子每个面出现的概率为1/6;当骰子的重心发生变化时,如果我们已知出现1点的概率为1/3,那么我们会猜测剩下的各面出现的概率为(1-1/3)/5=2/15(在没有任何先验知识的前提下,我们推测为均匀分布)。这个过程实际就是在运用最大熵原理

最大熵原理指出:对一个随机事件的概率分布进行预测时,预测应当满足全部已知的约束,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。

最大熵目标:运用观测到的实验样本如何对实验数据分布做出合理的推断。

最大熵模型是建立一个概率判别模型,该模型的任务是对于给定的 X=x以条件概率分布 P(Y|X=x) 预测 Y的取值。

  1. 最大熵

    无条件最大熵:若随机变量退化为定值,熵最小为0,若随机变量为均匀分布,那么熵最大,所以熵满足:

    

    有条件最大熵:最大熵模型

如果用欧式空间的单纯形(simplex)来描述随机变量的话,那么可以将随机变量ABC映射到等边三角形的三个顶点上(等边三角形的内部任意一点到三条边的距离之和相等,等于三角形的高),如(a)所示,这里定义三角形中任意一点到三条边的距离之和为 1,任给一点p,比如P(A) 等于p到边 BC 的距离。图(b)中,P(A)=1, P(B)=P(C)=0。图(c)中,P(A)=P(B)=P(C)=1/3

上图(a)中没有任何概率约束条件,所以所有的P(Y|X)都是允许的,整个概率空间的取值可以是 三角形(simplex)中的任意一点,只需找到满足最大熵条件的即可。当引入约束时,模型被限制在约束上,如下图所示

(1) (a)中,增加了(线性)约束C1P(Y|X)只能落在定义C1的那条线段上;

(2) (b)中,在图(a)的基础上增加了线性约束C2,且C1∩C2≠Φ,所以P(Y|X)必须同时落在C1C2上,所以只能落在C1C2的交点上;

(3) (c)中,在图(a)的基础上增加了线性约束C2,但C1∩C2=Φ,此时,没有同时满足C1C2P(Y|X)。在最大熵模型中,由于约束从训练数据中取得,所以不会出现不一致。即不会出现(c) 的情况。

  1. 最大熵约束条件

对于一般训练集:

    

按照最大熵目标,应先找到最大熵对应的全部约束条件。约束条件从何而来?实际上就是从训练集中抽取部分样本,要求这些样本在训练集上的经验分布的期望等于它们在模型中P(X, Y)的期望相同。

从训练集中抽取部分样本,要求样本服从联合经验分布(X, Y)以及边缘经验分布(X)。可以表示为:

    

其中,v(X=x, Y=y)表示训练集中xy出现的频数,v(X=x)表示输入x出现的频数。

用特征函数f(x, y)表示训练数据中样本输入x与输出y之间是否为对应关系,其定义为:

    

f(x, y)为二值函数。

特征函数f(x, y)关于联合经验分布(X, Y)在样本上的期望可以表示为:

    

特征函数f(x, y)关于模型P(Y|X=x)的期望可以表示为:

    

上式中(x)应为边缘分布P(x),而实际上,P(x)无法计算得到所以用(x)代替。P(x|y)为所求的模型。

根据约束条件,两个期望相等,即:

    

  1. 最大熵模型

假设满足所有约束条件的概率模型的集合为:

    

其中,i表示约束条件的个数。P为分布的集合。定义在条件概率分布P(X|Y)上的条件熵为:

    

集合C中条件熵H(P)最大的概率模型称为最大熵模型。

最大熵模型的学习过程就是求解最大熵模型的过程,最大熵模型的学习过程等价于约束最优化问题,模型可以等价于:

    

按照最优化问题习惯,最大值问题可以等价的求最小值,所以有:

    

针对约束条件,引入拉格朗日乘子w0, w1, w2,…,wn,定义拉格朗日函数L(P, w)

    

拉格朗日函数 L(P, w) 的约束是要满足的 ,如果不满足约束的话,只需另 wi +∞,则可得 L(P, w)+∞,因为需要得到极小值,所以约束必须要满足。即:

    

所以原问题转换为:

    

满足KKT条件,所以可以转换到对偶问题求解,即:

    

首先将L(P, w)P(y|x)求导等于0,即

    

由于一阶导数等于0,而(x)>0,可以解Pw(X|Y)

    

由于,得:

    

    

Zw(x)为规范化因子。

Pw(y|x)为最大熵模型,回带入L(P, w),现在内部的极小化求解得到关于 w的函数,现在求其对偶问题的外部极大化即可,即:

    

得到w*带入就得到了要求解得最大熵模型。

    

得到了需要极大化的式子:

    

最大似然估计

训练数据得经验概率分布(X, Y),条件概率分布P(Y|X)的对数似然函数可以表示为:

    

Pw(y|x)带入有:

    

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

讨论:只给定均值与方差的前提下,最大熵的分布形式?即:

    

很明显是最值问题,采用Lagrange乘子,有:

    

一阶导数为0,即:

    

接下来讨论几种分布的lnp(x)的形式:

(1) 正态分布:

    

(2) Gamma分布:

    

(3) 均匀分布:

    

(4) 指数分布:

    

所以证据上述分布的特点,已知均值与方差的最大熵分布应该满足正态分布。

谈最大熵模型与最大似然估计自己的理解(此理解非常"不负责任")最大似然估计是在样本分布的未知的情况下认为样本的乘积最大。最大熵模型是未知部分不做假设。最大熵模型有时可以作为目标函数。

参考:

http://www.cnblogs.com/ooon/p/5677098.html

《统计学习方法》

邹博课件

未经许可不得转载!

posted on 2017-04-11 15:15  LeonHuo  阅读(7583)  评论(0编辑  收藏  举报

导航