最大熵的选择问题
熵、联合熵、条件熵、互信息的关系
熵之间的关系问题,不涉及到交叉熵等。为什么选择最大熵,物理学中,系统往往向着熵增加的方向发展,所以系统的熵越大,则系统的稳定性越高,当然系统的未知性也越高,例如简单的,水和无水乙醇混合在一起,系统的熵增加了,但是系统的未知性也增加了,原来的一滴水,只要知道从哪个被子里拿出来,你就知道它是什么,现在的一滴混合液,你永远无法判断是什么,只能得到一个比例。所以具有了未知性。
绝对稳定系统的优点,系统的状态处处相等,理论上可以无限分割。
最大熵模型
用欧氏空间的单纯形来描述问题,ABC三个点为取值,记概率为到3边的距离,约束为一条直线,也可能为曲线,表示实际事件的发生。当约束条件过多时,如图C,可能只有一个满足条件,D则为没有点满足条件。
特征函数的细致探讨
设数据集如下:
X,Y | X取值 | Y取值 |
---|---|---|
X1,Y1 | x 1 x_1 x1 | y 1 y_1 y1 |
X2,Y2 | x 1 x_1 x1 | y 1 y_1 y1 |
X3,Y3 | x 2 x_2 x2 | y 1 y_1 y1 |
… | … | |
XN,YN | x k x_k xk | y i y_i yi |
通常n>k>i,即总体中有部分重复样本,不同样本有同一个结果。
经验分布:
a
k
j
=
P
~
(
X
=
x
1
,
Y
=
y
1
)
=
V
(
X
=
x
1
,
Y
=
y
1
)
N
b
k
=
P
~
(
X
=
x
1
)
=
V
(
X
=
x
1
)
N
a_{kj} = \tilde P(X=x_1,Y=y_1)=\frac{V(X=x_1,Y=y_1)}{N} \\ b_k = \tilde P(X=x_1)=\frac{V(X=x_1)}{N}
akj=P~(X=x1,Y=y1)=NV(X=x1,Y=y1)bk=P~(X=x1)=NV(X=x1)
这两个值都是确定的,通过数据集可以估算出来,那么特征函数为对
x
,
y
x,y
x,y的一种限制,定义为:
f
i
(
x
,
y
)
=
{
1
x
∈
X
的
某
个
子
集
X
i
,
y
∈
Y
的
某
个
子
集
Y
i
0
否
则
f_i(x,y)=\begin{cases} 1 & x\in X的某个子集X_i,y\in Y的某个子集Y_i \\ 0 & 否则 \end{cases}
fi(x,y)={10x∈X的某个子集Xi,y∈Y的某个子集Yi否则
对于
x
k
,
y
j
x_k,y_j
xk,yj来说,有唯一的一个或者没有
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)使之满足条件。
则原经验特征函数可以写为
E
P
~
(
f
i
)
=
∑
x
,
y
P
~
(
x
k
,
y
i
)
f
i
(
x
,
y
)
E_{\tilde P}(f_i)=\sum_{x,y}\tilde P(x_k,y_i)f_i(x,y)
EP~(fi)=x,y∑P~(xk,yi)fi(x,y)
对于
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)来说,有一定的平面点集合
(
x
1
,
y
1
)
,
(
x
1
,
y
2
)
…
(x_{1},y_{1}),(x_{1},y_{2})\dots
(x1,y1),(x1,y2)…满足条件
P
~
(
x
k
,
y
i
)
\tilde P(x_k,y_i)
P~(xk,yi)是对满足条件的样本的统计,由于满足
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)条件的值为1,则原经验分布可以写为
E
P
~
(
f
i
)
=
∑
x
,
y
P
~
(
x
k
,
y
i
)
=
c
N
E_{\tilde P}(f_i)=\sum_{x,y}\tilde P(x_k,y_i) = \frac{c}{N}
EP~(fi)=x,y∑P~(xk,yi)=Nc
其中
c
c
c为数据集{
(
X
1
,
Y
1
)
,
(
X
2
,
Y
2
)
,
(
X
3
,
Y
3
)
.
.
.
(
X
N
,
Y
N
)
(X_1,Y_1),(X_2,Y_2),(X_3,Y_3)...(X_N,Y_N)
(X1,Y1),(X2,Y2),(X3,Y3)...(XN,YN)}中满足
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)判别条件的点的统计数量,是个定值。
c
=
f
i
(
a
i
j
)
c=f_i(a_{ij})
c=fi(aij)
特征函数的估计 E P ( f ) E_{P}(f) EP(f)
统计学习方法上,特征函数估计为:
E
P
(
f
i
)
=
∑
x
,
y
P
~
(
x
k
)
P
(
y
i
∣
x
k
)
f
i
(
x
k
,
y
i
)
E_{P}(f_i)=\sum_{x,y}\tilde P(x_k)P(y_i|x_k)f_i(x_k,y_i)
EP(fi)=x,y∑P~(xk)P(yi∣xk)fi(xk,yi)
在平面内满足
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)的集合的
(
x
1
,
y
1
)
,
(
x
1
,
y
2
)
…
(x_{1},y_{1}),(x_{1},y_{2})\dots
(x1,y1),(x1,y2)…忽略
y
i
y_i
yi的影响对
x
i
x_i
xi进行统计那么得出结果:对于满足条件的
x
i
x_i
xi统计结果得出,满足条件的
x
i
x_i
xi的数量为
d
x
i
d_{xi}
dxi,则
E
P
(
f
i
)
=
∑
x
,
y
P
~
(
x
k
)
P
(
y
i
∣
x
k
)
f
i
(
x
k
,
y
i
)
=
d
x
1
P
(
y
1
∣
x
1
)
+
d
x
2
P
(
y
2
∣
x
2
)
+
.
.
.
d
x
n
P
(
y
j
∣
x
n
)
N
E_{P}(f_i)=\sum_{x,y}\tilde P(x_k)P(y_i|x_k)f_i(x_k,y_i) \\ =\frac{d_{x1}P(y_1|x_1)+d_{x2}P(y_2|x_2)+...d_{xn}P(y_j|x_n)}{N}
EP(fi)=x,y∑P~(xk)P(yi∣xk)fi(xk,yi)=Ndx1P(y1∣x1)+dx2P(y2∣x2)+...dxnP(yj∣xn)
即约束函数可以如下写,对于满足判别式
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)的数据集,数据集的数目
c
c
c以及数据集中不同x对应的数量
d
x
i
d_{xi}
dxi,则为在
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)条件下,取值为
x
i
xi
xi的概率可以写为定值:
P
(
x
k
∣
f
i
)
=
d
x
k
c
=
e
x
k
P(x_k|f_i) = \frac{d_{xk}}{c} = e_{xk}
P(xk∣fi)=cdxk=exk
则判别条件
E
P
~
(
f
i
)
=
E
P
(
f
i
)
E_{\tilde P}(f_i) = E_{P}(f_i)
EP~(fi)=EP(fi)可以写为:
∑
k
=
1
,
j
=
1
k
,
j
P
(
x
k
∣
f
i
)
×
P
(
y
j
∣
x
k
)
=
1
=
∑
k
=
1
,
j
=
1
k
,
j
e
x
k
×
P
(
y
j
∣
x
k
)
∑
j
=
1
j
P
(
y
j
∣
x
k
)
=
1
\sum_{k=1,j=1}^{k,j} P(x_k|f_i)×P(y_j|x_k) =1 \\ = \sum_{k=1,j=1}^{k,j}e_{xk}×P(y_j|x_k) \\ \sum_{j=1}^j P(y_j|x_k) =1
k=1,j=1∑k,jP(xk∣fi)×P(yj∣xk)=1=k=1,j=1∑k,jexk×P(yj∣xk)j=1∑jP(yj∣xk)=1
老实说,我推导了这么多不知道有什么用。
最大熵模型
求已知函数
H
(
p
)
H(p)
H(p)的最大值:
H
(
P
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
s
.
t
∑
k
=
1
,
j
=
1
k
,
j
e
x
k
×
P
(
y
j
∣
x
k
)
=
1
∑
j
=
1
j
P
(
y
j
∣
x
k
)
=
1
H(P) = \sum_{x,y}\tilde P(x)P(y|x)logP(y|x) \\ s.t \qquad \sum_{k=1,j=1}^{k,j}e_{xk}×P(y_j|x_k)=1\\ \sum_{j=1}^j P(y_j|x_k) =1
H(P)=x,y∑P~(x)P(y∣x)logP(y∣x)s.tk=1,j=1∑k,jexk×P(yj∣xk)=1j=1∑jP(yj∣xk)=1
引入拉格朗日函数,得到:
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
e
x
p
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
=
1
Z
w
(
x
)
e
x
p
(
∑
x
,
y
∈
f
i
w
i
)
Z
w
(
x
)
=
∑
y
e
x
p
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
=
∑
y
e
x
p
(
∑
x
,
y
∈
f
i
w
i
)
L
p
^
(
P
w
)
=
∑
x
,
y
P
~
(
x
,
y
)
l
o
g
P
(
y
∣
x
)
P_w(y|x) = \frac{1}{Z_w(x)}exp(\sum_{i=1}^nw_if_i(x,y))=\frac{1}{Z_w(x)}exp(\sum_{x,y\in f_i} w_i) \\ Z_w(x) = \sum_yexp(\sum_{i=1}^nw_if_i(x,y)) = \sum_yexp(\sum_{x,y\in f_i} w_i) \\ L_{\hat p}(P_w) = \sum_{x,y}\tilde P(x,y)logP(y|x)
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))=Zw(x)1exp(x,y∈fi∑wi)Zw(x)=y∑exp(i=1∑nwifi(x,y))=y∑exp(x,y∈fi∑wi)Lp^(Pw)=x,y∑P~(x,y)logP(y∣x)
改进尺度迭代法IIS
(1)对于所有的w取0
(2)令
δ
i
\delta_i
δi是方程的解
E
P
~
(
f
i
)
=
∑
x
,
y
P
~
(
x
k
)
P
(
y
i
∣
x
k
)
f
i
(
x
k
,
y
i
)
e
x
p
(
δ
i
f
ϱ
(
x
,
y
)
)
其
中
f
ϱ
(
x
,
y
)
=
∑
f
i
(
x
,
y
)
E_{\tilde P}(f_i)=\sum_{x,y}\tilde P(x_k)P(y_i|x_k)f_i(x_k,y_i)exp(\delta_i f^{\varrho }(x,y)) \\ 其中f^{\varrho }(x,y) = \sum f_i(x,y)
EP~(fi)=x,y∑P~(xk)P(yi∣xk)fi(xk,yi)exp(δifϱ(x,y))其中fϱ(x,y)=∑fi(x,y)
更新
w
i
w_i
wi的值,
w
i
=
w
i
+
δ
i
w_i = w_i+\delta_i
wi=wi+δi
(3)如果w不是收敛,则继续迭代。