逻辑斯谛回归(logistic regression)与最大熵模型(maximum entropy model)都属于对数线性模型。
1、逻辑斯谛回归模型
首先介绍逻辑斯谛分布(logistic distribution),设XXX是连续随机变量,XXX服从逻辑斯谛分布是指XXX具有下列分布函数和密度函数
F(x)=P(X≤x)=11+e−(x−μ)/γF(x)=P(X\le x)=\frac{1}{1+e^{-(x-\mu)/\gamma}}F(x)=P(X≤x)=1+e−(x−μ)/γ1f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)f(x)=F'(x)=\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})}f(x)=F′(x)=γ(1+e−(x−μ)/γ)e−(x−μ)/γ 接着是二项逻辑斯谛回归模型(binomial logistic regression model),二项逻辑斯谛回归模型是如下条件概率分布
P(Y=1∣x)=ew⋅x+b1+ew⋅x+bP(Y=1|x)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}}P(Y=1∣x)=1+ew⋅x+bew⋅x+bP(Y=0∣x)=11+ew⋅x+bP(Y=0|x)=\frac{1}{1+e^{w\cdot x+b}}P(Y=0∣x)=1+ew⋅x+b1 逻辑斯谛回归比较两个条件概率值得大小,将xxx分配到概率值较大的一类。
已知一个事件的几率(odds)指该事件发生的概率与不发生的概率的比值,设事件发生的概率是ppp,则该事件的对数几率(log odds)或logit函数是
logit(p)=logp1−plogit(p)=log\frac{p}{1-p}logit(p)=log1−pp 对逻辑斯谛回归而言,有
logP(Y=1∣x)1−P(Y=1∣x)=logew⋅x+b=w⋅x+blog\frac{P(Y=1|x)}{1-P(Y=1|x)}=loge^{w\cdot x+b}=w\cdot x+blog1−P(Y=1∣x)P(Y=1∣x)=logew⋅x+b=w⋅x+b 因此,逻辑斯谛回归输出Y=1Y=1Y=1的对数几率是输入xxx的线性函数。即Y=1Y=1Y=1的概率越接近1,对数几率越接近+∞+\infty+∞;Y=1Y=1Y=1的概率越接近0,对数几率越接近−∞-\infty−∞。
从另一个角度来看,由于
P(Y=1∣x)=ew⋅x+b1+ew⋅x+bP(Y=1|x)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}}P(Y=1∣x)=1+ew⋅x+bew⋅x+b 线性函数的值越接近+∞+\infty+∞,概率值就越接近1;线性函数的值越接近−∞-\infty−∞,概率值就越接近0。
对于逻辑斯谛回归的参数www与bbb,可以用极大似然估计法计算。设P(Y=1∣x)=π(x)P(Y=1|x)=\pi(x)P(Y=1∣x)=π(x),则似然函数为
∏i=1N[π(xi)]yi[1−π(xi)]1−yi\prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}i=1∏N[π(xi)]yi[1−π(xi)]1−yi 对数似然函数为
L(w,b)=∑i=1N[yilogπ(xi)+(1−yi)log(1−π(xi))]L(w,b)=\sum_{i=1}^N[y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i))]L(w,b)=i=1∑N[yilogπ(xi)+(1−yi)log(1−π(xi))] 提取yiy_iyi,得
L(w,b)=∑i=1N[yilogπ(xi)1−π(xi)+log(1−π(xi))]L(w,b)=\sum_{i=1}^N[y_ilog\frac{\pi(x_i)}{1-\pi(x_i)}+log(1-\pi(x_i))]L(w,b)=i=1∑N[yilog1−π(xi)π(xi)+log(1−π(xi))] 可以发现logπ(xi)1−π(xi)log\frac{\pi(x_i)}{1-\pi(x_i)}log1−π(xi)π(xi)正是对数几率,同时代入π(xi)=ew⋅xi+b1+ew⋅xi+b\pi(x_i)=\frac{e^{w\cdot x_i+b}}{1+e^{w\cdot x_i+b}}π(xi)=1+ew⋅xi+bew⋅xi+b,可得
L(w,b)=∑i=1N[yi(w⋅xi+b)−log(1+ew⋅xi+b)]L(w,b)=\sum_{i=1}^N[y_i(w\cdot x_i+b)-log(1+e^{w\cdot x_i+b})]L(w,b)=i=1∑N[yi(w⋅xi+b)−log(1+ew⋅xi+b)] 只通过上式极大化,可以求解得到参数的极大似然估计值w^\hat ww^与b^\hat bb^,最终学到的逻辑斯谛回归模型为
P(Y=1∣x)=ew^⋅x+b^1+ew^⋅x+b^P(Y=1|x)=\frac{e^{\hat w\cdot x+\hat b}}{1+e^{\hat w\cdot x+\hat b}}P(Y=1∣x)=1+ew^⋅x+b^ew^⋅x+b^P(Y=0∣x)=11+ew^⋅x+b^P(Y=0|x)=\frac{1}{1+e^{\hat w\cdot x+\hat b}}P(Y=0∣x)=1+ew^⋅x+b^1 接着将二项逻辑斯谛回归推广至多项逻辑斯谛回归模型(multi-nominal logistic regression model),假设离散随机变量YYY的取值集合是{1,2,⋯ ,K}\{1,2,\cdots, K\}{1,2,⋯,K},那么多项逻辑斯谛回归模型是
P(Y=k∣x)=ewk⋅x+bk1+∑k=1K−1ewk⋅x+bk, k=1,2,⋯ ,K−1P(Y=k|x)=\frac{e^{w_k\cdot x+b_k}}{1+\sum_{k=1}^{K-1}e^{w_k\cdot x+b_k}}, k=1,2,\cdots,K-1P(Y=k∣x)=1+∑k=1K−1ewk⋅x+bkewk⋅x+bk, k=1,2,⋯,K−1P(Y=0∣x)=11+∑k=1K−1ewk⋅x+bkP(Y=0|x)=\frac{1}{1+\sum_{k=1}^{K-1}e^{w_k\cdot x+b_k}}P(Y=0∣x)=1+∑k=1K−1ewk⋅x+bk1
2、最大熵模型
最大熵模型(maximum entropy model)由最大熵原理推导实现,最大熵原理认为,熵最大的模型是最好的模型。直观地,最大熵原理认为要选择的概率模型首先必须满足已有的约束条件,在没有更多信息的情况下,那些不确定的部分都是等可能的。
假设分类模型是一个条件概率分布P(Y∣X)P(Y|X)P(Y∣X),给定一个训练数据集
T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1,y1),(x2,y2),⋯,(xN,yN)} 可以确定联合分布P(X,Y)P(X,Y)P(X,Y)和边缘分布P(X)P(X)P(X)的经验分布,即
P~(X=x,Y=y)=v(X=x,Y=y)N\tilde P(X=x,Y=y)=\frac{v(X=x,Y=y)}{N}P~(X=x,Y=y)=Nv(X=x,Y=y)P~(X=x)=v(X=x)N\tilde P(X=x)=\frac{v(X=x)}{N}P~(X=x)=Nv(X=x) 式中v(⋅)v(\cdot)v(⋅)表示样本中⋅\cdot⋅出现的频数,NNN为样本数。
用特征函数(feature function)f(x,y)f(x,y)f(x,y)描述输入xxx与输出yyy之间的某一事实,其定义为
f(x,y)={1,x与y满足某一事实0,否则f(x,y)=\left\{\begin{array}{rcl}1,&x与y满足某一事实\\0,&否则\end{array}\right.f(x,y)={1,0,x与y满足某一事实否则 特征函数f(x,y)f(x,y)f(x,y)关于经验分布P~(X,Y)\tilde P(X,Y)P~(X,Y)的期望值用EP~(f)E_{\tilde P}(f)EP~(f)表示
EP~(f)=∑x,yP~(x,y)f(x,y)E_{\tilde P}(f)=\sum_{x,y}\tilde P(x,y)f(x,y)EP~(f)=x,y∑P~(x,y)f(x,y) 特征函数f(x,y)f(x,y)f(x,y)关于模型P(Y∣X)P(Y|X)P(Y∣X)与经验分布P~(X)\tilde P(X)P~(X)的期望值用EP(f)E_P(f)EP(f)表示
EP(f)=∑x,yP~(x)P(y∣x)f(x,y)E_P(f)=\sum_{x,y}\tilde P(x)P(y|x)f(x,y)EP(f)=x,y∑P~(x)P(y∣x)f(x,y) 假设这两个期望值相等,即
EP~(f)=EP(f)E_{\tilde P}(f)=E_P(f)EP~(f)=EP(f) 将其作为最大熵模型的约束条件,假如有nnn个特征函数fi(x,y),i=1,2,⋯ ,nf_i(x,y),i=1,2,\cdots,nfi(x,y),i=1,2,⋯,n,那么就有nnn个约束条件。
接着定义在条件概率分布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}\tilde P(x)P(y|x)logP(y|x)H(P)=−x,y∑P~(x)P(y∣x)logP(y∣x) 这便是最大熵模型的目标函数,式中的对数为自然对数。
接下来考虑最大熵模型的学习。最大熵模型的学习等价于下面的约束最优化问题
minP −H(P)=∑x,yP~(x)P(y∣x)logP(y∣x)\min_{P} -H(P)=\sum_{x,y}\tilde P(x)P(y|x)logP(y|x)Pmin −H(P)=x,y∑P~(x)P(y∣x)logP(y∣x)s.t. EP~(fi)=EP(fi), i=1,2,⋯ ,ns.t. E_{\tilde P}(f_i)=E_P(f_i), i=1,2,\cdots,ns.t. EP~(fi)=EP(fi), i=1,2,⋯,n∑yP(y∣x)=1\sum_yP(y|x)=1y∑P(y∣x)=1 首先针对n+1n+1n+1个约束条件,引入拉格朗日乘子w0,w1,w2,⋯ ,wnw_0,w_1,w_2,\cdots,w_nw0,w1,w2,⋯,wn,定义拉格朗日函数L(P,w)L(P,w)L(P,w)
L(P,w)=−H(P)+w0[1−∑yP(y∣x)]+∑i=1nwi[EP~(fi)−EP(fi)]L(P,w)=-H(P)+w_0[1-\sum_yP(y|x)]+\sum_{i=1}^nw_i[E_{\tilde P}(f_i)-E_P(f_i)]L(P,w)=−H(P)+w0[1−y∑P(y∣x)]+i=1∑nwi[EP~(fi)−EP(fi)] 最优化的原始问题是
minPmaxwL(P,w)\min_P\max_wL(P,w)PminwmaxL(P,w) 由于拉格朗日函数L(P,w)L(P,w)L(P,w)是PPP的凸函数,原始问题的解与对偶问题的解等价,因此转而求解对偶问题
maxwminPL(P,w)\max_w\min_PL(P,w)wmaxPminL(P,w) 第一步是求解对偶问题的内部极小化问题,首先求L(P,w)L(P,w)L(P,w)对P(y∣x)P(y|x)P(y∣x)的偏导数
∂L(P,w)∂P(y∣x)=∑x,yP~(x)[logP(y∣x)+1]−∑yw0−∑x,y[P~(x)∑i=1nwifi(x,y)]\frac{\partial L(P,w)}{\partial P(y|x)}=\sum_{x,y}\tilde P(x)[logP(y|x)+1]-\sum_yw_0-\sum_{x,y}[\tilde P(x)\sum_{i=1}^nw_if_i(x,y)]∂P(y∣x)∂L(P,w)=x,y∑P~(x)[logP(y∣x)+1]−y∑w0−x,y∑[P~(x)i=1∑nwifi(x,y)] 由于∑xP~(x)=1\sum_x\tilde P(x)=1∑xP~(x)=1,因此式中∑yw0=∑x,yP~(x)w0\sum_yw_0=\sum_{x,y}\tilde P(x)w_0∑yw0=∑x,yP~(x)w0,代入上式后提取公因式可得
∂L(P,w)∂P(y∣x)=∑x,yP~(x)[logP(y∣x)+1−w0−∑i=1nwifi(x,y)]\frac{\partial L(P,w)}{\partial P(y|x)}=\sum_{x,y}\tilde P(x)[logP(y|x)+1-w_0-\sum_{i=1}^nw_if_i(x,y)]∂P(y∣x)∂L(P,w)=x,y∑P~(x)[logP(y∣x)+1−w0−i=1∑nwifi(x,y)] 令∂L(P,w)∂P(y∣x)=0\frac{\partial L(P,w)}{\partial P(y|x)}=0∂P(y∣x)∂L(P,w)=0,可解得
P(y∣x)=e∑i=1nwifi(x,y)e1−w0P(y|x)=\frac{e^{\sum_{i=1}^nw_if_i(x,y)}}{e^{1-w_0}}P(y∣x)=e1−w0e∑i=1nwifi(x,y) 由于∑yP(y∣x)=1\sum_yP(y|x)=1∑yP(y∣x)=1,且上式分母对每一个yyy均相同,因此可得
Pw(y∣x)=e∑i=1nwifi(x,y)Zw(x)P_w(y|x)=\frac{e^{\sum_{i=1}^nw_if_i(x,y)}}{Z_w(x)}Pw(y∣x)=Zw(x)e∑i=1nwifi(x,y) 式中Zw(x)Z_w(x)Zw(x)是规范化因子,即
Zw(x)=∑ye∑i=1nwifi(x,y)Z_w(x)=\sum_ye^{^{\sum_{i=1}^nw_if_i(x,y)}}Zw(x)=y∑e∑i=1nwifi(x,y) 之后便可进入第二步,继续求解对偶问题的外部极大化问题
maxwL(Pw,w)\max_wL(P_w,w)wmaxL(Pw,w) 从以上最大熵模型学习的第一步可以看出,最大熵模型是由Pw(y∣x)P_w(y|x)Pw(y∣x)表示的条件概率分布,可以证明第二步对偶函数的极大化等价于第一步所得到的最大熵模型的极大似然估计。
已知训练数据的经验概率分布P~(X,Y)\tilde P(X,Y)P~(X,Y),条件概率分布P(Y∣X)P(Y|X)P(Y∣X)的对数似然函数表示为
LP~(Pw)=log∏x,yP(y∣x)P~(x,y)=∑x,yP~(x,y)logP(y∣x)L_{\tilde P}(P_w)=log\prod_{x,y}P(y|x)^{\tilde P(x,y)}=\sum_{x,y}\tilde P(x,y)logP(y|x)LP~(Pw)=logx,y∏P(y∣x)P~(x,y)=x,y∑P~(x,y)logP(y∣x) 代入学习的第一步所求得的P(y∣x)P(y|x)P(y∣x)表达式,可得
LP~(Pw)=∑x,yP~(x,y)loge∑i=1nwifi(x,y)Zw(x)L_{\tilde P}(P_w)=\sum_{x,y}\tilde P(x,y)log\frac{e^{\sum_{i=1}^nw_if_i(x,y)}}{Z_w(x)}LP~(Pw)=x,y∑P~(x,y)logZw(x)e∑i=1nwifi(x,y) 将上式展开,由于Zw(x)Z_w(x)Zw(x)与yyy无关,可得
LP~(Pw)=∑x,yP~(x,y)∑i=1nwifi(x,y)−∑xP~(x)Zw(x)L_{\tilde P}(P_w)=\sum_{x,y}\tilde P(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_x\tilde P(x)Z_w(x)LP~(Pw)=x,y∑P~(x,y)i=1∑nwifi(x,y)−x∑P~(x)Zw(x) 再来看对偶函数
ψ(w)=∑x,yP~(x)Pw(y∣x)logPw(y∣x)+∑i=1nwi[∑x,yP~(x,y)fi(x,y)−∑x,yP~(x)Pw(y∣x)fi(x,y)]\psi(w)=\sum_{x,y}\tilde P(x)P_w(y|x)logP_w(y|x)+\sum_{i=1}^nw_i[\sum_{x,y}\tilde P(x,y)f_i(x,y)-\sum_{x,y}\tilde P(x)P_w(y|x)f_i(x,y)]ψ(w)=x,y∑P~(x)Pw(y∣x)logPw(y∣x)+i=1∑nwi[x,y∑P~(x,y)fi(x,y)−x,y∑P~(x)Pw(y∣x)fi(x,y)] 可以看到ψ(w)\psi(w)ψ(w)与LP~(Pw)L_{\tilde P}(P_w)LP~(Pw)中关于P~(x,y)\tilde P(x,y)P~(x,y)的一项已经是一样的了,接着提取ψ(w)\psi(w)ψ(w)中的公因式∑x,yP~(x)\sum_{x,y}\tilde P(x)∑x,yP~(x),即
ψ(w)=∑x,yP~(x,y)∑i=1nwifi(x,y)+∑x,yP~(x)Pw(y∣x)[logPw(y∣x)−∑i=1nwifi(x,y)]\psi(w)=\sum_{x,y}\tilde P(x,y)\sum_{i=1}^nw_if_i(x,y)+\sum_{x,y}\tilde P(x)P_w(y|x)[logP_w(y|x)-\sum_{i=1}^nw_if_i(x,y)]ψ(w)=x,y∑P~(x,y)i=1∑nwifi(x,y)+x,y∑P~(x)Pw(y∣x)[logPw(y∣x)−i=1∑nwifi(x,y)] 上式中括号里的部分可以继续写为
logPw(y∣x)−∑i=1nwifi(x,y)=logPw(y∣x)e∑i=1nwifi(x,y)=1Zw(x)logP_w(y|x)-\sum_{i=1}^nw_if_i(x,y)=log\frac{P_w(y|x)}{e^{\sum_{i=1}^nw_if_i(x,y)}}=\frac{1}{Z_w(x)}logPw(y∣x)−i=1∑nwifi(x,y)=loge∑i=1nwifi(x,y)Pw(y∣x)=Zw(x)1 因此
ψ(w)=∑x,yP~(x,y)∑i=1nwifi(x,y)−∑x,yP~(x)Pw(y∣x)logZw(x)\psi(w)=\sum_{x,y}\tilde P(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_{x,y}\tilde P(x)P_w(y|x)logZ_w(x)ψ(w)=x,y∑P~(x,y)i=1∑nwifi(x,y)−x,y∑P~(x)Pw(y∣x)logZw(x) 由于上式第二项的P~(x)\tilde P(x)P~(x)与logZw(x)logZ_w(x)logZw(x)无关,而∑yPw(y∣x)=1\sum_yP_w(y|x)=1∑yPw(y∣x)=1,因此
ψ(w)=∑x,yP~(x,y)∑i=1nwifi(x,y)−∑xP~(x)logZw(x)\psi(w)=\sum_{x,y}\tilde P(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_x\tilde P(x)logZ_w(x)ψ(w)=x,y∑P~(x,y)i=1∑nwifi(x,y)−x∑P~(x)logZw(x) 比较LP~(Pw)L_{\tilde P}(P_w)LP~(Pw)与ψ(w)\psi(w)ψ(w)的表达式,可得
LP~(Pw)=ψ(w)L_{\tilde P}(P_w)=\psi(w)LP~(Pw)=ψ(w) 即对数似然函数等价于对偶函数,因此最大熵模型中的对偶函数极大化等价于极大似然估计。
最大熵模型与逻辑斯谛回归模型有类似的形式,它们又称为对数线性模型(log linear model)。
3、模型学习的最优化算法
逻辑斯谛回归模型、最大熵模型最后均归结为以似然函数为目标函数的最优化问题,这时的目标函数是光滑的凸函数,因此多种优化方法都适用,保证能找到全局最优解。常用的方法有改进的迭代尺度法、梯度下降法、牛顿法或拟牛顿法。