最大熵的选择问题
熵、联合熵、条件熵、互信息的关系
熵之间的关系问题,不涉及到交叉熵等。为什么选择最大熵,物理学中,系统往往向着熵增加的方向发展,所以系统的熵越大,则系统的稳定性越高,当然系统的未知性也越高,例如简单的,水和无水乙醇混合在一起,系统的熵增加了,但是系统的未知性也增加了,原来的一滴水,只要知道从哪个被子里拿出来,你就知道它是什么,现在的一滴混合液,你永远无法判断是什么,只能得到一个比例。所以具有了未知性。
绝对稳定系统的优点,系统的状态处处相等,理论上可以无限分割。
最大熵模型
用欧氏空间的单纯形来描述问题,ABC三个点为取值,记概率为到3边的距离,约束为一条直线,也可能为曲线,表示实际事件的发生。当约束条件过多时,如图C,可能只有一个满足条件,D则为没有点满足条件。
特征函数的细致探讨
设数据集如下:
X,Y | X取值 | Y取值 |
---|---|---|
X1,Y1 | x 1 x_1x1 | y 1 y_1y1 |
X2,Y2 | x 1 x_1x1 | y 1 y_1y1 |
X3,Y3 | x 2 x_2x2 | y 1 y_1y1 |
… | … | |
XN,YN | x k x_kxk | y i y_iyi |
通常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,yx,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_jxk,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 cc为数据集{( 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_iyi的影响对x i x_ixi进行统计那么得出结果:对于满足条件的x i x_ixi统计结果得出,满足条件的x i x_ixi的数量为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 cc以及数据集中不同x对应的数量d x i d_{xi}dxi,则为在f i ( x , y ) f_i(x,y)fi(x,y)条件下,取值为x i xixi的概率可以写为定值:
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) =1k=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) =1H(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_iwi的值,w i = w i + δ i w_i = w_i+\delta_iwi=wi+δi
(3)如果w不是收敛,则继续迭代。