机器学习原理及公式推导(六)逻辑斯谛回归与最大熵模型

       逻辑斯谛回归(logistic regression)与最大熵模型(maximum entropy model)都属于对数线性模型。

1、逻辑斯谛回归模型

       首先介绍逻辑斯谛分布(logistic distribution),设 X X 是连续随机变量, X X 服从逻辑斯谛分布是指 X X 具有下列分布函数和密度函数
F ( x ) = P ( X x ) = 1 1 + e ( x μ ) / γ F(x)=P(X\le x)=\frac{1}{1+e^{-(x-\mu)/\gamma}} f ( x ) = F ( x ) = e ( x μ ) / γ γ ( 1 + e ( x μ ) / γ ) f(x)=F'(x)=\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})}        接着是二项逻辑斯谛回归模型(binomial logistic regression model),二项逻辑斯谛回归模型是如下条件概率分布
P ( Y = 1 x ) = e w x + b 1 + e w x + b P(Y=1|x)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}} P ( Y = 0 x ) = 1 1 + e w x + b P(Y=0|x)=\frac{1}{1+e^{w\cdot x+b}}        逻辑斯谛回归比较两个条件概率值得大小,将 x x 分配到概率值较大的一类。
       已知一个事件的几率(odds)指该事件发生的概率与不发生的概率的比值,设事件发生的概率是 p p ,则该事件的对数几率(log odds)或logit函数是
l o g i t ( p ) = l o g p 1 p logit(p)=log\frac{p}{1-p}        对逻辑斯谛回归而言,有
l o g P ( Y = 1 x ) 1 P ( Y = 1 x ) = l o g e w x + b = w x + b log\frac{P(Y=1|x)}{1-P(Y=1|x)}=loge^{w\cdot x+b}=w\cdot x+b        因此,逻辑斯谛回归输出 Y = 1 Y=1 的对数几率是输入 x x 的线性函数。即 Y = 1 Y=1 的概率越接近1,对数几率越接近 + +\infty Y = 1 Y=1 的概率越接近0,对数几率越接近 -\infty
       从另一个角度来看,由于
P ( Y = 1 x ) = e w x + b 1 + e w x + b P(Y=1|x)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}}        线性函数的值越接近 + +\infty ,概率值就越接近1;线性函数的值越接近 -\infty ,概率值就越接近0。
       对于逻辑斯谛回归的参数 w w b b ,可以用极大似然估计法计算。设 P ( Y = 1 x ) = π ( x ) P(Y=1|x)=\pi(x) ,则似然函数为
i = 1 N [ π ( x i ) ] y i [ 1 π ( x i ) ] 1 y i \prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}        对数似然函数为
L ( w , b ) = i = 1 N [ y i l o g π ( x i ) + ( 1 y i ) l o g ( 1 π ( x i ) ) ] L(w,b)=\sum_{i=1}^N[y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i))]        提取 y i y_i ,得
L ( w , b ) = i = 1 N [ y i l o g π ( x i ) 1 π ( x i ) + l o g ( 1 π ( x i ) ) ] L(w,b)=\sum_{i=1}^N[y_ilog\frac{\pi(x_i)}{1-\pi(x_i)}+log(1-\pi(x_i))]        可以发现 l o g π ( x i ) 1 π ( x i ) log\frac{\pi(x_i)}{1-\pi(x_i)} 正是对数几率,同时代入 π ( x i ) = e w x i + b 1 + e w x i + b \pi(x_i)=\frac{e^{w\cdot x_i+b}}{1+e^{w\cdot x_i+b}} ,可得
L ( w , b ) = i = 1 N [ y i ( w x i + b ) l o g ( 1 + e w x i + b ) ] L(w,b)=\sum_{i=1}^N[y_i(w\cdot x_i+b)-log(1+e^{w\cdot x_i+b})]        只通过上式极大化,可以求解得到参数的极大似然估计值 w ^ \hat w b ^ \hat b ,最终学到的逻辑斯谛回归模型为
P ( Y = 1 x ) = e w ^ x + b ^ 1 + e w ^ x + b ^ P(Y=1|x)=\frac{e^{\hat w\cdot x+\hat b}}{1+e^{\hat w\cdot x+\hat b}} P ( Y = 0 x ) = 1 1 + e w ^ x + b ^ P(Y=0|x)=\frac{1}{1+e^{\hat w\cdot x+\hat b}}        接着将二项逻辑斯谛回归推广至多项逻辑斯谛回归模型(multi-nominal logistic regression model),假设离散随机变量 Y Y 的取值集合是 { 1 , 2 ,   , K } \{1,2,\cdots, K\} ,那么多项逻辑斯谛回归模型是
P ( Y = k x ) = e w k x + b k 1 + k = 1 K 1 e w k x + b k ,   k = 1 , 2 ,   , K 1 P(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-1 P ( Y = 0 x ) = 1 1 + k = 1 K 1 e w k x + b k P(Y=0|x)=\frac{1}{1+\sum_{k=1}^{K-1}e^{w_k\cdot x+b_k}}

2、最大熵模型

       最大熵模型(maximum entropy model)由最大熵原理推导实现,最大熵原理认为,熵最大的模型是最好的模型。直观地,最大熵原理认为要选择的概率模型首先必须满足已有的约束条件,在没有更多信息的情况下,那些不确定的部分都是等可能的。
       假设分类模型是一个条件概率分布 P ( Y X ) P(Y|X) ,给定一个训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ,   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}        可以确定联合分布 P ( X , Y ) P(X,Y) 和边缘分布 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 ) = v ( X = x ) N \tilde P(X=x)=\frac{v(X=x)}{N}        式中 v ( ) v(\cdot) 表示样本中 \cdot 出现的频数, N N 为样本数。
       用特征函数(feature function) f ( x , y ) f(x,y) 描述输入 x x 与输出 y y 之间的某一事实,其定义为
f ( x , y ) = { 1 , x y 0 , f(x,y)=\left\{\begin{array}{rcl}1,&x与y满足某一事实\\0,&否则\end{array}\right.        特征函数 f ( x , y ) f(x,y) 关于经验分布 P ~ ( X , Y ) \tilde P(X,Y) 的期望值用 E P ~ ( f ) E_{\tilde P}(f) 表示
E P ~ ( f ) = x , y P ~ ( x , y ) f ( x , y ) E_{\tilde P}(f)=\sum_{x,y}\tilde P(x,y)f(x,y)        特征函数 f ( x , y ) f(x,y) 关于模型 P ( Y X ) P(Y|X) 与经验分布 P ~ ( X ) \tilde P(X) 的期望值用 E P ( f ) E_P(f) 表示
E P ( f ) = x , y P ~ ( x ) P ( y x ) f ( x , y ) E_P(f)=\sum_{x,y}\tilde P(x)P(y|x)f(x,y)        假设这两个期望值相等,即
E P ~ ( f ) = E P ( f ) E_{\tilde P}(f)=E_P(f)        将其作为最大熵模型的约束条件,假如有 n n 个特征函数 f i ( x , y ) , i = 1 , 2 ,   , n f_i(x,y),i=1,2,\cdots,n ,那么就有 n n 个约束条件。
       接着定义在条件概率分布 P ( Y X ) P(Y|X) 上的条件熵为
H ( P ) = x , y P ~ ( x ) P ( y x ) l o g P ( y x ) H(P)=-\sum_{x,y}\tilde P(x)P(y|x)logP(y|x)        这便是最大熵模型的目标函数,式中的对数为自然对数。
       接下来考虑最大熵模型的学习。最大熵模型的学习等价于下面的约束最优化问题
min P     H ( P ) = x , y P ~ ( x ) P ( y x ) l o g P ( y x ) \min_{P}  -H(P)=\sum_{x,y}\tilde P(x)P(y|x)logP(y|x) s . t .     E P ~ ( f i ) = E P ( f i ) ,   i = 1 , 2 ,   , n s.t.  E_{\tilde P}(f_i)=E_P(f_i), i=1,2,\cdots,n y P ( y x ) = 1 \sum_yP(y|x)=1        首先针对 n + 1 n+1 个约束条件,引入拉格朗日乘子 w 0 , w 1 , w 2 ,   , w n w_0,w_1,w_2,\cdots,w_n ,定义拉格朗日函数 L ( P , w ) L(P,w)
L ( P , w ) = H ( P ) + w 0 [ 1 y P ( y x ) ] + i = 1 n w i [ E P ~ ( f i ) E P ( f i ) ] 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)]        最优化的原始问题是
min P max w L ( P , w ) \min_P\max_wL(P,w)        由于拉格朗日函数 L ( P , w ) L(P,w) P P 的凸函数,原始问题的解与对偶问题的解等价,因此转而求解对偶问题
max w min P L ( P , w ) \max_w\min_PL(P,w)        第一步是求解对偶问题的内部极小化问题,首先求 L ( P , w ) L(P,w) P ( y x ) P(y|x) 的偏导数
L ( P , w ) P ( y x ) = x , y P ~ ( x ) [ l o g P ( y x ) + 1 ] y w 0 x , y [ P ~ ( x ) i = 1 n w i f i ( 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)]        由于 x P ~ ( x ) = 1 \sum_x\tilde P(x)=1 ,因此式中 y w 0 = x , y P ~ ( x ) w 0 \sum_yw_0=\sum_{x,y}\tilde P(x)w_0 ,代入上式后提取公因式可得
L ( P , w ) P ( y x ) = x , y P ~ ( x ) [ l o g P ( y x ) + 1 w 0 i = 1 n w i f i ( 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)]        令 L ( P , w ) P ( y x ) = 0 \frac{\partial L(P,w)}{\partial P(y|x)}=0 ,可解得
P ( y x ) = e i = 1 n w i f i ( x , y ) e 1 w 0 P(y|x)=\frac{e^{\sum_{i=1}^nw_if_i(x,y)}}{e^{1-w_0}}        由于 y P ( y x ) = 1 \sum_yP(y|x)=1 ,且上式分母对每一个 y y 均相同,因此可得
P w ( y x ) = e i = 1 n w i f i ( x , y ) Z w ( x ) P_w(y|x)=\frac{e^{\sum_{i=1}^nw_if_i(x,y)}}{Z_w(x)}        式中 Z w ( x ) Z_w(x) 是规范化因子,即
Z w ( x ) = y e i = 1 n w i f i ( x , y ) Z_w(x)=\sum_ye^{^{\sum_{i=1}^nw_if_i(x,y)}}        之后便可进入第二步,继续求解对偶问题的外部极大化问题
max w L ( P w , w ) \max_wL(P_w,w)        从以上最大熵模型学习的第一步可以看出,最大熵模型是由 P w ( y x ) P_w(y|x) 表示的条件概率分布,可以证明第二步对偶函数的极大化等价于第一步所得到的最大熵模型的极大似然估计。
       已知训练数据的经验概率分布 P ~ ( X , Y ) \tilde P(X,Y) ,条件概率分布 P ( Y X ) P(Y|X) 的对数似然函数表示为
L P ~ ( P w ) = l o g x , y P ( y x ) P ~ ( x , y ) = x , y P ~ ( x , y ) l o g P ( 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)        代入学习的第一步所求得的 P ( y x ) P(y|x) 表达式,可得
L P ~ ( P w ) = x , y P ~ ( x , y ) l o g e i = 1 n w i f i ( x , y ) Z w ( 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)}        将上式展开,由于 Z w ( x ) Z_w(x) y y 无关,可得
L P ~ ( P w ) = x , y P ~ ( x , y ) i = 1 n w i f i ( x , y ) x P ~ ( x ) Z w ( 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)        再来看对偶函数
ψ ( w ) = x , y P ~ ( x ) P w ( y x ) l o g P w ( y x ) + i = 1 n w i [ x , y P ~ ( x , y ) f i ( x , y ) x , y P ~ ( x ) P w ( y x ) f i ( 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 ) \psi(w) L P ~ ( P w ) L_{\tilde P}(P_w) 中关于 P ~ ( x , y ) \tilde P(x,y) 的一项已经是一样的了,接着提取 ψ ( w ) \psi(w) 中的公因式 x , y P ~ ( x ) \sum_{x,y}\tilde P(x) ,即
ψ ( w ) = x , y P ~ ( x , y ) i = 1 n w i f i ( x , y ) + x , y P ~ ( x ) P w ( y x ) [ l o g P w ( y x ) i = 1 n w i f i ( 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)]        上式中括号里的部分可以继续写为
l o g P w ( y x ) i = 1 n w i f i ( x , y ) = l o g P w ( y x ) e i = 1 n w i f i ( x , y ) = 1 Z w ( 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)}        因此
ψ ( w ) = x , y P ~ ( x , y ) i = 1 n w i f i ( x , y ) x , y P ~ ( x ) P w ( y x ) l o g Z w ( 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)        由于上式第二项的 P ~ ( x ) \tilde P(x) l o g Z w ( x ) logZ_w(x) 无关,而 y P w ( y x ) = 1 \sum_yP_w(y|x)=1 ,因此
ψ ( w ) = x , y P ~ ( x , y ) i = 1 n w i f i ( x , y ) x P ~ ( x ) l o g Z w ( 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)        比较 L P ~ ( P w ) L_{\tilde P}(P_w) ψ ( w ) \psi(w) 的表达式,可得
L P ~ ( P w ) = ψ ( w ) L_{\tilde P}(P_w)=\psi(w)        即对数似然函数等价于对偶函数,因此最大熵模型中的对偶函数极大化等价于极大似然估计。
       最大熵模型与逻辑斯谛回归模型有类似的形式,它们又称为对数线性模型(log linear model)。

3、模型学习的最优化算法

       逻辑斯谛回归模型、最大熵模型最后均归结为以似然函数为目标函数的最优化问题,这时的目标函数是光滑的凸函数,因此多种优化方法都适用,保证能找到全局最优解。常用的方法有改进的迭代尺度法、梯度下降法、牛顿法或拟牛顿法。

猜你喜欢

转载自blog.csdn.net/u013899126/article/details/89535722