《统计学习方法》—— 逻辑斯谛回归 与 最大熵模型 的介绍以及详细推导
前言
在《统计学习方法》第二版的第6章,作者将逻辑斯谛回归与最大熵这两个模型放在一起讲,初看令人困惑。但是看到后面才明白,这是作者为了介绍以似然函数为目标函数的最优化问题的解法。
当一个最优化问题以似然函数作为其目标函数的时候,作者提到三种常用的优化方法,改进的迭代尺度法、梯度下降法以及牛顿法或者拟牛顿法。
作为例子,作者演示了如何将 逻辑斯谛回归问题和最大熵模型 转化为以似然函数为目标函数的最优化问题,并利用上面提到的三种优化方法进行求解。
本文将主要聚焦于 逻辑斯谛回归与最大熵模型 转化为 以似然函数为目标函数的最优化问题的推导过程。
1. 逻辑斯谛回归
1.1 逻辑斯谛分布
假设随机变量 XXX 满足
(1) 分布函数为 P(X≤x)=11+e−x−μλP(X\le x)=\frac{1}{1+e^{-\frac{x-\mu}{\lambda}}}P(X≤x)=1+e−λx−μ1
(2) 密度函数为 f(x)=e−x−μλλ(1+e−x−μλ)2f(x)=\frac{e^{-\frac{x-\mu}{\lambda}}}{\lambda\left(1+e^{-\frac{x-\mu}{\lambda}}\right)^2}f(x)=λ(1+e−λx−μ)2e−λx−μ
则称随机变量 XXX 服从一个参数为 (μ,λ)(\mu, \lambda)(μ,λ) 的逻辑斯谛分布。
1.2 逻辑斯谛回归模型
设 x∈Rnx\in \mathbb{R}^nx∈Rn 为输入,y∈{0,1}y\in\{0, 1\}y∈{0,1} 为输出,现在若分类模型 P(Y∣X)P(Y|X)P(Y∣X) 具有如下形式:
P(Y=1∣X=x)=ew⋅x+b1+ew⋅x+bP(Y=1|X=x)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}}P(Y=1∣X=x)=1+ew⋅x+bew⋅x+b
P(Y=0∣X=x)=11+ew⋅x+bP(Y=0|X=x)=\frac{1}{1+e^{w\cdot x+b}}P(Y=0∣X=x)=1+ew⋅x+b1
则称 P(Y∣X)P(Y|X)P(Y∣X) 为逻辑斯谛回归模型。这里,www 为权值,bbb 为偏置。
从形式上可以看出,当令μ=0,λ=1\mu=0, \lambda=1μ=0,λ=1时,逻辑斯谛分布就是逻辑斯谛回归模型。
我们当一件事情的发生概率为 ppp,则这件事的几率定义为 p1−p\frac{p}{1-p}1−pp。可以看到,Y=1Y=1Y=1 的对数几率为
logP(Y=1∣X=x)1−P(Y=1∣X=x)=w⋅x+blog\frac{P(Y=1|X=x)}{1-P(Y=1|X=x)}=w\cdot x+blog1−P(Y=1∣X=x)P(Y=1∣X=x)=w⋅x+b
也就是说,输出 Y=1Y=1Y=1 的对数几率为输入 xxx 的线性函数。
1.3 逻辑斯谛回归的似然函数
已知数据 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)},其中,yi∈{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=1∣X=x)=p(x),则 P(Y=0∣X=x)=1−p(x)P(Y=0|X=x)=1-p(x)P(Y=0∣X=x)=1−p(x)。因此,似然函数可以写为
L(w,b)=log(Πi=1Np(xi)yi(1−p(xi))1−yi)=∑i=1N(yilogp(xi)+(1−yi)log(1−p(xi)))=∑i=1N(yi(w⋅xi+b)−log(1+ew⋅xi+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(1−p(xi))1−yi)∑i=1N(yilogp(xi)+(1−yi)log(1−p(xi)))∑i=1N(yi(w⋅xi+b)−log(1+ew⋅xi+b))
这里,最优的 (w∗,b∗)(w^*, b^*)(w∗,b∗) 满足
(w∗,b∗)=arg maxw,bL(w,b)(w^*, b^*)=\argmax_{w, b}L(w, b)(w∗,b∗)=w,bargmaxL(w,b)
2. 最大熵模型
2.1 熵、条件熵
熵是用来衡量随机变量不确定性程度的量。
熵的定义。设随机变量 XXX 满足 P(X=xi)=piP(X=x_i)=p_iP(X=xi)=pi,则随机变量 XXX 的熵 H(X)H(X)H(X) 为
H(X)=−∑i=1Npi⋅log(pi)H(X)=-\sum_{i=1}^Np_i\cdot log(p_i)H(X)=−i=1∑Npi⋅log(pi)
其中,NNN 为随机变量所有可能取值的个数。
条件熵的定义。设P(X,Y)P(X, Y)P(X,Y) 为随机变量 XXX 和 YYY 的联合概率,P(Y∣X)P(Y|X)P(Y∣X) 为条件概率,则条件概率 P(Y∣X)P(Y|X)P(Y∣X) 的熵 H(Y∣X)H(Y|X)H(Y∣X) 为
H(Y∣X)=∑i=1NP(X=xi)H(Y∣X=xi)=∑i=1NP(X=xi)∑j=1MP(Y=yj∣X=xi)logP(Y=yj∣X=xi)=∑i=1N∑j=1MP(X=xi)P(Y=yi∣X=xi)logP(Y=yj∣X=xi)=∑x,yP(X=x)P(Y=y∣X=x)logP(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(Y∣X)====∑i=1NP(X=xi)H(Y∣X=xi)∑i=1NP(X=xi)∑j=1MP(Y=yj∣X=xi)logP(Y=yj∣X=xi)∑i=1N∑j=1MP(X=xi)P(Y=yi∣X=xi)logP(Y=yj∣X=xi)∑x,yP(X=x)P(Y=y∣X=x)logP(Y=y∣X=x)
其中,NNN 和 MMM 分别为 XXX 和 YYY 所有可能取值的个数。
2.2 最大熵原理及一个例子
对于一个随机变量 XXX,它的取值为 {x1,x2,...,xN}\{x_1, x_2, ..., x_N\}{x1,x2,...,xN},如果不知道其他信息,则我们通过最大熵原理来估计 P(X=xi)=piP(X=x_i)=p_iP(X=xi)=pi 的值,是指
(p1,p2,...,pN)=arg maxH(X)(p_1, p_2, ..., p_N)=\argmax H(X)(p1,p2,...,pN)=argmaxH(X)
我们选择使得熵最大的数值作为我们估计的概率。
这样,我们有优化问题
maxH(X)=−∑i=1Npilog(pi)s.t.∑i=1Npi=1pi≥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=1pi≥0,i=1,2,...,N
由 ∑i=1Npi=1\sum_{i=1}^Np_i=1∑i=1Npi=1 可知,pN=1−∑i=1N−1pip_N=1-\sum_{i=1}^{N-1}p_ipN=1−∑i=1N−1pi,将 pNp_NpN 代入 H(X)H(X)H(X),我们有
H(X)=−∑i=1N−1pilog(pi)−(1−∑i=1N−1pi)log(1−∑i=1N−1pi)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=1∑N−1pilog(pi)−(1−i=1∑N−1pi)log(1−i=1∑N−1pi)
为了求最大值,我们对 pi,i=1,2,...,N−1p_i, i=1, 2, ..., N-1pi,i=1,2,...,N−1 分别求导,有
∂H(X)∂pi=log(1−∑i=1N−1pi)−log(pi)\frac{\partial H(X)}{\partial p_i}=log(1-\sum_{i=1}^{N-1}p_i)-log(p_i) ∂pi∂H(X)=log(1−i=1∑N−1pi)−log(pi)
令 ∂H(X)∂pi=0\frac{\partial H(X)}{\partial p_i}=0∂pi∂H(X)=0,得 pi=1−∑i=1N−1pip_i=1-\sum_{i=1}^{N-1}p_ipi=1−∑i=1N−1pi,考虑到 1−∑i=1N−1pi=pN1-\sum_{i=1}^{N-1}p_i=p_N1−∑i=1N−1pi=pN,因此,对于任意的 i=1,2,...,N−1i=1, 2, ..., N-1i=1,2,...,N−1,我们恒有
pi=pNp_i=p_Npi=pN
由于 ∑i=1Npi=1\sum_{i=1}^{N}p_i=1∑i=1Npi=1, 因此,对于任何 i=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N,我们有 pi=1Np_i=\frac{1}{N}pi=N1
2.3 最大熵问题
现在,我们有随机变量 XXX 和 YYY,以及由它们生成的数据 T={(x1,y1),(x2,y2),...,(xN,yN)}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(Y∣X)?
- 经验分布:根据数据集 TTT,我们可以获得 联合分布 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) 在数据集 TTT 中的个数,当 (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):这里可以理解为关于随机变量 XXX 和 YYY 的约束条件,形式化为一个二值函数,具体为
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,x与y满足某一约束x与y不满足该约束
这样约束可以为 (x,y)∈T(x, y)\in T(x,y)∈T,或者 (x,y)=(xi,yi)(x, y)=(x_i, y_i)(x,y)=(xi,yi)等等。
- 特征函数 f(x,y)f(x, y)f(x,y) 关于分布的两个经验期望值:
EP~(f)=∑x,yP~(x,y)f(x,y)E_{\widetilde{P}}(f)=\sum_{x, y}\widetilde{P}(x, y)f(x, y)EP(f)=x,y∑P(x,y)f(x,y)
EP(f)=∑x,yP~(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,y∑P(x)P(y∣x)f(x,y)
我们期望这两个经验期望值相等,在某种意义上,这意味着 P~(x)P(y∣x)=P~(x,y)\widetilde{P}(x)P(y|x)=\widetilde{P}(x, y)P(x)P(y∣x)=P(x,y)
这样,P(y∣x)P(y|x)P(y∣x) 就可以被定义出来。当然,实际上式并不成立。
我们可以给出很多的特征函数 fi(x,y),i=1,2,...,nf_i(x, y), i=1, 2, ..., nfi(x,y),i=1,2,...,n,它们构成的约束条件为
EP~(fi)=EP(fi),i=1,2,...,nE_{\widetilde{P}}(f_i)=E_{P}(f_i), i=1, 2, ..., nEP(fi)=EP(fi),i=1,2,...,n
要想利用最大熵求 P(Y∣X)P(Y|X)P(Y∣X),我们需要给出条件熵,也就是
H(P)=−∑x,yP~(x)P(y∣x)logP(y∣x)H(P)=-\sum_{x, y}\widetilde{P}(x)P(y|x)logP(y|x)H(P)=−x,y∑P(x)P(y∣x)logP(y∣x)
下面,我们将给出最大熵问题。
maxH(P)=−∑x,yP~(x)P(y∣x)logP(y∣x)s.t.EP~(fi)=EP(fi),i=1,2,...,n∑yP(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(y∣x)logP(y∣x)EP(fi)=EP(fi),i=1,2,...,n∑yP(y∣x)=1
通过拉格朗日方法,我们可以将有约束的原始问题转为为无约束的对偶问题。根据库恩塔克定理,只要 H(P)H(P)H(P) 是凹函数,原始问题与对偶问题等价。而要判断 H(P)H(P)H(P) 是凹函数,我们需要判断 H(P)H(P)H(P) 的Hessian矩阵是否为负定的。
我们假设 XXX 的取值为{x1,x2,...,xN}\{x_1, x_2, ..., x_N\}{x1,x2,...,xN},YYY 的取值为 {y1,y2,...,yM}\{y_1, y_2, ..., y_M\}{y1,y2,...,yM}。进一步,我们记 P(Y=yj∣X=xi)=pjiP(Y=y_j|X=x_i)=p_{ji}P(Y=yj∣X=xi)=pji。因此,H(P)H(P)H(P) 作为 (p11,p21,...,pM−1,1,p12,p22,...,pM−1,2,...,p1N,p2N,...,pM−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,...,pM−1,1,p12,p22,...,pM−1,2,...,p1N,p2N,...,pM−1,N) 的函数,可以重写为
H(P)=−∑i=1N∑j=1MP~(xi)pjilog(pji)=−∑i=1NP~(xi)∑j=1Mpjilog(pji)=−∑i=1NP~(xi)(∑jM−1pjilog(pji)+(1−∑jM−1pji)log(1−∑jM−1pji))\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=1N∑j=1MP(xi)pjilog(pji)−∑i=1NP(xi)∑j=1Mpjilog(pji)−∑i=1NP(xi)(∑jM−1pjilog(pji)+(1−∑jM−1pji)log(1−∑jM−1pji))
第三个等式成立是因为 ∑j=1Mpji=1\sum_{j=1}^Mp_{ji}=1∑j=1Mpji=1。
可以直接求导,得到
∂2H(P)∂pji∂plk={−1pji−1pMiif(i,j)=(k,l)−1pMiif(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. ∂pji∂plk∂2H(P)={−pji1−pMi1−pMi1ifif(i,j)=(k,l)(i,j)=(k,l)
可以证明H(P)H(P)H(P)的Hessian矩阵是负定的,从而也就说明了原始问题与对偶问题的等价性。
为了写着方便,我们将原始问题重新写成
min−H(P)=∑i=1N∑j=1MP~(xi)pjilog(pji)s.t.EP~(fi)=EP(fi),i=1,2,...,n∑j=1Mpji=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=1N∑j=1MP(xi)pjilog(pji)EP(fi)=EP(fi),i=1,2,...,n∑j=1Mpji=1
根据拉格朗日方法,我们写出拉格朗日函数
L(pji,w)=−H(P)+w0(1−∑j=1Mpji)+∑k=1nwk(EP~(fk)−EP(fk))=∑i=1N∑j=1MP~(xi)pjilog(pji)+w0(1−∑j=1Mpji)+∑k=1nwk(∑i,jfk(xi,yj)(P~(xi,yj)−P~(xi)pji))\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(1−∑j=1Mpji)+∑k=1nwk(EP(fk)−EP(fk))∑i=1N∑j=1MP(xi)pjilog(pji)+w0(1−∑j=1Mpji)+∑k=1nwk(∑i,jfk(xi,yj)(P(xi,yj)−P(xi)pji))
则原问题为 minP∈PmaxwL(pji,w)\min_{P\in\mathcal{P}}\max_{w}L(p_{ji}, w)P∈PminwmaxL(pji,w)
而对偶问题为 maxwminP∈PL(pji,w)\max_{w}\min_{P\in\mathcal{P}}L(p_{ji}, w)wmaxP∈PminL(pji,w)
我们可以先对对偶问题进行求解。给定 www,计算 minP∈PL(pji,w)\min_{P\in\mathcal{P}}L(p_{ji}, w)minP∈PL(pji,w)。我们对 L(pji,w)L(p_{ji}, w)L(pji,w) 关于 pjip_{ji}pji 求导,有
∂L(pji,w)∂pji=P~(xi)(1+log(pji))−w0−P~(xi)∑k=1nwkfk(xi,yj)\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} ∂pji∂L(pji,w)=P(xi)(1+log(pji))−w0−P(xi)∑k=1nwkfk(xi,yj)
令 ∂L(pji,w)∂pji=0\frac{\partial L(p_{ji}, w)}{\partial p_{ji}}=0∂pji∂L(pji,w)=0,有
pji=e∑k=1nwkfk(xi,yj)e1−w0P~(xi)p_{ji}=\frac{e^{\sum_{k=1}^nw_kf_k(x_i, y_j)}}{e^{1-\frac{w_0}{\widetilde{P}(x_i)}}}pji=e1−P(xi)w0e∑k=1nwkfk(xi,yj)
由于 ∑j=1Mpji=1\sum_{j=1}^Mp_{ji}=1∑j=1Mpji=1,所以 e1−w0P~(xi)=∑j=1Me∑k=1nwkfk(xi,yj)e^{1-\frac{w_0}{\widetilde{P}(x_i)}}=\sum_{j=1}^Me^{\sum_{k=1}^nw_kf_k(x_i, y_j)}e1−P(xi)w0=j=1∑Me∑k=1nwkfk(xi,yj)
因此,我们有
pji(w)=e∑k=1nwkfk(xi,yj)∑j=1Me∑k=1nwkfk(xi,yj)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=1Me∑k=1nwkfk(xi,yj)e∑k=1nwkfk(xi,yj)
之后,我们将 pji(w)p_{ji}(w)pji(w) 代入对偶问题,继续关于 www 做优化,即,
maxwL(pji(w),w)\max_{w}L(p_{ji}(w), w)wmaxL(pji(w),w)
只要将 www 求出来,对偶问题便得到解决,等价于原始问题解决,也就意味着最大熵模型已经学习完毕。
2.4 对偶函数的极大化与最大熵模型的似然估计
我们将 pjip_{ji}pji 重写为 pji(w)=e∑k=1nwkfk(xi,yj)Zw(xi)p_{ji}(w)=\frac{e^{\sum_{k=1}^nw_kf_k(x_i, y_j)}}{Z_w(x_i)}pji(w)=Zw(xi)e∑k=1nwkfk(xi,yj)
其中,Zw(xi)=∑j=1Me∑k=1nwkfk(xi,yj)Z_w(x_i)=\sum_{j=1}^Me^{\sum_{k=1}^nw_kf_k(x_i, y_j)}Zw(xi)=∑j=1Me∑k=1nwkfk(xi,yj)。
这样,对偶函数为
L(pji(w),w)=∑i,jP~(xi)pji(w)log(pji(w))+∑k=1nwk∑i,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)\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=1nwk∑i,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=yj∣X=xi)=pjiP(Y=y_j|X=x_i)=p_{ji}P(Y=yj∣X=xi)=pji,我们可以写出似然函数
L(pji)=logΠi,jpji∣T∣⋅P~(X=xi,Y=yi)=∣T∣⋅∑i,jP~(xi,yj)log(pji(w))=∣T∣⋅(∑i,jP~(xi,yj)∑k=1nwkfk(xi,yj)−∑iP~(xi)logZw(xi))\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,jpji∣T∣⋅P(X=xi,Y=yi)∣T∣⋅∑i,jP(xi,yj)log(pji(w))∣T∣⋅(∑i,jP(xi,yj)∑k=1nwkfk(xi,yj)−∑iP(xi)logZw(xi))
观察 L(pji)L(p_{ji})L(pji) 和 L(pji(w),w)L(p_{ji}(w), w)L(pji(w),w),发现它们只有常数因子不同,因此,对于它们的优化而言是等价的。因此,最大熵模型的极大似然估计与对偶问题的最优化是等价的。
实际上,观察 L(pji)L(p_{ji})L(pji) 的形式,与逻辑斯谛回归的似然函数是非常类似的。对于这种类似的目标函数,作者提出可以用 迭代尺度法、梯度下降法和牛顿法或者拟牛顿法予以解决。
后面如果允许,将依次介绍这三种方法,以及他们在这两个模型上应用。
《统计学习方法》—— 逻辑斯谛回归 与 最大熵模型 的介绍以及详细推导相关推荐
- 复习06统计学习方法(Logistic回归与最大熵模型)---图片版
- 机器学习理论《统计学习方法》学习笔记:第六章 逻辑斯谛回归与最大熵模型
机器学习理论<统计学习方法>学习笔记:第六章 逻辑斯谛回归与最大熵模型 6 逻辑斯谛回归与最大熵模型 6.1 逻辑斯谛回归模型 6.1.1 逻辑斯谛分布 6.1.2 二项逻辑斯蒂回归模型 ...
- 最大熵阈值python_李航统计学习方法(六)----逻辑斯谛回归与最大熵模型
本文希望通过<统计学习方法>第六章的学习,由表及里地系统学习最大熵模型.文中使用Python实现了逻辑斯谛回归模型的3种梯度下降最优化算法,并制作了可视化动画.针对最大熵,提供一份简明的G ...
- logit模型应用实例_第六章 逻辑斯谛回归与最大熵模型(第1节 逻辑斯谛回归模型)...
逻辑斯谛回归(logistic regression)是经典的分类方法. 最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(maximum entropy model). 逻辑斯谛回归 ...
- python 高斯烟羽模型_GPR(高斯过程回归)详细推导
GPR(高斯过程回归)详细推导 一.综述 GPR来源于线性模型,有两种方式可以推导出GPR,一种是weight space view,另外一种是function space view.两者考察方式假设 ...
- 李航-统计学习方法-笔记-1:概论
写在前面 本系列笔记主要记录<统计学习方法>中7种常用的机器学习分类算法,包括感知机,KNN,朴素贝叶斯,决策树,逻辑斯谛回归与最大熵模型,SVM,boosting. 课本还涉及到3种算法 ...
- 机器学习初学者手抄本:数学基础、机器学习经典算法、统计学习方法等
机器学习怎么学?当然是系统地学习了.没有时间这么办呢?利用碎片时间学习!很多人一天要花 2 个小时通勤,通勤路上有很多时间看手机.于是我把一些机器学习的基础知识做成了在线的机器学习手册,只需打开微信收 ...
- 复现经典:《统计学习方法》第12章 监督学习方法总结
第 12 章 监督学习方法总结 本文是李航老师的<统计学习方法>一书的代码复现.作者:黄海广 备注:代码都可以在github中下载.我将陆续将代码发布在公众号"机器学习初学者&q ...
- 数学基础、机器学习经典算法、统计学习方法,这份机器学习在线手册来帮你...
机器学习怎么学?当然是系统地学习了.没有时间这么办呢?利用碎片时间学习!很多人一天要花 2 个小时通勤,通勤路上有很多时间看手机.于是我把一些机器学习的基础知识做成了在线的机器学习手册,只需打开微信收 ...
最新文章
- Keepalived中Master和Backup角色选举策略
- ubuntu mysql 驱动_怎么在Ubuntu下为MySQL添加ODBC驱动?
- poj2826 An Easy Problem?!(计算几何)
- c语言重新进入for循环,大佬们帮帮忙 帮我改改 怎样能在输入Y后 再次进行for循环...
- AngularJS(1)——入门学习
- 【转】Windows版本,OS内核版本,Windows SDK之间的关系
- ubuntu搭建nodejs生产环境——快速部署手册
- [6] ADB 文件管理
- 深度学习三十年创新路
- 华为网络技术大赛笔记——数据库基础原理
- vs2005 无法启动调试 绑定句柄无效的解决
- cad2012打开后闪退_【电脑安装好cad一打开闪退】cad安装完打开闪退_cad2012打开闪退...
- 2021 年 VS Code 主题推荐
- linux打开db文件,我如何打开. db 文件?
- Linux systemd启动流程
- 云班课python答案_云班课 答案 脚本
- 嵌入式未来趋势是什么?
- GDAL C++ API 学习之路 (1)Driver篇 代码示例 翻译 自学
- 【嵌入式】网络编程_pthread_fork
- Windows下VMware准备IOS开发环境
热门文章
- javascript 保存原函数_前端工程师必须掌握的几个JavaScript设计模式及场景应用
- python argparse 简明教程
- Java使用代理服务器
- Uncaught Error: Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)
- 敏捷开发团队管理系列之五:大型研发团队的切分(刚参加3.17 MDP团队管理场次的读者请看)...
- (IStool)判断系统位数并打包不同的文件
- duliu——思维+线段树
- React子组件怎么改变父组件的state
- 【学习随笔】iquery初涉
- 观察者(Observer)模式