逻辑斯蒂回归和最大熵模型

1 逻辑回归模型

1.1 逻辑斯蒂分布

X X X是连续随机变量, X X X服从逻辑斯蒂分布是指 X X X具有下列分布函数和密度函数:
F ( x ) = P ( X ≤ x ) = 1 1 + e − x − μ γ f ( x ) = F ′ ( x ) = e − x − μ γ γ ( 1 + e − x − μ γ ) 2 F(x)=P(X\leq x)=\frac{1}{1+e^{-\frac{x-\mu}{\gamma}}} \\ f(x)=F^{'}(x)=\frac{e^{-\frac{x-\mu}{\gamma}}}{\gamma(1+e^{-\frac{x-\mu}{\gamma}})^2} F(x)=P(Xx)=1+eγxμ1f(x)=F(x)=γ(1+eγxμ)2eγxμ
其中, μ \mu μ为位置参数, γ > 0 \gamma \gt 0 γ>0为形状参数。
它们的函数图像分别为:
在这里插入图片描述
在这里插入图片描述

分布函数属于逻辑斯蒂函数,其图形是一条S形曲线(sigmoid)。曲线以点 ( μ , 1 2 ) (\mu,\frac{1}{2}) (μ,21)为中心对称,即:
F ( − x + μ ) − 1 2 = − F ( x − μ ) + 1 2 F(-x+\mu)-\frac{1}{2}=-F(x-\mu)+\frac{1}{2} F(x+μ)21=F(xμ)+21

1.2 二项逻辑蒂斯回归模型

它是一种分类模型,是由条件概率 P ( Y ∣ X ) P(Y|X) P(YX)表示的,表示为:
P ( Y = 1 ∣ x ) = e ω . x + b 1 + e ω . x + b P ( Y = 0 ∣ x ) = 1 1 + e ω . x + b P(Y=1|x)=\frac{e^{\omega .x + b}}{1+e^{\omega .x + b}} \\ P(Y=0|x)=\frac{1}{1+e^{\omega .x + b}} P(Y=1x)=1+eω.x+beω.x+bP(Y=0x)=1+eω.x+b1
其中, x ∈ R n x\in R^n xRn是输入, Y ∈ { 0 , 1 } Y\in \{0,1\} Y{0,1}是输出, ω ∈ R n \omega\in R^n ωRn b ∈ R b\in R bR是分别是权值向量和偏置。
对于给定输入实例 x x x,按照上式分别求得 P ( Y = 1 ∣ x ) P(Y=1|x) P(Y=1x) P ( Y = 0 ∣ x ) P(Y=0|x) P(Y=0x),逻辑蒂斯回归比较两个条件概率的大小,将实例x分到概率值较大的那一类。
若将 ω \omega ω记作 ω = ( ω 1 , ω 2 , . . . , ω n , b ) T \omega=(\omega_1,\omega_2,...,\omega_n,b)^T ω=(ω1,ω2,...,ωn,b)T,将 x x x记作 x = ( x 1 , x 2 , . . . , x n ) T x=(x_1,x_2,...,x_n)^T x=(x1,x2,...,xn)T,则模型可以表示为:
P ( Y = 1 ∣ x ) = e ω . x 1 + e ω . x P ( Y = 0 ∣ x ) = 1 1 + e ω . x P(Y=1|x)=\frac{e^{\omega .x}}{1+e^{\omega .x}} \\ P(Y=0|x)=\frac{1}{1+e^{\omega .x}} P(Y=1x)=1+eω.xeω.xP(Y=0x)=1+eω.x1

逻辑蒂斯回归模型的特点

一个事件的几率( p p p)是指该事件发生的概率与该事件不发生的概率( 1 − p 1-p 1p)的比值( p 1 − p \frac{p}{1-p} 1pp),该事件的对数几率为:
l o g i t ( p ) = l o g p 1 − p logit^{(p)}=log\frac{p}{1-p} logit(p)=log1pp
在逻辑斯蒂回归中, p = P ( Y = 1 ∣ x ) p=P(Y=1|x) p=P(Y=1x),那么有:
l o g P ( Y = 1 ∣ x ) 1 − P ( Y = 1 ∣ x ) = ω . x log\frac{P(Y=1|x)}{1-P(Y=1|x)}=\omega .x log1P(Y=1x)P(Y=1x)=ω.x
即在逻辑斯蒂回归模型中,输出 Y = 1 Y=1 Y=1的对数几率是输入 x x x的线性函数,或输出 Y = 1 Y=1 Y=1的对数几率是由输入 x x x的线性函数表示的模型,是为逻辑斯蒂回归模型。

模型学习

在进行模型学习时,对于给定的训练数据集 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)},其中 x i ∈ R n x_i\in R^n xiRn y i ∈ { 0 , 1 } y_i\in \{0,1\} yi{0,1},使用极大似然估计法估计模型参数,从而得到逻辑斯蒂回归模型。
设:
P ( Y = 1 ∣ x ) = π ( x ) P ( Y = 0 ∣ X ) = 1 − π ( x ) P(Y=1|x)=\pi(x) \\ P(Y=0|X)=1-\pi(x) P(Y=1x)=π(x)P(Y=0X)=1π(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} i=1N[π(xi)]yi[1π(xi)]1yi
对数似然函数为:
L ( ω ) = ∑ i = 1 N [ y i l o g π ( x i ) + ( 1 − y i ) l o g ( 1 − π ( x i ) ) ] = ∑ i = 1 N [ y i l o g π ( x i ) 1 − π ( x i ) + l o g ( 1 − π ( x i ) ) ] = ∑ i = 1 N [ y i ( ω . x i ) − l o g ( 1 + e ω . x i ) ] L(\omega)=\sum_{i=1}^{N}[y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i))] \\ =\sum_{i=1}^{N}[y_i log\frac{\pi(x_i)}{1-\pi(x_i)}+log(1-\pi(x_i))] \\ =\sum_{i=1}^{N}[y_i(\omega.x_i)-log(1+e^{\omega.x_i})] L(ω)=i=1N[yilogπ(xi)+(1yi)log(1π(xi))]=i=1N[yilog1π(xi)π(xi)+log(1π(xi))]=i=1N[yi(ω.xi)log(1+eω.xi)]
L ( ω ) L(\omega) L(ω)求极大值,即可得到 ω \omega ω的估计值。问题就转化为以对数似然函数为目标函数的最优化问题,逻辑斯蒂回归学习中通常采用的方法时梯度下降及牛顿法。

1.3 多项逻辑蒂斯回归模型

在多项式逻辑斯蒂回归模型中, Y Y Y的取值变了, Y Y Y的取值集合是 { 1 , 2 , . . . , K } \{1,2,...,K\} {1,2,...,K},多项式逻辑斯蒂回归模型是:
P ( Y = k ∣ x ) = e ω k . x 1 + ∑ k = 1 K − 1 e ω k . x P ( Y = K ∣ x ) = 1 1 + ∑ k = 1 K − 1 e ω k . x P(Y=k|x)=\frac{e^{\omega_k.x}}{1+\sum_{k=1}^{K-1}e^{\omega_k.x}} \\ P(Y=K|x)=\frac{1}{1+\sum_{k=1}^{K-1}e^{\omega_k.x}} P(Y=kx)=1+k=1K1eωk.xeωk.xP(Y=Kx)=1+k=1K1eωk.x1
将二项逻辑蒂斯回归的参数估计推广过来也可对其参数进行估计

2 最大熵模型

2.1 最大熵原理

最大熵原理是概率模型学习的一个准则,即学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合,所以最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型。
假设离散随机变量 X X X的概率分布是 P ( X ) P(X) P(X),则其熵是:
H ( P ) = − ∑ x P ( x ) l o g P ( x ) H(P)=-\sum_xP(x)logP(x) H(P)=xP(x)logP(x)
且其满足:
0 ≤ H ( P ) ≤ l o g ∣ X ∣ 0 \leq H(P) \leq log|X| 0H(P)logX
其中, ∣ X ∣ |X| X X X X的取值个数,当且仅当 X X X的分布是均匀分布时右边的等号成立,也就是说当 X X X服从均匀分布时的熵最大。
最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件。在没有更多信息的情况下,哪些不确定的部分都是“等可能的”。最大熵原理通过熵的最大化来表示等可能性。“等可能”不容易操作,而熵则是一个可以优化的指标。

2.2 模型解释

其实最大熵原理只是统计学习的一般原理,将其应用于分类,即得到最大熵模型。假设分类模型是一个条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) X X X Y Y Y分别表示输入和输出,这个模型表示的是对于给定的输入 X X X,以条件概率 P ( Y ∣ X ) P(Y|X) P(YX)输出 Y Y Y。给定一个训练集T,学习的目标就是用最大熵原理选择最好的分类模型。
对于给定的训练数据集,可以确定联合分布 P ( X , Y ) P(X,Y) P(X,Y)的经验分布和边缘分布 P ( X ) P(X) P(X)的经验分布,分布使用 P ~ ( X , Y ) \tilde{P}(X,Y) P~(X,Y) P ~ ( X ) \tilde{P}(X) P~(X)表示,这里:
P ~ ( X = x , Y = y ) = v ( X = x , Y = y ) N P ~ ( X = x ) = v ( X = x ) N \tilde{P}(X=x,Y=y)=\frac{v(X=x,Y=y)}{N} \\ \tilde{P}(X=x)=\frac{v(X=x)}{N} P~(X=x,Y=y)=Nv(X=x,Y=y)P~(X=x)=Nv(X=x)
其中 v ( X = x , Y = y ) v(X=x,Y=y) v(X=x,Y=y)表示训练数据集中样本 ( x , y ) (x,y) (x,y)出现的频数, v ( X = x ) v(X=x) v(X=x)表示训练数据集中输入 x x x出现的频数, N N N表示样本容量。
用特征函数 f ( x , y ) f(x,y) f(x,y)描述输入 x x x和输出 y y y之间的某一个事实:
f ( x ) = { 1 ,    x 与 y 满 足 某 一 事 实 0 ,    否 则 f(x) = \begin{cases} 1,\ \ x与y满足某一事实 \\ 0,\ \ 否则 \end{cases} f(x)={1,  xy0,  
可以求得特征函数关于经验分布 P ~ ( X = x , Y = y ) \tilde{P}(X=x,Y=y) P~(X=x,Y=y)的期望为:
E P ~ ( f ) = ∑ x , y P ~ ( X = x , Y = y ) f ( x , y ) E_{\tilde{P}}(f)=\sum_{x,y}\tilde{P}(X=x,Y=y)f(x,y) EP~(f)=x,yP~(X=x,Y=y)f(x,y)
特征函数关于模型 P ( Y ∣ X ) P(Y|X) P(YX)与经验分布 P ~ ( X ) \tilde{P}(X) P~(X)的期望为:
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) EP(f)=x,yP~(x)P(yx)f(x,y)
如果模型能够获取训练数据中的信息,那么就可以假设这两个期望相等,即:
E P ( f ) = E P ~ ( f ) E_P(f)=E_{\tilde{P}}(f) EP(f)=EP~(f)

∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) = ∑ x , y P ~ ( X = x , Y = y ) f ( x , y ) \sum_{x,y}\tilde{P}(x)P(y|x)f(x,y)=\sum_{x,y}\tilde{P}(X=x,Y=y)f(x,y) x,yP~(x)P(yx)f(x,y)=x,yP~(X=x,Y=y)f(x,y)
是为模型学习的约束条件,假如有 n n n个特征函数 f i ( x , y ) , i = 1 , 2 , . . . , n f_i(x,y),i=1,2,...,n fi(x,y),i=1,2,...,n,那么就有 n n n个约束条件。

最大熵模型

假设满足所有约束条件的模型集合为:
C = { P ∈ p ∣ E P ~ ( f i ) = E P ( f i ) ,    i = 1 , 2 , . . . , n } C=\{ P\in p|E_{\tilde{P}}(f_i)=E_P(f_i),\ \ i=1,2,...,n \} C={PpEP~(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 n P ( y ∣ x ) H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)lnP(y|x) H(P)=x,yP~(x)P(yx)lnP(yx)
则模型集合 C C C中条件熵 H ( P ) H(P) H(P)最大的模型被称为最大熵模型。

2.4 模型学习

最大熵模型的学习过程就是求解最大熵模型的过程,最大熵模型的学习可以形式化为约束最优化问题,利用拉格朗日乘子法求解。
最大熵模型的学习等价于约束最优化问题:
m a x P ∈ C   H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l n P ( y ∣ x )      s . t .    E P ~ ( f i ) = E P ( f i )      ∑ y P ( y ∣ x ) = 1 max_{P\in C}\ H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)lnP(y|x) \\ \ \ \ \ s.t.\ \ E_{\tilde{P}}(f_i)=E_P(f_i) \\ \ \ \ \ \sum_{y}P(y|x)=1 maxPC H(P)=x,yP~(x)P(yx)lnP(yx)    s.t.  EP~(fi)=EP(fi)    yP(yx)=1
变换一下:
m i n P ∈ C   − H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l n P ( y ∣ x )      s . t .    E P ~ ( f i ) = E P ( f i )      ∑ y P ( y ∣ x ) = 1 min_{P\in C}\ -H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)lnP(y|x) \\ \ \ \ \ s.t.\ \ E_{\tilde{P}}(f_i)=E_P(f_i) \\ \ \ \ \ \sum_{y}P(y|x)=1 minPC H(P)=x,yP~(x)P(yx)lnP(yx)    s.t.  EP~(fi)=EP(fi)    yP(yx)=1
还是像SVM一样,将约束最优化的原始问题转换为无约束优化的对偶问题,通过求解对偶问题求解原始问题。
首先引入拉格朗日乘子 ω 0 , ω 1 , ω 2 , . . . , ω n \omega_0,\omega_1,\omega_2,...,\omega_n ω0,ω1,ω2,...,ωn,定义拉格朗日函数:
L ( P , ω ) = − H ( P ) + ω 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n ω i ( E P ~ ( f i ) − E P ( f i ) ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) + ω 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n ω i ( ∑ x , y P ~ ( X = x , Y = y ) f ( x , y ) − ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) ) L(P,\omega)=-H(P)+\omega_0(1-\sum_{y}P(y|x))+\sum_{i=1}^{n}\omega_i(E_{\tilde{P}}(f_i)-E_P(f_i)) \\ =\sum_{x,y}\tilde{P}(x)P(y|x)+\omega_0(1-\sum_{y}P(y|x))+\sum_{i=1}^{n}\omega_i(\sum_{x,y}\tilde{P}(X=x,Y=y)f(x,y)-\sum_{x,y}\tilde{P}(x)P(y|x)f(x,y)) L(P,ω)=H(P)+ω0(1yP(yx))+i=1nωi(EP~(fi)EP(fi))=x,yP~(x)P(yx)+ω0(1yP(yx))+i=1nωi(x,yP~(X=x,Y=y)f(x,y)x,yP~(x)P(yx)f(x,y))
原始问题是:
m i n P ∈ C m a x ω L ( P , ω ) min_{P\in C}max_{\omega}L(P,\omega) minPCmaxωL(P,ω)
其对偶问题是:
m a x ω m i n P ∈ C L ( P , ω ) max_{\omega}min_{P\in C}L(P,\omega) maxωminPCL(P,ω)

首先求解内侧 m i n P ∈ C L ( P , ω ) min_{P\in C}L(P,\omega) minPCL(P,ω),将其记为:
Ψ ( ω ) = m i n P ∈ C L ( P , ω ) = L ( P o m e g a , ω ) \Psi(\omega)=min_{P\in C}L(P,\omega)=L(P_{omega},\omega) Ψ(ω)=minPCL(P,ω)=L(Pomega,ω)
其中 Ψ ( ω ) \Psi(\omega) Ψ(ω)被称为对偶函数,其解为:
P ω = a r g m i n P ∈ C L ( P , ω ) = P ω ( y ∣ x ) P_{\omega}=argmin_{P\in C}L(P,\omega)=P_{\omega}(y|x) Pω=argminPCL(P,ω)=Pω(yx)
L ( P , ω ) L(P,\omega) L(P,ω) P ( y ∣ x ) P(y|x) P(yx)求导:
∂ L ( P , ω ) ∂ P ( y ∣ x ) = ∑ x , y P ~ ( x ) ( l o g P ( y ∣ x ) + 1 ) − ∑ x , y ( P ~ ( x ) ∑ i = 1 n ω i f i ( x , y ) ) = ∑ x , y P ~ ( x ) { l o g P ( y ∣ x ) + 1 − ω 0 − ∑ i = 1 n ω i f i ( x , y ) } \frac{\partial L(P,\omega)}{\partial P(y|x)}=\sum_{x,y}\tilde{P}(x)(logP(y|x)+1)-\sum_{x,y}(\tilde{P}(x)\sum_{i=1}^{n}\omega_if_i(x,y)) \\ =\sum_{x,y}\tilde{P}(x)\{logP(y|x)+1-\omega_0-\sum_{i=1}^{n}\omega_if_i(x,y)\} P(yx)L(P,ω)=x,yP~(x)(logP(yx)+1)x,y(P~(x)i=1nωifi(x,y))=x,yP~(x){logP(yx)+1ω0i=1nωifi(x,y)}
令偏导数等于0,在 P ~ ( x ) > 0 \tilde{P}(x) \gt 0 P~(x)>0的情况下,得到:
P ( y ∣ x ) = e ∑ i = 1 n ω i f i ( x , y ) + ω 0 − 1 = e ∑ i = 1 n ω i f i ( x , y ) e 1 − ω 0 P(y|x)=e^{\sum_{i=1}^{n}\omega_i f_i(x,y)+\omega_0 - 1}=\frac{ e^{ \sum_{i=1}^{n}\omega_if_i(x,y)} }{ e^{1-\omega_0} } P(yx)=ei=1nωifi(x,y)+ω01=e1ω0ei=1nωifi(x,y)
又因为 ∑ y P ( y ∣ x ) = 1 \sum_yP(y|x)=1 yP(yx)=1,得到:
P ω ( y ∣ x ) = 1 Z ω ( x ) e ∑ i = 1 n ω i f i ( x , y ) P_{\omega}(y|x)=\frac{1}{Z_{\omega}(x)}e^{\sum_{i=1}^{n}\omega_if_i(x,y)} Pω(yx)=Zω(x)1ei=1nωifi(x,y)
其中:
Z ω ( x ) = ∑ y e ∑ i = 1 n ω i f i ( x , y ) Z_{\omega}(x)=\sum_ye^{\sum_{i=1}^{n}\omega_if_i(x,y)} Zω(x)=yei=1nωifi(x,y)
Z ω ( x ) Z_{\omega}(x) Zω(x)被称为规范银子, f i ( x , y ) f_i(x,y) fi(x,y)为特征函数,由 P ω ( y ∣ x ) P_{\omega}(y|x) Pω(yx) Z ω ( x ) Z_{\omega}(x) Zω(x)表示的模型 P ω = P ω ( y ∣ x ) P_{\omega}=P_{\omega}(y|x) Pω=Pω(yx)就是最大熵模型,此处 ω \omega ω是最大熵模型中的参数向量。
之后,再求解外侧的极大化问题:
ω ∗ = a r g   m a x ω Ψ ( ω ) \omega^{\ast}=arg\ max_{\omega}\Psi(\omega) ω=arg maxωΨ(ω)
这就是说,可以应用最优化算法求对偶函数 Ψ ( ω ) \Psi(\omega) Ψ(ω)的极大化,得到 ω ∗ \omega^{\ast} ω,用来表示 P ∗ ∈ C P^{\ast}\in C PC。这里 P ∗ = P ω ∗ = P ω ∗ ( y ∣ x ) P^{\ast}=P_{\omega_{\ast}}=P_{\omega_{\ast}}(y|x) P=Pω=Pω(yx)是学习到的最优模型(最大熵模型)。也就是说,最大熵模型的学习归结为对偶函数 Ψ ( ω ) \Psi(\omega) Ψ(ω)的极大化.

感谢阅读。

如果觉得文章对你有所帮助,欢迎打赏哦~
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yougwypf1991

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值