最大熵模型学习

什么是最大熵

熵(entropy)指的是体系的混乱的程度,它在控制论、概率论、数论、天体物理、生命科学等领域都有重要应用,在不同的学科中也有引申出的更为具体的 定义,是各领域十分重要的参量。熵由鲁道夫·克劳修斯(Rudolf Clausius)提出,并应用在热力学中。后来在,克劳德·艾尔伍德·香农(Claude Elwood Shannon)第一次将熵的概念引入到信息论中来。

在信息论中,熵表示的是不确定性的量度。信息论的创始人香农在其著作《通信的数学理论》中提出了建立在概率统计模型上的信息度量。他把信息定义为“用来消除不确定性的东西”。

最大熵原理是在1957 年由E.T.Jaynes 提出的,其主要思想是,在只掌握关于未知分布的部分知识时,应该选取符合这些知识但熵值最大的概率分布。因为在这种情况下,符合已知知识的概率分布可能不 止一个。我们知道,熵定义的实际上是一个随机变量的不确定性,熵最大的时候,说明随机变量最不确定,换句话说,也就是随机变量最随机,对其行为做准确预测 最困难。    从这个意义上讲,那么最大熵原理的实质就是,在已知部分知识的前提下,关于未知分布最合理的推断就是符合已知知识最不确定或最随机的推断,这是我们可以作 出的唯一不偏不倚的选择,任何其它的选择都意味着我们增加了其它的约束和假设,这些约束和假设根据我们掌握的信息无法作出。

日常生活中,很多事情的发生表现出一定的随机性,试验的结果往往是不确定的,而且也不知道这个随机现象所服从的概率分布,所有的只有一些试验样本或样本特 征,统计学常常关心的一个问题,在这种情况下如何对分布作出一个合理的推断?最大熵采取的原则就是:保留全部的不确定性,将风险降到最小。在金融理论中, 一个类似的教训是,为了降低风险,投资应该多样化,不要把所有的鸡蛋都放在一个篮子里。

 

最大熵模型

给定一个训练样本集,我们希望寻找一个分布符合如下两个条件:

 1. 满足已知的约束条件

 2. 最大化其不确定性

假设对于训练数据有一个样本集合为{(x1,y1),(x2,y2),,,(xn,yn)},对于xi(1<=i<=n)表示一个上下文,yi(1<=i<=n)为其对应的输出

我们可以得到这个样本的经验分布,p*(x,y) = 1/N * Sum(x,y),Sum(x,y)表示(x,y)在样本中出现的次数。

要对上面大小为N的训练样本集合建立统计模型,可利用的是样本集合的统计数据。模型中特征函数的引入,使模型依赖于上下文的信息。假设我们给出n个特征函数fi,对每个特征进行条件限制:期望概率值等于经验概率值,如下:

p(fi) = p*(fi) i ∈{1,2,…n}

其中,期望值和经验值分别为:

p(f) = ∑ p*(x)p(y|x)f(x,y)

p*(f) = ∑ p*(x,y)f(x,y)

posted on 2013-03-01 12:29  百小度治哥  阅读(1268)  评论(0编辑  收藏  举报

导航