《统计学习方法》—— 逻辑斯谛回归 与 最大熵模型 的介绍以及详细推导

前言

在《统计学习方法》第二版的第6章,作者将逻辑斯谛回归与最大熵这两个模型放在一起讲,初看令人困惑。但是看到后面才明白,这是作者为了介绍以似然函数为目标函数的最优化问题的解法。

当一个最优化问题以似然函数作为其目标函数的时候,作者提到三种常用的优化方法,改进的迭代尺度法、梯度下降法以及牛顿法或者拟牛顿法。

作为例子,作者演示了如何将 逻辑斯谛回归问题和最大熵模型 转化为以似然函数为目标函数的最优化问题,并利用上面提到的三种优化方法进行求解。

本文将主要聚焦于 逻辑斯谛回归与最大熵模型 转化为 以似然函数为目标函数的最优化问题的推导过程。

1. 逻辑斯谛回归

1.1 逻辑斯谛分布

假设随机变量 X X X 满足
(1) 分布函数为 P ( X ≤ x ) = 1 1 + e − x − μ λ P(X\le x)=\frac{1}{1+e^{-\frac{x-\mu}{\lambda}}} P(Xx)=1+eλxμ1

(2) 密度函数为 f ( x ) = e − x − μ λ λ ( 1 + e − x − μ λ ) 2 f(x)=\frac{e^{-\frac{x-\mu}{\lambda}}}{\lambda\left(1+e^{-\frac{x-\mu}{\lambda}}\right)^2} f(x)=λ(1+eλxμ)2eλxμ

则称随机变量 X X X 服从一个参数为 ( μ , λ ) (\mu, \lambda) (μ,λ) 的逻辑斯谛分布。

1.2 逻辑斯谛回归模型

x ∈ R n x\in \mathbb{R}^n xRn 为输入, y ∈ { 0 , 1 } y\in\{0, 1\} y{0,1} 为输出,现在若分类模型 P ( Y ∣ X ) P(Y|X) P(YX) 具有如下形式:
P ( Y = 1 ∣ X = x ) = e w ⋅ x + b 1 + e w ⋅ x + b P(Y=1|X=x)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}} P(Y=1X=x)=1+ewx+bewx+b

P ( Y = 0 ∣ X = x ) = 1 1 + e w ⋅ x + b P(Y=0|X=x)=\frac{1}{1+e^{w\cdot x+b}} P(Y=0X=x)=1+ewx+b1

则称 P ( Y ∣ X ) P(Y|X) P(YX) 为逻辑斯谛回归模型。这里, w w w 为权值, b b b 为偏置。

从形式上可以看出,当令 μ = 0 , λ = 1 \mu=0, \lambda=1 μ=0,λ=1时,逻辑斯谛分布就是逻辑斯谛回归模型。

我们当一件事情的发生概率为 p p p,则这件事的几率定义为 p 1 − p \frac{p}{1-p} 1pp。可以看到, Y = 1 Y=1 Y=1 的对数几率为
l o g P ( Y = 1 ∣ X = x ) 1 − P ( Y = 1 ∣ X = x ) = w ⋅ x + b log\frac{P(Y=1|X=x)}{1-P(Y=1|X=x)}=w\cdot x+b log1P(Y=1X=x)P(Y=1X=x)=wx+b

也就是说,输出 Y = 1 Y=1 Y=1 的对数几率为输入 x x x 的线性函数。

1.3 逻辑斯谛回归的似然函数

已知数据 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中, y i ∈ { 0 , 1 } y_i\in\{0, 1\} yi{0,1}

P ( Y = 1 ∣ X = x ) = p ( x ) P(Y=1|X=x)=p(x) P(Y=1X=x)=p(x),则 P ( Y = 0 ∣ X = x ) = 1 − p ( x ) P(Y=0|X=x)=1-p(x) P(Y=0X=x)=1p(x)。因此,似然函数可以写为
L ( w , b ) = l o g ( Π i = 1 N p ( x i ) y i ( 1 − p ( x i ) ) 1 − y i ) = ∑ i = 1 N ( y i l o g p ( x i ) + ( 1 − y i ) l o g ( 1 − p ( x i ) ) ) = ∑ i = 1 N ( y i ( w ⋅ x i + b ) − l o g ( 1 + e w ⋅ x i + b ) ) \begin{array}{lll} L(w, b)&=&log\left(\Pi_{i=1}^Np(x_i)^{y_i}(1-p(x_i))^{1-y_i} \right)\\ &=& \sum_{i=1}^N\left(y_ilogp(x_i)+(1-y_i)log(1-p(x_i)) \right)\\ &=&\sum_{i=1}^N\left(y_i(w\cdot x_i+b)-log(1+e^{w\cdot x_i+b})\right) \end{array} L(w,b)===log(Πi=1Np(xi)yi(1p(xi))1yi)i=1N(yilogp(xi)+(1yi)log(1p(xi)))i=1N(yi(wxi+b)log(1+ewxi+b))

这里,最优的 ( w ∗ , b ∗ ) (w^*, b^*) (w,b) 满足
( w ∗ , b ∗ ) = arg max ⁡ w , b L ( w , b ) (w^*, b^*)=\argmax_{w, b}L(w, b) (w,b)=w,bargmaxL(w,b)

2. 最大熵模型

2.1 熵、条件熵

熵是用来衡量随机变量不确定性程度的量。

熵的定义。设随机变量 X X X 满足 P ( X = x i ) = p i P(X=x_i)=p_i P(X=xi)=pi,则随机变量 X X X 的熵 H ( X ) H(X) H(X)
H ( X ) = − ∑ i = 1 N p i ⋅ l o g ( p i ) H(X)=-\sum_{i=1}^Np_i\cdot log(p_i) H(X)=i=1Npilog(pi)

其中, N N N 为随机变量所有可能取值的个数。

条件熵的定义。设 P ( X , Y ) P(X, Y) P(X,Y) 为随机变量 X X X Y Y Y 的联合概率, P ( Y ∣ X ) P(Y|X) P(YX) 为条件概率,则条件概率 P ( Y ∣ X ) P(Y|X) P(YX) 的熵 H ( Y ∣ X ) H(Y|X) H(YX)
H ( Y ∣ X ) = ∑ i = 1 N P ( X = x i ) H ( Y ∣ X = x i ) = ∑ i = 1 N P ( X = x i ) ∑ j = 1 M P ( Y = y j ∣ X = x i ) l o g P ( Y = y j ∣ X = x i ) = ∑ i = 1 N ∑ j = 1 M P ( X = x i ) P ( Y = y i ∣ X = x i ) l o g P ( Y = y j ∣ X = x i ) = ∑ x , y P ( X = x ) P ( Y = y ∣ X = x ) l o g P ( Y = y ∣ X = x ) \begin{array}{lll} H(Y|X)&=&\sum_{i=1}^NP(X=x_i)H(Y|X=x_i)\\ &=&\sum_{i=1}^NP(X=x_i)\sum_{j=1}^MP(Y=y_j|X=x_i)logP(Y=y_j|X=x_i)\\ &=&\sum_{i=1}^N\sum_{j=1}^MP(X=x_i)P(Y=y_i|X=x_i)logP(Y=y_j|X=x_i)\\ &=&\sum_{x, y}P(X=x)P(Y=y|X=x)logP(Y=y|X=x) \end{array} H(YX)====i=1NP(X=xi)H(YX=xi)i=1NP(X=xi)j=1MP(Y=yjX=xi)logP(Y=yjX=xi)i=1Nj=1MP(X=xi)P(Y=yiX=xi)logP(Y=yjX=xi)x,yP(X=x)P(Y=yX=x)logP(Y=yX=x)

其中, N N N M M M 分别为 X X X Y Y Y 所有可能取值的个数。

2.2 最大熵原理及一个例子

对于一个随机变量 X X X,它的取值为 { x 1 , x 2 , . . . , x N } \{x_1, x_2, ..., x_N\} {x1,x2,...,xN},如果不知道其他信息,则我们通过最大熵原理来估计 P ( X = x i ) = p i P(X=x_i)=p_i P(X=xi)=pi 的值,是指
( p 1 , p 2 , . . . , p N ) = arg max ⁡ H ( X ) (p_1, p_2, ..., p_N)=\argmax H(X) (p1,p2,...,pN)=argmaxH(X)

我们选择使得熵最大的数值作为我们估计的概率。

这样,我们有优化问题
max ⁡ H ( X ) = − ∑ i = 1 N p i l o g ( p i ) s . t . ∑ i = 1 N p i = 1 p i ≥ 0 , i = 1 , 2 , . . . , N \begin{array}{cll} &\max& H(X)=-\sum_{i=1}^Np_ilog(p_i)\\ &s.t.& \sum_{i=1}^Np_i=1\\ &&p_i\ge 0, i=1, 2, ..., N \end{array} maxs.t.H(X)=i=1Npilog(pi)i=1Npi=1pi0,i=1,2,...,N

∑ i = 1 N p i = 1 \sum_{i=1}^Np_i=1 i=1Npi=1 可知, p N = 1 − ∑ i = 1 N − 1 p i p_N=1-\sum_{i=1}^{N-1}p_i pN=1i=1N1pi,将 p N p_N pN 代入 H ( X ) H(X) H(X),我们有
H ( X ) = − ∑ i = 1 N − 1 p i l o g ( p i ) − ( 1 − ∑ i = 1 N − 1 p i ) l o g ( 1 − ∑ i = 1 N − 1 p i ) H(X)=-\sum_{i=1}^{N-1}p_ilog(p_i)-(1-\sum_{i=1}^{N-1}p_i)log(1-\sum_{i=1}^{N-1}p_i) H(X)=i=1N1pilog(pi)(1i=1N1pi)log(1i=1N1pi)

为了求最大值,我们对 p i , i = 1 , 2 , . . . , N − 1 p_i, i=1, 2, ..., N-1 pi,i=1,2,...,N1 分别求导,有
∂ H ( X ) ∂ p i = l o g ( 1 − ∑ i = 1 N − 1 p i ) − l o g ( p i ) \frac{\partial H(X)}{\partial p_i}=log(1-\sum_{i=1}^{N-1}p_i)-log(p_i) piH(X)=log(1i=1N1pi)log(pi)

∂ H ( X ) ∂ p i = 0 \frac{\partial H(X)}{\partial p_i}=0 piH(X)=0,得 p i = 1 − ∑ i = 1 N − 1 p i p_i=1-\sum_{i=1}^{N-1}p_i pi=1i=1N1pi,考虑到 1 − ∑ i = 1 N − 1 p i = p N 1-\sum_{i=1}^{N-1}p_i=p_N 1i=1N1pi=pN,因此,对于任意的 i = 1 , 2 , . . . , N − 1 i=1, 2, ..., N-1 i=1,2,...,N1,我们恒有
p i = p N p_i=p_N pi=pN

由于 ∑ i = 1 N p i = 1 \sum_{i=1}^{N}p_i=1 i=1Npi=1, 因此,对于任何 i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N,我们有 p i = 1 N p_i=\frac{1}{N} pi=N1

2.3 最大熵问题

现在,我们有随机变量 X X X Y Y Y,以及由它们生成的数据 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},现在,根据最大熵原理,我们应该怎样获得 条件概率,也就是分类模型 P ( Y ∣ X ) P(Y|X) P(YX)

  • 经验分布:根据数据集 T T T,我们可以获得 联合分布 P ( X , Y ) P(X, Y) P(X,Y) 和边缘分布 P ( X ) P(X) P(X) 的经验分布,即 P ~ ( X = x , Y = y ) = ν ( X = x , Y = y ) N \widetilde{P}(X=x, Y=y)=\frac{\nu(X=x, Y=y)}{N} P (X=x,Y=y)=Nν(X=x,Y=y) P ~ ( X = x ) = ν ( X = x ) N \widetilde{P}(X=x)=\frac{\nu(X=x)}{N} P (X=x)=Nν(X=x)

其中, ν ( X = x , Y = y ) \nu(X=x, Y=y) ν(X=x,Y=y) 为样本 ( x , y ) (x, y) (x,y) 在数据集 T T T 中的个数,当 ( x , y ) ∉ T (x, y)\notin T (x,y)/T时, ν ( X = x , Y = y ) = 0 \nu(X=x, Y=y)=0 ν(X=x,Y=y)=0

  • 特征函数 f ( x , y ) f(x, y) f(x,y):这里可以理解为关于随机变量 X X X Y Y Y 的约束条件,形式化为一个二值函数,具体为
    f ( x , y ) = { 1 , x 与 y 满 足 某 一 约 束 0 , x 与 y 不 满 足 该 约 束 f(x, y)=\left\{ \begin{array}{lll} 1, && x与y满足某一约束\\ 0, && x与y不满足该约束 \end{array}\right. f(x,y)={1,0,xyxy

这样约束可以为 ( x , y ) ∈ T (x, y)\in T (x,y)T,或者 ( x , y ) = ( x i , y i ) (x, y)=(x_i, y_i) (x,y)=(xi,yi)等等。

  • 特征函数 f ( x , y ) f(x, y) f(x,y) 关于分布的两个经验期望值:
    E P ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) E_{\widetilde{P}}(f)=\sum_{x, y}\widetilde{P}(x, y)f(x, y) EP (f)=x,yP (x,y)f(x,y)

E P ( f ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) E_{P}(f)=\sum_{x, y}\widetilde{P}(x)P(y|x)f(x, y) EP(f)=x,yP (x)P(yx)f(x,y)

我们期望这两个经验期望值相等,在某种意义上,这意味着 P ~ ( x ) P ( y ∣ x ) = P ~ ( x , y ) \widetilde{P}(x)P(y|x)=\widetilde{P}(x, y) P (x)P(yx)=P (x,y)

这样, P ( y ∣ x ) P(y|x) P(yx) 就可以被定义出来。当然,实际上式并不成立。

我们可以给出很多的特征函数 f i ( x , y ) , i = 1 , 2 , . . . , n f_i(x, y), i=1, 2, ..., n fi(x,y),i=1,2,...,n,它们构成的约束条件为
E P ~ ( f i ) = E P ( f i ) , i = 1 , 2 , . . . , n E_{\widetilde{P}}(f_i)=E_{P}(f_i), i=1, 2, ..., n EP (fi)=EP(fi),i=1,2,...,n

要想利用最大熵求 P ( Y ∣ X ) P(Y|X) P(YX),我们需要给出条件熵,也就是
H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) H(P)=-\sum_{x, y}\widetilde{P}(x)P(y|x)logP(y|x) H(P)=x,yP (x)P(yx)logP(yx)

下面,我们将给出最大熵问题。
max ⁡ H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) s . t . E P ~ ( f i ) = E P ( f i ) , i = 1 , 2 , . . . , n ∑ y P ( y ∣ x ) = 1 \begin{array}{lll} &\max& H(P)=-\sum_{x,y}\widetilde{P}(x)P(y|x)logP(y|x)\\ &s.t.& E_{\widetilde{P}}(f_i)=E_{P}(f_i), i=1, 2, ..., n\\ && \sum_{y}P(y|x)=1 \end{array} maxs.t.H(P)=x,yP (x)P(yx)logP(yx)EP (fi)=EP(fi),i=1,2,...,nyP(yx)=1

通过拉格朗日方法,我们可以将有约束的原始问题转为为无约束的对偶问题。根据库恩塔克定理,只要 H ( P ) H(P) H(P) 是凹函数,原始问题与对偶问题等价。而要判断 H ( P ) H(P) H(P) 是凹函数,我们需要判断 H ( P ) H(P) H(P) 的Hessian矩阵是否为负定的。

我们假设 X X X 的取值为 { x 1 , x 2 , . . . , x N } \{x_1, x_2, ..., x_N\} {x1,x2,...,xN} Y Y Y 的取值为 { y 1 , y 2 , . . . , y M } \{y_1, y_2, ..., y_M\} {y1,y2,...,yM}。进一步,我们记 P ( Y = y j ∣ X = x i ) = p j i P(Y=y_j|X=x_i)=p_{ji} P(Y=yjX=xi)=pji。因此, H ( P ) H(P) H(P) 作为 ( p 11 , p 21 , . . . , p M − 1 , 1 , p 12 , p 22 , . . . , p M − 1 , 2 , . . . , p 1 N , p 2 N , . . . , p M − 1 , N ) (p_{11}, p_{21}, ..., p_{M-1,1}, p_{12}, p_{22}, ..., p_{M-1,2}, ..., p_{1N}, p_{2N}, ..., p_{M-1,N}) (p11,p21,...,pM1,1,p12,p22,...,pM1,2,...,p1N,p2N,...,pM1,N) 的函数,可以重写为
H ( P ) = − ∑ i = 1 N ∑ j = 1 M P ~ ( x i ) p j i l o g ( p j i ) = − ∑ i = 1 N P ~ ( x i ) ∑ j = 1 M p j i l o g ( p j i ) = − ∑ i = 1 N P ~ ( x i ) ( ∑ j M − 1 p j i l o g ( p j i ) + ( 1 − ∑ j M − 1 p j i ) l o g ( 1 − ∑ j M − 1 p j i ) ) \begin{array}{lll} H(P)&=&-\sum_{i=1}^N\sum_{j=1}^M\widetilde{P}(x_i)p_{ji}log(p_{ji})\\ &=&-\sum_{i=1}^N\widetilde{P}(x_i)\sum_{j=1}^Mp_{ji}log(p_{ji})\\ &=&-\sum_{i=1}^N\widetilde{P}(x_i)\left(\sum_j^{M-1}p_{ji}log(p_{ji})+(1-\sum_j^{M-1}p_{ji})log(1-\sum_j^{M-1}p_{ji})\right) \end{array} H(P)===i=1Nj=1MP (xi)pjilog(pji)i=1NP (xi)j=1Mpjilog(pji)i=1NP (xi)(jM1pjilog(pji)+(1jM1pji)log(1jM1pji))

第三个等式成立是因为 ∑ j = 1 M p j i = 1 \sum_{j=1}^Mp_{ji}=1 j=1Mpji=1

可以直接求导,得到
∂ 2 H ( P ) ∂ p j i ∂ p l k = { − 1 p j i − 1 p M i i f ( i , j ) = ( k , l ) − 1 p M i i f ( i , j ) ≠ ( k , l ) \frac{\partial^2H(P)}{\partial p_{ji}\partial p_{lk}}=\left\{ \begin{array}{lll} -\frac{1}{p_{ji}}-\frac{1}{p_{Mi}} &if & (i, j) =(k,l)\\ -\frac{1}{p_{Mi}} &if& (i, j) \not=(k,l) \end{array}\right. pjiplk2H(P)={pji1pMi1pMi1ifif(i,j)=(k,l)(i,j)=(k,l)

可以证明 H ( P ) H(P) H(P)的Hessian矩阵是负定的,从而也就说明了原始问题与对偶问题的等价性。

为了写着方便,我们将原始问题重新写成

min ⁡ − H ( P ) = ∑ i = 1 N ∑ j = 1 M P ~ ( x i ) p j i l o g ( p j i ) s . t . E P ~ ( f i ) = E P ( f i ) , i = 1 , 2 , . . . , n ∑ j = 1 M p j i = 1 \begin{array}{lll} &\min& -H(P)=\sum_{i=1}^{N}\sum_{j=1}^M\widetilde{P}(x_i)p_{ji}log(p_{ji})\\ &s.t.& E_{\widetilde{P}}(f_i)=E_{P}(f_i), i=1, 2, ..., n\\ && \sum_{j=1}^Mp_{ji}=1 \end{array} mins.t.H(P)=i=1Nj=1MP (xi)pjilog(pji)EP (fi)=EP(fi),i=1,2,...,nj=1Mpji=1

根据拉格朗日方法,我们写出拉格朗日函数
L ( p j i , w ) = − H ( P ) + w 0 ( 1 − ∑ j = 1 M p j i ) + ∑ k = 1 n w k ( E P ~ ( f k ) − E P ( f k ) ) = ∑ i = 1 N ∑ j = 1 M P ~ ( x i ) p j i l o g ( p j i ) + w 0 ( 1 − ∑ j = 1 M p j i ) + ∑ k = 1 n w k ( ∑ i , j f k ( x i , y j ) ( P ~ ( x i , y j ) − P ~ ( x i ) p j i ) ) \begin{array}{lll} L(p_{ji}, w)&=&-H(P)+w_0(1-\sum_{j=1}^Mp_{ji})+\sum_{k=1}^nw_k\left(E_{\widetilde{P}}(f_k)-E_{P}(f_k)\right)\\ &=&\sum_{i=1}^{N}\sum_{j=1}^M\widetilde{P}(x_i)p_{ji}log(p_{ji})+w_0(1-\sum_{j=1}^Mp_{ji})+\sum_{k=1}^nw_k\left(\sum_{i,j}f_k(x_i, y_j)(\widetilde{P}(x_i, y_j)-\widetilde{P}(x_i)p_{ji})\right) \end{array} L(pji,w)==H(P)+w0(1j=1Mpji)+k=1nwk(EP (fk)EP(fk))i=1Nj=1MP (xi)pjilog(pji)+w0(1j=1Mpji)+k=1nwk(i,jfk(xi,yj)(P (xi,yj)P (xi)pji))

则原问题为 min ⁡ P ∈ P max ⁡ w L ( p j i , w ) \min_{P\in\mathcal{P}}\max_{w}L(p_{ji}, w) PPminwmaxL(pji,w)
而对偶问题为 max ⁡ w min ⁡ P ∈ P L ( p j i , w ) \max_{w}\min_{P\in\mathcal{P}}L(p_{ji}, w) wmaxPPminL(pji,w)

我们可以先对对偶问题进行求解。给定 w w w,计算 min ⁡ P ∈ P L ( p j i , w ) \min_{P\in\mathcal{P}}L(p_{ji}, w) minPPL(pji,w)。我们对 L ( p j i , w ) L(p_{ji}, w) L(pji,w) 关于 p j i p_{ji} pji 求导,有
∂ L ( p j i , w ) ∂ p j i = P ~ ( x i ) ( 1 + l o g ( p j i ) ) − w 0 − P ~ ( x i ) ∑ k = 1 n w k f k ( x i , y j ) \begin{array}{lll} \frac{\partial L(p_{ji}, w)}{\partial p_{ji}}&=&\widetilde{P}(x_i)(1+log(p_{ji}))-w_0-\widetilde{P}(x_i)\sum_{k=1}^nw_kf_k(x_i, y_j) \end{array} pjiL(pji,w)=P (xi)(1+log(pji))w0P (xi)k=1nwkfk(xi,yj)

∂ L ( p j i , w ) ∂ p j i = 0 \frac{\partial L(p_{ji}, w)}{\partial p_{ji}}=0 pjiL(pji,w)=0,有
p j i = e ∑ k = 1 n w k f k ( x i , y j ) e 1 − w 0 P ~ ( x i ) p_{ji}=\frac{e^{\sum_{k=1}^nw_kf_k(x_i, y_j)}}{e^{1-\frac{w_0}{\widetilde{P}(x_i)}}} pji=e1P (xi)w0ek=1nwkfk(xi,yj)

由于 ∑ j = 1 M p j i = 1 \sum_{j=1}^Mp_{ji}=1 j=1Mpji=1,所以 e 1 − w 0 P ~ ( x i ) = ∑ j = 1 M e ∑ k = 1 n w k f k ( x i , y j ) e^{1-\frac{w_0}{\widetilde{P}(x_i)}}=\sum_{j=1}^Me^{\sum_{k=1}^nw_kf_k(x_i, y_j)} e1P (xi)w0=j=1Mek=1nwkfk(xi,yj)

因此,我们有
p j i ( w ) = e ∑ k = 1 n w k f k ( x i , y j ) ∑ j = 1 M e ∑ k = 1 n w k f k ( x i , y j ) p_{ji}(w)=\frac{e^{\sum_{k=1}^nw_kf_k(x_i, y_j)}}{\sum_{j=1}^Me^{\sum_{k=1}^nw_kf_k(x_i, y_j)}} pji(w)=j=1Mek=1nwkfk(xi,yj)ek=1nwkfk(xi,yj)

之后,我们将 p j i ( w ) p_{ji}(w) pji(w) 代入对偶问题,继续关于 w w w 做优化,即,
max ⁡ w L ( p j i ( w ) , w ) \max_{w}L(p_{ji}(w), w) wmaxL(pji(w),w)

只要将 w w w 求出来,对偶问题便得到解决,等价于原始问题解决,也就意味着最大熵模型已经学习完毕。

2.4 对偶函数的极大化与最大熵模型的似然估计

我们将 p j i p_{ji} pji 重写为 p j i ( w ) = e ∑ k = 1 n w k f k ( x i , y j ) Z w ( x i ) p_{ji}(w)=\frac{e^{\sum_{k=1}^nw_kf_k(x_i, y_j)}}{Z_w(x_i)} pji(w)=Zw(xi)ek=1nwkfk(xi,yj)

其中, Z w ( x i ) = ∑ j = 1 M e ∑ k = 1 n w k f k ( x i , y j ) Z_w(x_i)=\sum_{j=1}^Me^{\sum_{k=1}^nw_kf_k(x_i, y_j)} Zw(xi)=j=1Mek=1nwkfk(xi,yj)

这样,对偶函数为
L ( p j i ( w ) , w ) = ∑ i , j P ~ ( x i ) p j i ( w ) l o g ( p j i ( w ) ) + ∑ k = 1 n w k ∑ i , j ( f k ( x i , y j ) ( P ~ ( x i , y j ) − P ~ ( x i ) p j i ( w ) ) ) = ∑ i , j P ~ ( x i , y j ) ∑ k = 1 n w k f k ( x i , y j ) + ∑ i , j P ~ ( x i ) p j i ( w ) ( l o g ( p j i ( w ) ) − ∑ k = 1 n w k f k ( x i , y j ) ) = ∑ i , j P ~ ( x i , y j ) ∑ k = 1 n w k f k ( x i , y j ) − ∑ i , j P ~ ( x i ) p j i ( w ) l o g Z w ( x i ) = ∑ i , j P ~ ( x i , y j ) ∑ k = 1 n w k f k ( x i , y j ) − ∑ i P ~ ( x i ) l o g Z w ( x i ) \begin{array}{lll} L(p_{ji}(w), w)&=&\sum_{i,j}\widetilde{P}(x_i)p_{ji}(w)log(p_{ji}(w))+\sum_{k=1}^nw_k\sum_{i,j}\left(f_k(x_i, y_j)(\widetilde{P}(x_i, y_j)-\widetilde{P}(x_i)p_{ji}(w))\right)\\ &=&\sum_{i, j}\widetilde{P}(x_i, y_j)\sum_{k=1}^nw_kf_k(x_i, y_j)+\sum_{i, j}\widetilde{P}(x_i)p_{ji}(w)\left(log(p_{ji}(w))-\sum_{k=1}^nw_kf_k(x_i, y_j)\right)\\ &=&\sum_{i, j}\widetilde{P}(x_i, y_j)\sum_{k=1}^nw_kf_k(x_i, y_j)-\sum_{i, j}\widetilde{P}(x_i)p_{ji}(w)logZ_w(x_i)\\ &=&\sum_{i, j}\widetilde{P}(x_i, y_j)\sum_{k=1}^nw_kf_k(x_i, y_j)-\sum_{i}\widetilde{P}(x_i)logZ_w(x_i) \end{array} L(pji(w),w)====i,jP (xi)pji(w)log(pji(w))+k=1nwki,j(fk(xi,yj)(P (xi,yj)P (xi)pji(w)))i,jP (xi,yj)k=1nwkfk(xi,yj)+i,jP (xi)pji(w)(log(pji(w))k=1nwkfk(xi,yj))i,jP (xi,yj)k=1nwkfk(xi,yj)i,jP (xi)pji(w)logZw(xi)i,jP (xi,yj)k=1nwkfk(xi,yj)iP (xi)logZw(xi)

与此同时,对于最大熵模型 P ( Y = y j ∣ X = x i ) = p j i P(Y=y_j|X=x_i)=p_{ji} P(Y=yjX=xi)=pji,我们可以写出似然函数
L ( p j i ) = l o g Π i , j p j i ∣ T ∣ ⋅ P ~ ( X = x i , Y = y i ) = ∣ T ∣ ⋅ ∑ i , j P ~ ( x i , y j ) l o g ( p j i ( w ) ) = ∣ T ∣ ⋅ ( ∑ i , j P ~ ( x i , y j ) ∑ k = 1 n w k f k ( x i , y j ) − ∑ i P ~ ( x i ) l o g Z w ( x i ) ) \begin{array}{lll} L(p_{ji})&=&log\Pi_{i, j}p_{ji}^{|T|\cdot\widetilde{P}(X=x_i, Y=y_i)}\\ &=&|T|\cdot\sum_{i, j}\widetilde{P}(x_i, y_j)log(p_{ji}(w))\\ &=&|T|\cdot\left(\sum_{i, j}\widetilde{P}(x_i, y_j)\sum_{k=1}^nw_kf_k(x_i, y_j)-\sum_{i}\widetilde{P}(x_i)logZ_w(x_i)\right) \end{array} L(pji)===logΠi,jpjiTP (X=xi,Y=yi)Ti,jP (xi,yj)log(pji(w))T(i,jP (xi,yj)k=1nwkfk(xi,yj)iP (xi)logZw(xi))

观察 L ( p j i ) L(p_{ji}) L(pji) L ( p j i ( w ) , w ) L(p_{ji}(w), w) L(pji(w),w),发现它们只有常数因子不同,因此,对于它们的优化而言是等价的。因此,最大熵模型的极大似然估计与对偶问题的最优化是等价的。

实际上,观察 L ( p j i ) L(p_{ji}) L(pji) 的形式,与逻辑斯谛回归的似然函数是非常类似的。对于这种类似的目标函数,作者提出可以用 迭代尺度法、梯度下降法和牛顿法或者拟牛顿法予以解决。

后面如果允许,将依次介绍这三种方法,以及他们在这两个模型上应用。

你可能感兴趣的:(机器学习)