最大熵模型
1.它是一个判别模型,最终目的是为了建模 p(y|x) p ( y | x ) 。
2.原理
认为学习模型时,认为条件熵最大的模型是最好的模型。
其原理可由以下博客说明,其隐含的意思是指最好的模型是在满足已有约束的条件下,不做任何主观臆测的模型是最好的模型。
https://www.cnblogs.com/ooon/p/5677098.html
3.推导
Ep~(f)=∑x,yp~(x,y)f(x,y)
E
p
~
(
f
)
=
∑
x
,
y
p
~
(
x
,
y
)
f
(
x
,
y
)
Ep(f)=∑x,yp(x,y)f(x,y)
E
p
(
f
)
=
∑
x
,
y
p
(
x
,
y
)
f
(
x
,
y
)
条件熵:
H(Y|X)=H(X,Y)−H(X)=−∑x,yp(x,y)logp(x,y)+∑xp(x)logp(x)
H
(
Y
|
X
)
=
H
(
X
,
Y
)
−
H
(
X
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
+
∑
x
p
(
x
)
log
p
(
x
)
=−∑x,yp(x,y)logp(x,y)+∑x,yp(x,y)logp(x)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
+
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
)
=−∑x,yp(x,y)logp(x,y)p(x)=−∑x,yp(x,y)logp(y|x)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
p
(
x
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
y
|
x
)
=∑x,yp~(x)p(y|x)logp(x,y)
=
∑
x
,
y
p
~
(
x
)
p
(
y
|
x
)
log
p
(
x
,
y
)
在最后一步注意是为了建模 p(y|x) p ( y | x ) .
所以最终的优化问题可以转化为:
maxp∑x,yp~(x)p(y|x)logp(x,y)
max
p
∑
x
,
y
p
~
(
x
)
p
(
y
|
x
)
log
p
(
x
,
y
)
s.t. Ep~(fi)=Ep(fi)
s
.
t
.
E
p
~
(
f
i
)
=
E
p
(
f
i
)
∑yp(y|x)=1
∑
y
p
(
y
|
x
)
=
1
最终转化为拉格朗日优化法求解: