这是我在学习最大熵模型时候的一些学习笔记,其中借鉴了一些网上朋友写作的博客和图片,如果其中侵犯了您的版权请与我联系。
学习问题:
1. 什么是最大熵模型
2. 最大熵模型的原理是什么。
3. 最大熵模型的应用是什么。
4. 最大熵模型的优缺点是什么。
熵是什么
熵最开始是在热力学领域的一个名词,其意义是一个体系内的混乱程度。经常用来解释熵的一个例子是一滴墨水滴入水中。当墨水刚刚滴入水中的时候,是可以看到墨水和水清洗的分界的,这时候整杯水这个体系是相对有规律的,因为墨水和水还是相对分离的,这时候这个体系的熵是比较小的。当随着时间的推进,墨水会慢慢的散开渐渐的充满整杯水,这时候发现水变成了黑色,各个位置的颜色也没有了区别,这个时候整杯水的体系的各个点都是相同的,没有规律的,那么这个时候,这杯水的体系内的混乱程度是很高的,就说这个体系的各个点都是相同的,没有规律的,那么这个时候,这杯水的体系内的混乱程度是很高的,就说这个体系的相对的熵很大。
信息熵
要了解信息熵之前,必须要了解一个概念就是信息。信息是一个很抽象的概念,它泛指人类社会传播的一切内容,语言、文字、图片、视频都可以作为信息的载体,但又无法完全代表信息。人们常说信息多和信息少,但却难以说出信息到底有多少,一本有50万字的小说中到底有多少的信息量,是不好评价的。直到香浓提出了信息熵的概念,这才解决了信息量化度量的问题,信息熵是度量信息量的单位。香浓用信息熵的概念来描述信息源的不确定度。
通常来说,一个信号源发出的符号是不确定的,衡量它可以用出现符号的概率来衡量,出现的概率大,则不确定性小,而出现的概率小,则相应的不确定性就大。也就是说,如果一个信号源,一个符号出现的概率越大,则它的不确定性就越小,熵就越小,反之如果出现的概率越小,则他的不确定性就越大,熵就越大。概率p和熵f是一个相逆的函数,f是p的单调递减函数。而两个独立的符号的不确定性应该等于他们不确定性的和,及 f(p1,p2=f(p1)+f(p2) 。满足这个条件的函数就是对数函数 f(p)=log1p=−log(p) 。而一个信息源的不确定性等于各种符号概率的统计的平均值。
如果信号源是一个灯泡的话,那么他的输出符号有亮和灭,也就是1,0。假如1的概率是P,那么0的概率就是1-P。则这个信号源的信息熵如图:
则当P=0.5的时候,信号源的信息熵是最大的。
最大熵理论
最大熵模型(Maximum Entropy Model)是概率学习中的一个准则,其中心思想是:在各种概率模型中,熵最大的那个模型是最好的;如果模型需要满足一些约束,则最大熵原理就是在满足约束的集合中选择熵最大的。其中的思想意义是,在选择一个概率模型时,当满足所有的已知约束后,不对未知的条件做任何主观的猜测,则未知的概率是均匀的,不确定性最大的,那么整个模型的熵就应该是最大的。
比如我们有一个六个面的骰子,六个面是一已知的约束,那这个骰子是不是被人做了手脚,每个面出现的几率一样么?那么各个面出现的可能性,就是我们要求的概率模型。而如果我们不对未知的情况做任何的主观假设,就是不假设有人对骰子做过手脚,则每个面的概率都是一样的,这时候这个模型的概率分布是最为均匀的。骰子模型的熵为-6log1/6,这个时候的熵最大。如果这时候知道了有人对骰子做了手脚,出现4的几率变成了1/2,那么剩下的点数出现的概率是多少呢?这个时候如果仍然利用最大熵理论,就是不对未知情况做任何主观假设,那剩下的投资的概率应该都是1/10。这个时候最大熵模型就变成了条件最大熵模型。则在满足已知的数据特征条件下的模型中,选取熵最大的那一个。
最大熵建模
最大熵建模就是应用最大熵理论,建立的统计模型,即从符合条件的模型中选择熵最大的模型作为最优秀的模型。
以词性标注为例子,对于给出的一段话利用模型,标注出每个词的词性。假设可以被标注的类别为有限数量的集合
Y
,
最大熵模型需要解决这么几个问题:
- 特征空间的确定——问题域。
对于“打”字的例子,假如我们有了很多条样例,从样例中统计得到,“打”的词性可能为{动词,量词,介词}。”打“的上下文的集合为 X 。则这三个量词,和词集合X 为问题域。 - 特征选择——寻找约束条件
因为“打”只有可能出现这三种词性,所以 p(动词)+p(量词)+p(介词)=1 ,这是第一个约束条件。又通过统计发现,如果前面的词为一个数词,则这个“打”的词性为一个量词。
f(n)={1,0,如果“打”前面为一个数词,则“打”为量词其他
这样就找到了两个模型的约束条件。 - 基于最大熵原理建立统计模型。
最大熵模型的优缺点
优点:
(1)建模时,试验者只需集中精力选择特征,而不需要花费精力考虑如何使用这些特征。
(2)特征选择灵活,且不需要额外的独立假定或者内在约束。
(3)模型应用在不同领域时的可移植性强。
(4)可结合更丰富的信息。
缺点:
(1)时空开销大
(2)数据稀疏问题严重
(3)对语料库的依赖性较强