最大熵的选择问题

熵、联合熵、条件熵、互信息的关系

统计学习方法-第六章
熵之间的关系问题,不涉及到交叉熵等。为什么选择最大熵,物理学中,系统往往向着熵增加的方向发展,所以系统的熵越大,则系统的稳定性越高,当然系统的未知性也越高,例如简单的,水和无水乙醇混合在一起,系统的熵增加了,但是系统的未知性也增加了,原来的一滴水,只要知道从哪个被子里拿出来,你就知道它是什么,现在的一滴混合液,你永远无法判断是什么,只能得到一个比例。所以具有了未知性。

绝对稳定系统的优点,系统的状态处处相等,理论上可以无限分割。

最大熵模型

统计学习方法-第六章
用欧氏空间的单纯形来描述问题,ABC三个点为取值,记概率为到3边的距离,约束为一条直线,也可能为曲线,表示实际事件的发生。当约束条件过多时,如图C,可能只有一个满足条件,D则为没有点满足条件。

特征函数的细致探讨

设数据集如下:

X,Y X取值 Y取值
X1,Y1 x1x_1 y1y_1
X2,Y2 x1x_1 y1y_1
X3,Y3 x2x_2 y1y_1
XN,YN xkx_k yiy_i

通常n>k>i,即总体中有部分重复样本,不同样本有同一个结果。
经验分布:
akj=P~(X=x1,Y=y1)=V(X=x1,Y=y1)Nbk=P~(X=x1)=V(X=x1)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}
这两个值都是确定的,通过数据集可以估算出来,那么特征函数为对x,yx,y的一种限制,定义为:
fi(x,y)={1xXXi,yYYi0 f_i(x,y)=\begin{cases} 1 & x\in X的某个子集X_i,y\in Y的某个子集Y_i \\ 0 & 否则 \end{cases}
对于xk,yjx_k,y_j来说,有唯一的一个或者没有fi(x,y)f_i(x,y)使之满足条件。
则原经验特征函数可以写为
EP~(fi)=x,yP~(xk,yi)fi(x,y) E_{\tilde P}(f_i)=\sum_{x,y}\tilde P(x_k,y_i)f_i(x,y)
对于fi(x,y)f_i(x,y)来说,有一定的平面点集合(x1,y1),(x1,y2)(x_{1},y_{1}),(x_{1},y_{2})\dots满足条件
P~(xk,yi)\tilde P(x_k,y_i)是对满足条件的样本的统计,由于满足fi(x,y)f_i(x,y)条件的值为1,则原经验分布可以写为
EP~(fi)=x,yP~(xk,yi)=cN E_{\tilde P}(f_i)=\sum_{x,y}\tilde P(x_k,y_i) = \frac{c}{N}
其中cc为数据集{(X1,Y1),(X2,Y2),(X3,Y3)...(XN,YN)(X_1,Y_1),(X_2,Y_2),(X_3,Y_3)...(X_N,Y_N)}中满足fi(x,y)f_i(x,y)判别条件的点的统计数量,是个定值。
c=fi(aij)c=f_i(a_{ij})

特征函数的估计EP(f)E_{P}(f)

统计学习方法上,特征函数估计为:
EP(fi)=x,yP~(xk)P(yixk)fi(xk,yi) E_{P}(f_i)=\sum_{x,y}\tilde P(x_k)P(y_i|x_k)f_i(x_k,y_i)
在平面内满足fi(x,y)f_i(x,y)的集合的(x1,y1),(x1,y2)(x_{1},y_{1}),(x_{1},y_{2})\dots忽略yiy_i的影响对xix_i进行统计那么得出结果:对于满足条件的xix_i统计结果得出,满足条件的xix_i的数量为dxid_{xi},则
EP(fi)=x,yP~(xk)P(yixk)fi(xk,yi)=dx1P(y1x1)+dx2P(y2x2)+...dxnP(yjxn)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}
即约束函数可以如下写,对于满足判别式fi(x,y)f_i(x,y)的数据集,数据集的数目cc以及数据集中不同x对应的数量dxid_{xi},则为在fi(x,y)f_i(x,y)条件下,取值为xixi的概率可以写为定值:
P(xkfi)=dxkc=exk P(x_k|f_i) = \frac{d_{xk}}{c} = e_{xk}
则判别条件EP~(fi)=EP(fi)E_{\tilde P}(f_i) = E_{P}(f_i)可以写为:
k=1,j=1k,jP(xkfi)×P(yjxk)=1=k=1,j=1k,jexk×P(yjxk)j=1jP(yjxk)=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
老实说,我推导了这么多不知道有什么用。

最大熵模型

求已知函数H(p)H(p)的最大值:
H(P)=x,yP~(x)P(yx)logP(yx)s.tk=1,j=1k,jexk×P(yjxk)=1j=1jP(yjxk)=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
引入拉格朗日函数,得到:
Pw(yx)=1Zw(x)exp(i=1nwifi(x,y))=1Zw(x)exp(x,yfiwi)Zw(x)=yexp(i=1nwifi(x,y))=yexp(x,yfiwi)Lp^(Pw)=x,yP~(x,y)logP(yx) 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)

改进尺度迭代法IIS

(1)对于所有的w取0
(2)令δi\delta_i是方程的解
EP~(fi)=x,yP~(xk)P(yixk)fi(xk,yi)exp(δifϱ(x,y))fϱ(x,y)=fi(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)
更新wiw_i的值,wi=wi+δiw_i = w_i+\delta_i
(3)如果w不是收敛,则继续迭代。

相关文章: