最大熵模型相关知识

预备知识

离散型变量X的概率分布是P(X)。它的 H ( X )    o r    H ( P ) {H(X) \; or \; H(P)} H(X)orH(P)越大,代表越均匀、越混乱、越不确定。熵的公式如下:
H ( P ) = − ∑ x ∈ X P ( x ) log ⁡ P ( x ) {H(P)} = {- \sum_{x \in X}P(x) \log P(x)} H(P)=xXP(x)logP(x)
当X服从均匀分布时,熵最大。

联合熵

熟悉了一个变量X的熵,很容易推广到多个个变量的联合熵,这里给出两个变量X和Y的联合熵表达式:
H ( X , Y ) = − ∑ i = 1 n p ( x i , y i ) l o g p ( x i , y i ) H(X,Y) = -\sum\limits_{i=1}^{n}p(x_i,y_i)logp(x_i,y_i) H(X,Y)=i=1np(xi,yi)logp(xi,yi)

条件熵

有了联合熵,又可以得到条件熵的表达式H(Y|X),条件熵类似于条件概率,它度量了我们的Y在知道X以后剩下的不确定性。表达式如下:
H ( Y ∣ X ) = ∑ j = 1 n p ( x j ) H ( Y ∣ x j ) = − ∑ i = 1 n p ( x i , y i ) l o g p ( y i ∣ x i ) H(Y|X) = \sum\limits_{j=1}^{n}p(x_j)H(Y|x_j) = -\sum\limits_{i=1}^{n}p(x_i,y_i)logp(y_i|x_i) H(YX)=j=1np(xj)H(Yxj)=i=1np(xi,yi)logp(yixi)

最大熵的原理

最大熵原理认为,学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型

假如某个事件包含两个部分:确定的部分(约束条件)和不确定的部分。选择模型时需要:

  1. 要满足所有的约束条件,即满足已有的确定的事实

  2. 均分不确定的部分

举个例子:X有5个取值 A , B , C , D , E {A,B,C,D,E} A,B,C,D,E,取值概率分别为 P ( A ) , P ( B ) , P ( C ) , P ( D ) , P ( E ) P(A),P(B),P(C),P(D),P(E) P(A),P(B),P(C),P(D),P(E)。满足以下约束条件:
P ( A ) + P ( B ) + P ( C ) + P ( D ) + P ( E ) = 1 P(A)+ P(B)+ P(C)+ P(D)+ P(E) = 1 P(A)+P(B)+P(C)+P(D)+P(E)=1
满足这个条件的模型有很多。但是如果再加一个约束条件:
P ( A ) + P ( B ) = 3 10 P(A) + P(B) = \frac{3}{10} P(A)+P(B)=103
则,满足约束条件的情况下不确定的部分的概率平分(条件熵最大):这样的模型是最好的模型:
P ( A ) = P ( B ) = 3 20 , P ( C ) = P ( D ) = P ( E ) = 7 30 P(A) = P(B) = \frac{3}{20}, \quad P(C)=P(D)=P(E) = \frac{7}{30} P(A)=P(B)=203,P(C)=P(D)=P(E)=307
**条件熵最大意味着:在给定了约束条件情况下,剩余事件的概率最均衡,因此模型最好。**于是可以得出,最大熵模型就是要:满足约束条件,并且使得“条件熵”最大

最大熵模型

给定一个训练集 ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , . . . , ( x ( m ) , y ( m ) ) {(x^{(1)},y^{(1)}), (x^{(2)},y^{(2)}), ... ,(x^{(m)},y^{(m)})} (x(1),y(1)),(x(2),y(2)),...(x(m),y(m)),其中x为n维特征向量,y为类别输出。我们的目标就是用最大熵模型选择一个最好的分类类型。

在给定训练集的情况下,我们可以得到总体联合分布 P ( X , Y ) P(X,Y) P(X,Y)的经验分布 P ~ ( X , Y ) \widetilde {P}(X,Y) P (X,Y)和边缘分布 P ( X ) P(X) P(X)的经验分布 P ~ ( X ) \widetilde {P}(X) P (X) P ~ ( X , Y ) \widetilde {P}(X,Y) P (X,Y)即为训练集中X,Y同时出现的次数除以样本总数m, P ~ ( X ) \widetilde {P}(X) P (X)即为训练集中X出现的次数除以样本总数m。

用特征函数 f ( x , y ) f(x,y) f(x,y)描述输入x和输出y之间的关系。定义为:
f ( x , y ) = { 1 x 与 y 满 足 某 个 关 系 0 否 则 f(x,y)= \begin{cases} 1& {x与y满足某个关系}\\ 0& {否则} \end{cases} f(x,y)={ 10xy
同一个训练样本可以有多个约束特征函数。

一、约束条件

特征函数 f ( x , y ) f(x,y) f(x,y)关于经验分布 P ~ ( X , Y ) \widetilde {P}(X,Y) P (X,Y)的期望值,表示为:
E P ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) E_{ \widetilde {P}}(f) = \sum\limits_{x,y} \widetilde {P}(x,y)f(x,y) EP (f)=x,yP (x,y)f(x,y)
由于特征函数是个二值函数,因此期望 E P ~ ( f ) E_{ \widetilde {P}}(f) EP (f)可以理解为:所有满足x与y某个关系 f f f的样本对经验分布 P ~ ( X , Y ) \widetilde {P}(X,Y) P (X,Y)的计数并求和。

特征函数 f ( x , y ) f(x,y) f(x,y)关于条件分布 P ( Y ∣ X ) P(Y|X) P(YX)和经验分布 P ~ ( X ) \widetilde {P}(X) P (X)的期望值,用 E P ( f ) E_{P}(f) EP(f)表示为:
E P ( f ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) E_{P}(f) = \sum\limits_{x,y} \widetilde {P}(x)P(y|x)f(x,y) EP(f)=x,yP (x)P(yx)f(x,y)
如果抽取到的样本具有足够的代表性,那么我们可以认为:
P ~ ( x , y ) = P ~ ( x ) P ( y ∣ x ) \widetilde {P}(x,y) = \widetilde {P}(x)P(y|x) P (x,y)=P (x)P(yx)
进而可以假设上面的两个期望值相等:
E P ~ ( f ) = E P ( f ) E_{ \widetilde {P}}(f) = E_{P}(f) EP (f)=EP(f)
上式就是最大熵模型学习的约束条件,假如我们有N个特征函数 f i ( x , y ) ( i = 1 , 2... , N ) f_i(x,y) (i=1,2...,N) fi(x,y)(i=1,2...,N)就有N个约束条件。可以理解为我们如果训练集里有m个样本,就有和这m个样本对应的N个约束条件。于是有约束条件如下:
E P ~ ( f i ) = E P ( f i ) ( i = 1 , 2 , . . . N ) E_{ \widetilde {P}}(f_i) = E_{P}(f_i) (i=1,2,...N) EP (fi)=EP(fi)(i=1,2,...N)

二、条件熵最大

最大熵模型假设分类模型是一个条件概率分布P(Y|X),X为特征,Y为输出。条件熵衡量了条件概率分布的均匀性,给定某个约束条件的情况下,当不确定事件的概率都相同的时候条件熵最大。于是条件熵是最大熵原理提出的基础,最大的是条件熵

定义在条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)上的条件熵为:
H ( P ) = − ∑ x , y P ( x , y ) l o g P ( y ∣ x ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P (

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值