熵(熵,条件熵)与最大熵模型

熵在概率论中是很重要的概念。表示随机变量不确定性的度量。设随机变量 X X X其概率分布为 P ( X = x i ) = p i , i = 1 , 2... n P(X=x_i)=p_i,i=1,2...n P(X=xi)=pii=1,2...n
X X X的熵可以表示为
H ( p ) = − ∑ i = 1 n p i l o g ( p i ) H(p)=-\sum_{i=1}^{n}p_ilog(p_i) H(p)=i=1npilog(pi)
这里由于 X X X的熵与其取值没有关系,所以直接表示为 H ( p ) H(p) H(p).
对于一个随机变量来说,其随机性越大,那么熵就越大。那么最极致的情况是什么呢?一个随机变量每一个取值对应一个概率,某个值概率越大,那么随机变量就越可能取这个值,那么其确定性也就越大。当某个值为1时,随机变量就是确定的了。因此可以看出当每个值的概率相等时,随机变量的不确定性最大,也就是 p = 1 / n p=1/n p=1/n。此时熵为 l o g ( n ) log(n) log(n)
熵越大,随机性越大,那么可知熵满足:
0 ≤ H ( p ) ≤ l o g ( n ) 0\leq H(p) \leq log(n) 0H(p)log(n)

条件熵

设随机变量 ( X , Y ) (X,Y) (X,Y),其联合概率分布为:
P ( X = x i , Y = y j ) = p i , j , i = 1.. n , j = 1.. m P(X=x_i,Y=y_j)=p_{i,j} ,i=1..n,j=1..m P(X=xi,Y=yj)=pi,ji=1..nj=1..m
条件熵 H ( Y ∣ X ) H(Y|X) H(YX)表示在已知随机变量 X X X的条件下随机变量Y的不确定性。定义为 X X X给定条件下 Y Y Y的条件概率的熵对 X X X的数学期望。
H ( Y ∣ X ) = ∑ i n p i H ( Y ∣ X = x i ) H(Y|X)=\sum^n_i p_iH(Y|X=x_i) H(YX)=inpiH(YX=xi)
其中 p i = P ( X = x i ) p_i=P(X=x_i) pi=P(X=xi) H ( Y ∣ X = x i ) = ∑ j = 1 m p ( Y = y j ∣ x i ) l o g ( p ( Y = y j ∣ x i ) ) H(Y|X=x_i)=\sum_{j=1}^m p(Y=y_j|x_i)log( p(Y=y_j|x_i)) H(YX=xi)=j=1mp(Y=yjxi)log(p(Y=yjxi)) 由条件概率的性质 p ( x ) p ( y ∣ x ) = p ( x , y ) p(x)p(y|x)=p(x,y) p(x)p(yx)=p(x,y)所以有 H ( Y ∣ X ) = ∑ i n ∑ j m p ( x i ) p ( y j ∣ x i ) l o g ( p ( y j ∣ x i ) ) = ∑ i n ∑ j m p ( x i , y j ) l o g ( p ( y j ∣ x i ) H(Y|X)=\sum^n_i\sum^m_j p(x_i) p(y_j|x_i)log(p(y_j|x_i))=\sum^n_i\sum^m_jp(x_i,y_j)log(p(y_j|x_i) H(YX)=injmp(xi)p(yjxi)log(p(yjxi))=injmp(xi,yj)log(p(yjxi),这个式子在下面最大熵模型中会用到。

最大熵模型

最大熵模型是一种求解概率模型的方法
最大熵模型要说的一件什么事呢。我们想要求解的概率模型在满足已知确定约束的条件下,对于未知情况以相等概率处之,也就是对于未知情况满足最大熵。例如一个不均匀的骰子,我们已知出现3点的概率为1/3,对于其他点数我们并不知道,那么最大熵模型就会认为其他点数出现的概率都是2/15(共享2/3)。这样概率分布具有最大的熵。
下面给出最大熵模型的定义我们所求的目标是一个分类模型,即一个条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX),给定一个输入 X X X输出其所属类别 Y Y Y。给定一个训练数据集,我们称之为经验:
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2)...(x_N,y_N)\} T={(x1,y1),(x2,y2)...(xN,yN)}
将基于此经验之上的联合分布 P ( X , Y ) P(X,Y) P(X,Y)的经验分布和边缘分布 P ( X ) P(X) P(X)的经验分布分别表示为 P ~ ( X , Y ) \tilde{P}(X,Y) P~(X,Y) P ~ ( X ) \tilde{P}(X) P~(X),这两个都是可以基于已知经验算出来的。比如:
P ~ ( X = x , Y = y ) = X = x 且 Y = y 经 验 的 个 数 N \tilde{P}(X=x,Y=y)=\frac{X=x且Y=y经验的个数}{N} P~(X=x,Y=y)=NX=xY=y
P ~ ( X = x ) = X = x 经 验 的 个 数 N \tilde{P}(X=x)=\frac{X=x经验的个数}{N} P~(X=x)=NX=x
在实际中,由于数据特征很大,而我们有要求模型有很好的泛化性,即我们希望在数据缺失的区域模型也可以达到很好的效果,因此在最大熵模型中对数据空间进行的压缩,使用特征函数来对数据进行转换:
f ( x , y ) = { 1 , x 与 y 满 足 某 一 事 实 0 , 否 则 f(x,y)=\left\{\begin{matrix} 1,x与y满足某一事实 \\ 0,否则 \end{matrix}\right. f(x,y)={1xy0
这个特征函数描述了输入x,输出y之间的某一个事实,也可以自己定义特征函数,这样就每一对原始数据就可以转化为有限空间中的数据,把问题简化了。
特征函数 f ( x , y ) f(x,y) f(x,y)关于经验分布 P ~ ( X , Y ) \tilde{P}(X,Y) P~(X,Y)的期望可以用
E p ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) E_{\tilde{p}}(f)=\sum_{x,y}\tilde{P}(x,y)f(x,y) Ep~(f)=x,yP~(x,y)f(x,y)
相对应的特征函数 f ( x , y ) f(x,y) f(x,y)关于模型分布 P ( Y ∣ X ) P(Y|X) P(YX)的期望为:
E p ( f ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) E_{p}(f)=\sum_{x,y}\tilde{P}(x)P(y|x)f(x,y) Ep(f)=x,yP~(x)P(yx)f(x,y)
此式中,由条件概率性质 P ~ ( x ) P ~ ( y ∣ x ) = P ~ ( x , y ) \tilde{P}(x)\tilde P(y|x)=\tilde{P}(x,y) P~(x)P~(yx)=P~(x,y),这里由于我们要求的是条件概率模型 P ( Y ∣ X ) P(Y|X) P(YX),所以引入了 P ~ ( x ) P ( y ∣ x ) \tilde{P}(x)P(y|x) P~(x)P(yx),我们希望从经验所求的模型分布 P ( Y ∣ X ) P(Y|X) P(YX)使得:
E p ( f ) = E p ~ ( f ) ( 1 ) E_{p}(f)=E_{\tilde{p}}(f) \qquad(1) Ep(f)=Ep~(f)(1) ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) = ∑ x , y P ~ ( x , y ) f ( x , y ) ( 2 ) \sum_{x,y}\tilde{P}(x)P(y|x)f(x,y)=\sum_{x,y}\tilde{P}(x,y)f(x,y) \qquad(2) x,yP~(x)P(yx)f(x,y)=x,yP~(x,y)f(x,y)(2)
上面(1)可以作为模型学习的约束条件。因此最大熵模型可以定义为如下形式:
假设满足所有约束条件的概率分布集合为 C = { P ∣ E p ( f i ) = E p ~ ( f i ) , i = 1 , 2 , 3... n } C=\{P|E_{p}(f_i)=E_{\tilde{p}}(f_i),i=1,2,3...n\} C={PEp(fi)=Ep~(fi)i=1,2,3...n}定义在条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)上的条件熵(见上面条件熵)为 H ( p ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g ( P ( y ∣ x ) ) H(p)=-\sum_{x,y}\tilde{P}(x)P(y|x)log(P(y|x)) H(p)=x,yP~(x)P(yx)log(P(yx))则模型集合C中条件熵 H ( p ) H(p) H(p)最大的模型称 最大熵模型 式子中对数为自然对数
最大熵模型也可以从KL散度的角度来解释。
最大熵模型的求解可以使用梯度下降(SGD)求解,也可以使用
改进的迭代尺度(improved iterative scaling, IIS)求解。见下一篇

参考书1:概率论与数理统计 浙江大学 第四版
参考书2:统计学习方法 李航
参考书3:强化学习精要:核心算法与TensorFlow实现

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值