1.最大熵原理
最大熵原理是指在对随机变量的概率分布进行预测时,对未知概率不做任何假设。也就是说,预测概率分布为均匀分布时,熵最大,预测风险最小。
2.特征函数
数据集有
m
m
m个样本,每个样本有
n
n
n个特征和一个标签
y
y
y:
(
x
1
1
,
x
2
1
,
x
3
1
,
.
.
.
,
x
n
1
,
y
1
)
,
(
x
1
2
,
x
2
2
,
x
3
2
,
.
.
.
,
x
n
2
,
y
2
)
,
.
.
.
,
(
x
1
m
,
x
2
m
,
x
3
m
,
.
.
.
,
x
n
m
,
y
m
)
(x_{1}^{1},x_{2}^{1},x_{3}^{1},...,x_{n}^{1},y^{1}),(x_{1}^{2},x_{2}^{2},x_{3}^{2},...,x_{n}^{2},y^{2}),...,(x_{1}^{m},x_{2}^{m},x_{3}^{m},...,x_{n}^{m},y^{m})
(x11,x21,x31,...,xn1,y1),(x12,x22,x32,...,xn2,y2),...,(x1m,x2m,x3m,...,xnm,ym)
特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)表示
x
,
y
x,y
x,y之间存在某种关系:
f
(
x
,
y
)
{
1
x
,
y
相
关
0
x
,
y
不
相
关
f(x,y)\left\{\begin{matrix} 1 &x,y相关 \\ 0 &x,y不相关 \end{matrix}\right.
f(x,y){10x,y相关x,y不相关
例如,数据集中出现了
(
x
2
,
y
2
)
(x^{2},y^{2})
(x2,y2),则
x
2
,
y
2
x^{2},y^{2}
x2,y2相关;未出现
(
x
2
,
y
3
)
(x^{2},y^{3})
(x2,y3),则
x
2
,
y
3
x^{2},y^{3}
x2,y3不相关。
3.最大熵模型推导
已知数据集,可以根据频率求出经验分布:
P
‾
(
X
=
x
,
Y
=
y
)
=
c
o
n
u
t
(
X
=
x
,
Y
=
y
)
m
P
‾
(
X
=
x
)
=
c
o
u
n
t
(
X
=
x
)
m
\overline{P}(X=x,Y=y)=\frac{conut(X=x,Y=y)}{m}\\ \overline{P}(X=x)=\frac{count(X=x)}{m}
P(X=x,Y=y)=mconut(X=x,Y=y)P(X=x)=mcount(X=x)
特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于经验分布
P
‾
(
x
,
y
)
\overline{P}(x,y)
P(x,y)的期望:
E
p
‾
(
f
(
x
,
y
)
)
=
∑
x
,
y
P
‾
(
x
,
y
)
f
(
x
,
y
)
E_{\overline{p}}(f(x,y))=\sum_{x,y}\overline{P}(x,y)f(x,y)
Ep(f(x,y))=x,y∑P(x,y)f(x,y)
由于真实分布未知,特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于真实分布
P
(
x
,
y
)
P(x,y)
P(x,y)的期望,可以用经验分布
P
‾
(
x
)
\overline{P}(x)
P(x)和条件概率
P
(
y
∣
x
)
P(y|x)
P(y∣x)近似:
E
p
(
f
(
x
,
y
)
)
=
∑
x
,
y
P
(
x
,
y
)
f
(
x
,
y
)
≈
∑
x
,
y
P
(
y
∣
x
)
P
‾
(
x
)
f
(
x
,
y
)
E_{p}(f(x,y))=\sum_{x,y}P(x,y)f(x,y)\approx \sum_{x,y}P(y|x)\overline{P}(x)f(x,y)
Ep(f(x,y))=x,y∑P(x,y)f(x,y)≈x,y∑P(y∣x)P(x)f(x,y)
同样,
y
y
y关于
x
x
x的条件熵也可以用经验分布
P
‾
(
x
)
\overline{P}(x)
P(x)近似:
H
(
Y
∣
X
)
=
−
∑
x
,
y
P
(
x
,
y
)
log
P
(
y
∣
x
)
≈
−
P
(
y
∣
x
)
P
‾
(
x
)
log
P
(
y
∣
x
)
H(Y|X)=-\sum_{x,y}P(x,y)\log P(y|x)\approx -P(y|x)\overline{P}(x)\log P(y|x)
H(Y∣X)=−x,y∑P(x,y)logP(y∣x)≈−P(y∣x)P(x)logP(y∣x)
最大熵原理,要求求出熵
H
(
Y
∣
X
)
H(Y|X)
H(Y∣X)最大时的条件概率
P
(
y
∣
x
)
P(y|x)
P(y∣x),因此,目标函数为:
max
p
H
(
Y
∣
X
)
=
−
∑
x
,
y
P
(
y
∣
x
)
P
‾
(
x
)
log
P
(
y
∣
x
)
\max_{p}H(Y|X)= -\sum_{x,y}P(y|x)\overline{P}(x)\log P(y|x)
pmaxH(Y∣X)=−x,y∑P(y∣x)P(x)logP(y∣x)
并且假设条件概率
P
(
y
∣
x
)
P(y|x)
P(y∣x)可以从数据集中学习,也就是说特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于经验分布
P
‾
(
x
,
y
)
\overline{P}(x,y)
P(x,y)的期望和关于真实分布
P
(
x
,
y
)
P(x,y)
P(x,y)的期望相等:
E
p
(
f
(
x
,
y
)
)
=
E
p
‾
(
f
(
x
,
y
)
)
E_{p}(f(x,y))=E_{\overline{p}}(f(x,y))
Ep(f(x,y))=Ep(f(x,y))
最终,最大熵模型的目标函数为:
min
p
−
H
(
Y
∣
X
)
=
∑
x
,
y
P
(
y
∣
x
)
P
‾
(
x
)
log
P
(
y
∣
x
)
s
.
t
.
E
p
(
f
(
x
,
y
)
)
−
E
p
‾
(
f
(
x
,
y
)
)
=
0
∑
y
P
(
y
∣
x
)
=
1
\min_{p}-H(Y|X)= \sum_{x,y}P(y|x)\overline{P}(x)\log P(y|x)\\ s.t.E_{p}(f(x,y))-E_{\overline{p}}(f(x,y))=0\\ \sum_{y}P(y|x)=1
pmin−H(Y∣X)=x,y∑P(y∣x)P(x)logP(y∣x)s.t.Ep(f(x,y))−Ep(f(x,y))=0y∑P(y∣x)=1
4.目标函数求解
对于约束最优化问题,构造拉格朗日函数:
L
(
P
,
w
)
=
∑
x
,
y
P
(
y
∣
x
)
P
‾
(
x
)
log
P
(
y
∣
x
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
m
w
i
[
E
p
(
f
(
x
,
y
)
)
−
E
p
‾
(
f
(
x
,
y
)
)
]
=
∑
x
,
y
P
(
y
∣
x
)
P
‾
(
x
)
log
P
(
y
∣
x
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
m
w
i
[
∑
x
,
y
P
(
y
∣
x
)
P
‾
(
x
)
f
i
(
x
,
y
)
−
∑
x
,
y
P
‾
(
x
,
y
)
f
i
(
x
,
y
)
]
\begin{aligned} L(P,w)&=\sum_{x,y}P(y|x)\overline{P}(x)\log P(y|x)+w_{0}(1-\sum_{y}P(y|x))+\sum_{i=1}^{m}w_{i}[E_{p}(f(x,y))-E_{\overline{p}}(f(x,y))] \\ &= \sum_{x,y}P(y|x)\overline{P}(x)\log P(y|x)+w_{0}(1-\sum_{y}P(y|x))+\sum_{i=1}^{m}w_{i}[ \sum_{x,y}P(y|x)\overline{P}(x)f_{i}(x,y)-\sum_{x,y}\overline{P}(x,y)f_{i}(x,y)] \end{aligned}
L(P,w)=x,y∑P(y∣x)P(x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑mwi[Ep(f(x,y))−Ep(f(x,y))]=x,y∑P(y∣x)P(x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑mwi[x,y∑P(y∣x)P(x)fi(x,y)−x,y∑P(x,y)fi(x,y)]
原始问题:
min
P
max
w
L
(
P
,
w
)
\min_{P}\max_{w}L(P,w)
PminwmaxL(P,w)
对偶问题:
max
w
min
P
L
(
P
,
w
)
\max_{w}\min_{P}L(P,w)
wmaxPminL(P,w)
(1)求内层极小值:
∂
L
∂
P
(
y
∣
x
)
=
∑
x
,
y
P
‾
(
x
)
[
log
P
(
y
∣
x
)
+
1
]
−
∑
y
w
0
−
∑
i
=
1
m
w
i
∑
x
,
y
P
‾
(
x
)
f
i
(
x
,
y
)
=
∑
x
,
y
P
‾
[
log
P
(
y
∣
x
)
+
1
−
w
0
−
∑
i
=
1
m
w
i
f
i
(
x
,
y
)
]
=
0
⇒
log
P
(
y
∣
x
)
=
∑
i
=
1
m
w
i
f
i
(
x
,
y
)
−
(
1
−
w
0
)
⇒
P
(
y
∣
x
)
=
exp
[
∑
i
=
1
m
w
i
f
i
(
x
,
y
)
−
(
1
−
w
0
)
]
⇒
P
(
y
∣
x
)
=
exp
∑
i
=
1
m
w
i
f
i
(
x
,
y
)
exp
(
1
−
w
0
)
\begin{aligned} \frac{\partial L}{\partial P(y|x)}&=\sum_{x,y}\overline{P}(x)[\log P(y|x)+1]-\sum_{y}w_{0}-\sum_{i=1}^{m}w_{i}\sum_{x,y}\overline{P}(x)f_{i}(x,y)\\ &=\sum_{x,y}\overline{P}[\log P(y|x)+1-w_{0}-\sum_{i=1}^{m}w_{i}f_{i}(x,y)]\\ &=0\\ &\Rightarrow \log P(y|x)=\sum_{i=1}^{m}w_{i}f_{i}(x,y)-(1-w_{0})\\ &\Rightarrow P(y|x)=\exp[\sum_{i=1}^{m}w_{i}f_{i}(x,y)-(1-w_{0})]\\ &\Rightarrow P(y|x)=\frac{\exp\sum_{i=1}^{m}w_{i}f_{i}(x,y)}{\exp(1-w_{0})} \end{aligned}
∂P(y∣x)∂L=x,y∑P(x)[logP(y∣x)+1]−y∑w0−i=1∑mwix,y∑P(x)fi(x,y)=x,y∑P[logP(y∣x)+1−w0−i=1∑mwifi(x,y)]=0⇒logP(y∣x)=i=1∑mwifi(x,y)−(1−w0)⇒P(y∣x)=exp[i=1∑mwifi(x,y)−(1−w0)]⇒P(y∣x)=exp(1−w0)exp∑i=1mwifi(x,y)
又
∑
y
P
(
y
∣
x
)
=
1
\sum_{y}P(y|x)=1
∑yP(y∣x)=1:
∑
y
exp
∑
i
=
1
m
w
i
f
i
(
x
,
y
)
exp
(
1
−
w
0
)
=
1
\frac{\sum_{y}\exp\sum_{i=1}^{m}w_{i}f_{i}(x,y)}{\exp(1-w_{0})}=1
exp(1−w0)∑yexp∑i=1mwifi(x,y)=1
令
exp
(
1
−
w
0
)
=
Z
w
(
x
)
\exp(1-w_{0})=Z_{w}(x)
exp(1−w0)=Zw(x),则
Z
w
(
x
)
Z_{w}(x)
Zw(x)有归一化作用,称其为规范化因子,最终得:
P
(
y
∣
x
)
=
1
Z
w
(
x
)
exp
∑
i
=
1
m
w
i
f
i
(
x
,
y
)
P(y|x)=\frac{1}{Z_{w}(x)}\exp\sum_{i=1}^{m}w_{i}f_{i}(x,y)
P(y∣x)=Zw(x)1expi=1∑mwifi(x,y)
(2)求外层极大值
用
w
w
w表示
P
(
y
∣
x
)
P(y|x)
P(y∣x)并带入
L
(
P
,
w
)
L(P,w)
L(P,w)中,约束条件最终变为:
arg
max
w
∑
x
,
y
P
‾
(
x
,
y
)
∑
i
=
1
m
w
i
f
i
(
x
,
y
)
+
∑
x
P
‾
(
x
)
log
Z
w
(
x
)
\arg\max_{w}\sum_{x,y}\overline{P}(x,y)\sum_{i=1}^{m}w_{i}f_{i}(x,y)+\sum _{x}\overline{P}(x)\log Z_{w}(x)
argwmaxx,y∑P(x,y)i=1∑mwifi(x,y)+x∑P(x)logZw(x)
这是一个连续可导的凸函数,可用梯度下降、牛顿法求解,有专门针对最大熵模型优化的ISS算法。