逻辑斯蒂回归模型

本文主要根据周志华的西瓜书以及李航的《统计学习方法》中提到的方法,结合自己的想法进行记录的文档,部分概念可能理解不够透彻表述会有问题。

对于观察到的样本集 { ( x i , y i ) } \{(x_i,y_i)\} {(xi,yi)}, i = 1 , . . . , N . x i ∈ R n , y i ∈ { 0 , 1 } i=1,...,N.x_i\in\R^n,y_i\in\{0,1\} i=1,...,N.xiRn,yi{0,1},设这组数据的分布情况是满足二项逻辑斯蒂分布的,然后对他进行参数估计。设

P ( Y = 1 ∣ x ) = e w x 1 + e w x = π ( x ) P(Y=1|x)=\frac{e^{wx}}{1+e^{wx}}=\pi(x) P(Y=1x)=1+ewxewx=π(x)
P ( Y = 0 ∣ x ) = 1 1 + e w x = 1 − π ( x ) P(Y=0|x)=\frac{1}{1+e^{wx}}=1-\pi(x) P(Y=0x)=1+ewx1=1π(x)
其中 w ∈ R n , w x w\in\R^n, wx wRn,wx是两个n维向量的内积
将两个表达式写成一个,则有
P ( Y = y i ∣ X = x i ) = π ( x i ) y i ( 1 − π ( x i ) ) 1 − y i P(Y=y_i|X=x_i)=\pi(x_i)^{y_i}(1-\pi(x_i))^{1-y_i} P(Y=yiX=xi)=π(xi)yi(1π(xi))1yi
Z Z Z表示,“样本集的N个事件同时发生”,则有
P ( Z ) = P ( ( Y = y 1 ∣ X = x 1 ) ∩ ( Y = y 2 ∣ X = x 2 ) ∩ . . . ∩ ( Y = y n ∣ X = x n ) ) P(Z)=P((Y=y_1|X=x_1)\cap(Y=y_2|X=x_2)\cap...\cap(Y=y_n|X=x_n)) P(Z)=P((Y=y1X=x1)(Y=y2X=x2)...(Y=ynX=xn)),而对于这些观察到的样本集的数据,通常都是假设其满足独立同分布的条件的,独立则有事件交的概率等于概率的乘积,同分布即都服从同一组参数下的二项逻辑斯蒂分布。从而有
P ( Z ) = P ( ( Y = y 1 ∣ X = x 1 ) ∩ ( Y = y 2 ∣ X = x 2 ) ∩ . . . ∩ ( Y = y n ∣ X = x n ) ) P(Z)=P((Y=y_1|X=x_1)\cap(Y=y_2|X=x_2)\cap...\cap(Y=y_n|X=x_n)) P(Z)=P((Y=y1X=x1)(Y=y2X=x2)...(Y=ynX=xn))
= P ( Y = y 1 ∣ X = x 1 ) ⋅ ⋅ ⋅ P ( Y = y n ∣ X = x n ) =P(Y=y_1|X=x_1)\cdot\cdot\cdot P(Y=y_n|X=x_n) =P(Y=y1X=x1)P(Y=ynX=xn)
而我们进行参数估计就是在这组已知的观察数据的基础上,找到让观察数据出现,即事件 Z Z Z出现概率最大的那组参数。比如有一组参数 w 1 w_1 w1,得到 Z Z Z发生的概率是 p 1 p_1 p1,参数 w 2 w_2 w2得到 Z Z Z发生的概率是 p 2 p_2 p2,如果 p 1 > p 2 p_1>p_2 p1>p2,那么显然,参数 w 1 w_1 w1更加适合这组数据,即在参数 w 1 w_1 w1下,事件 Z Z Z更有可能发生。概念的问题理清后剩下的问题就是函数最值的问题了。
arg max ⁡ w P ( Z ) : = ∏ i = 1 N P ( Y = y i ∣ X = x i ) \argmax\limits_{w}P(Z):=\prod\limits_{i=1}^{N}P(Y=y_i|X=x_i) wargmaxP(Z):=i=1NP(Y=yiX=xi)
= ∏ i = 1 N π ( x i ) y i ( 1 − π ( x i ) ) 1 − y i =\prod\limits_{i=1}^{N}\pi(x_i)^{y_i}(1-\pi(x_i))^{1-y_i} =i=1Nπ(xi)yi(1π(xi))1yi
表达式右边有指数乘积比较麻烦,可以在两边取对数。因为对数函数是单增的,所以参数 w ∗ w^* w使得 P ( Z ) P(Z) P(Z)达到最大值,那么其肯定也使 L p ( Z ) Lp(Z) Lp(Z)达到最大值。
L p ( Z ) = ∑ i = 1 N y i ln ⁡ π ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − π ( x i ) ) Lp(Z)=\sum\limits_{i=1}^{N}y_i\ln\pi(x_i)+(1-y_i)\ln(1-\pi(x_i)) Lp(Z)=i=1Nyilnπ(xi)+(1yi)ln(1π(xi))
= ∑ i = 1 N y i ln ⁡ π ( x i ) 1 − π ( x i ) + ln ⁡ ( 1 − π ( x i ) ) =\sum\limits_{i=1}^{N}y_i\ln\frac{\pi(x_i)}{1-\pi(x_i)}+\ln(1-\pi(x_i)) =i=1Nyiln1π(xi)π(xi)+ln(1π(xi))
= ∑ i = 1 N y i ln ⁡ e w x i − ln ⁡ ( 1 + e w x ) =\sum\limits_{i=1}^{N}y_i\ln e^{wx_i}-\ln(1+e^{wx}) =i=1Nyilnewxiln(1+ewx)
= ∑ i = 1 N y i w x i − ln ⁡ ( 1 + e w x i ) =\sum\limits_{i=1}^{N}y_iwx_i-\ln(1+e^{wx_i}) =i=1Nyiwxiln(1+ewxi)
上式是一个关于参数 w w w的函数,函数最值问题研究,无非就是求导考虑区间单调性,极值点。先求导
∂ L p ∂ w j = ∑ i = 1 N y i x i ( j ) − e w x i 1 + e w x i ⋅ x i ( j ) \frac{\partial Lp}{\partial w_j}=\sum\limits_{i=1}^{N}y_ix_i^{(j)}-\frac{e^{wx_i}}{1+e^{wx_i}}\cdot x_i^{(j)} wjLp=i=1Nyixi(j)1+ewxiewxixi(j)
其中 x i ( j ) x_i^{(j)} xi(j)表示向量 x i x_i xi的第 j j j个分量。
化简得,上式
= ∑ i = 1 N y i x i ( j ) − π ( x i ) x i ( j ) =\sum\limits_{i=1}^{N}y_ix_i^{(j)}-\pi(x_i)x_i^{(j)} =i=1Nyixi(j)π(xi)xi(j)
= ∑ i = 1 N ( y i − π ( x i ) ) x i ( j ) =\sum\limits_{i=1}^{N}(y_i-\pi(x_i))x_i^{(j)} =i=1N(yiπ(xi))xi(j)

令上式等于0,即可求出 w w w,但有两个问题,
1.表达式有线性部分,有指数部分,妥妥的超越方程,似乎没有理论精确解(可能有,但我不会)
2.倒数为0的点是极值点没错,不知道是极大值还是极小值,而且极值点也不一定就是最值点。

先研究第二个问题,先从低维开始,当 w , x w,x w,x的维数都是一维的时候有
∂ L p ∂ w = ∑ i = 1 N ( y i − π ( x i ) ) x i \frac{\partial Lp}{\partial w}=\sum\limits_{i=1}^{N}(y_i-\pi(x_i))x_i wLp=i=1N(yiπ(xi))xi
从而有
∂ 2 L p ∂ w 2 = ∑ i = 1 N − x i 2 e w x i ( 1 + e w x i ) 2 < 0 \frac{\partial^2 Lp}{\partial w^2}=\sum\limits_{i=1}^N\frac{-x_i^2e^{wx_i}}{(1+e^{wx_i})^2}<0 w22Lp=i=1N(1+ewxi)2xi2ewxi<0
函数 L p ( Z ) Lp(Z) Lp(Z)的二阶导恒小于0,说明一阶导函数是一个单调减函数,也就是说一阶导为0的点左边是恒大于0的,右边是恒小于0的,从而原函数 L p ( Z ) Lp(Z) Lp(Z)在零点左侧单调增(导函数在该区间恒正),右侧单调减,从而一阶导为0点为函数 L p ( Z ) Lp(Z) Lp(Z)在整个区间的最大值点。
w , x w,x w,x的维数是两维时,多元函数求最值通常用拉格朗日乘数法或者黑塞矩阵,这里先计算其黑塞矩阵为
[ ∑ i = 1 N − t ( x i ) ( x i ( 1 ) ) 2 ∑ i = 1 N − t ( x i ) x i ( 1 ) x i ( 2 ) ∑ i = 1 N − t ( x i ) x i ( 1 ) x i ( 2 ) ∑ i = 1 N − t ( x i ) ( x i ( 2 ) ) 2 ] \left[ \begin{matrix} \sum_{i=1}^N-t(x_i)(x_i^{(1)})^2& \sum_{i=1}^N-t(x_i)x_i^{(1)}x_i^{(2)}\\ \sum_{i=1}^N-t(x_i)x_i^{(1)}x_i^{(2)}&\sum_{i=1}^N-t(x_i)(x_i^{(2)})^2 \end{matrix} \right] [i=1Nt(xi)(xi(1))2i=1Nt(xi)xi(1)xi(2)i=1Nt(xi)xi(1)xi(2)i=1Nt(xi)(xi(2))2]
其中 t ( x i ) = e w x i ( 1 + e w x i ) 2 t(x_i)=\frac{e^{wx_i}}{(1+e^{wx_i})^2} t(xi)=(1+ewxi)2ewxi,恒大于0
x i ( 1 ) x_i^{(1)} xi(1) x i x_i xi的第一维数据
因为顺序主子式中
∑ i = 1 N − t ( x i ) ( x i ( 1 ) ) 2 < 0 \sum_{i=1}^N-t(x_i)(x_i^{(1)})^2<0 i=1Nt(xi)(xi(1))2<0
∑ i = 1 N − t ( x i ) ( x i ( 1 ) ) 2 ⋅ ∑ i = 1 N − t ( x i ) ( x i ( 2 ) ) 2 − ( ∑ i = 1 N − t ( x i ) x i ( 1 ) x i ( 2 ) ) 2 \sum_{i=1}^N-t(x_i)(x_i^{(1)})^2\cdot\sum_{i=1}^N-t(x_i)(x_i^{(2)})^2-(\sum_{i=1}^N-t(x_i)x_i^{(1)}x_i^{(2)})^2 i=1Nt(xi)(xi(1))2i=1Nt(xi)(xi(2))2(i=1Nt(xi)xi(1)xi(2))2
= ∑ i = 1 N ( t ( x i ) ( x i ( 1 ) ) 2 ) ⋅ ∑ i = i N ( t ( x i ) ( x i ( 2 ) ) 2 ) − ( ∑ i = 1 N ( t ( x i ) x i ( 1 ) ) ( t ( x i ) x i ( 2 ) ) ) 2 ≥ 0 ( 柯 西 不 等 式 ) =\sum_{i=1}^N(\sqrt{t(x_i)}(x_i^{(1)})^2)\cdot\sum_{i=i}^N(\sqrt{t(x_i)}(x_i^{(2)})^2)-(\sum_{i=1}^N(\sqrt{t(x_i)x_i^{(1)}})(\sqrt{t(x_i)}x_i^{(2)}))^2\ge0(柯西不等式) =i=1N(t(xi) (xi(1))2)i=iN(t(xi) (xi(2))2)(i=1N(t(xi)xi(1) )(t(xi) xi(2)))20(西)
从而得出结论,该矩阵的负定的,所以,一阶导为0的点是极大值点。而 w w w的每个分量单独来看,其单调性一致,所以该极大值点也就是最大值点。这个结论当然可以推广至任意有限维。

已知 L p ( Z ) = f ( w ) = ∑ i = 1 N y i w x i − ln ⁡ ( 1 + e w x i ) Lp(Z)=f(w)=\sum\limits_{i=1}^{N}y_iwx_i-\ln(1+e^{wx_i}) Lp(Z)=f(w)=i=1Nyiwxiln(1+ewxi)是一个关于自变量 w w w的函数,先证明这个函数是关于 w w w的多元上凸函数(凹函数),从定义出发
设对任意 w 1 , w 2 ∈ R n , t ∈ ( 0 , 1 ) w_1,w_2\in\R^n,t\in(0,1) w1,w2Rn,t(0,1),我们有
f ( t w 1 + ( 1 − t ) w 2 ) f(tw_1+(1-t)w_2) f(tw1+(1t)w2)
= ∑ i = 1 N y i ( t w 1 + ( 1 − t ) w 2 ) x i − ln ⁡ ( 1 + e ( t w 1 + ( 1 − t w 2 ) ) x i ) =\sum\limits_{i=1}^Ny_i(tw_1+(1-t)w_2)x_i-\ln(1+e^{(tw_1+(1-tw_2))x_i}) =i=1Nyi(tw1+(1t)w2)xiln(1+e(tw1+(1tw2))xi)
= t ∑ i = 1 N y i w 1 x i + ( 1 − t ) ∑ i = 1 N y i w 2 x i − ∑ i = 1 N ln ⁡ ( 1 + e t w i x i + ( 1 − t ) w 2 x i ) =t\sum\limits_{i=1}^Ny_iw_1x_i+(1-t)\sum\limits_{i=1}^Ny_iw_2x_i-\sum\limits_{i=1}^N\ln(1+e^{tw_ix_i+(1-t)w_2x_i}) =ti=1Nyiw1xi+(1t)i=1Nyiw2xii=1Nln(1+etwixi+(1t)w2xi)
考虑函数 g ( x ) = ln ⁡ ( 1 + e x ) g(x)=\ln(1+e^x) g(x)=ln(1+ex), g ′ ′ ( x ) = e x ( 1 + e x ) 2 > 0 g''(x)=\frac{e^x}{(1+e^x)^2}>0 g(x)=(1+ex)2ex>0为凸函数,由凸函数定义有
g ( t w 1 + ( 1 − t ) w 2 ) < t g ( w 1 ) + ( 1 − t ) g ( w 2 ) g(tw_1+(1-t)w_2)g(tw1+(1t)w2)<tg(w1)+(1t)g(w2)
从而有
ln ⁡ ( 1 + e t w i x i + ( 1 − t ) w 2 x i ) < t ln ⁡ ( 1 + e w 1 x i ) + ( 1 − t ) ln ⁡ ( 1 + e w 2 x i ) \ln(1+e^{tw_ix_i+(1-t)w_2x_i})ln(1+etwixi+(1t)w2xi)<tln(1+ew1xi)+(1t)ln(1+ew2xi)
从而
t ∑ i = 1 N y i w 1 x i + ( 1 − t ) ∑ i = 1 N y i w 2 x i − ∑ i = 1 N ln ⁡ ( 1 + e t w 1 x i + ( 1 − t ) w 2 x i ) t\sum\limits_{i=1}^Ny_iw_1x_i+(1-t)\sum\limits_{i=1}^Ny_iw_2x_i-\sum\limits_{i=1}^N\ln(1+e^{tw_1x_i+(1-t)w_2x_i}) ti=1Nyiw1xi+(1t)i=1Nyiw2xii=1Nln(1+etw1xi+(1t)w2xi)
≥ t ∑ i = 1 N y i w 1 x i + ( 1 − t ) ∑ i = 1 N y i w 2 x i − ∑ i = 1 N t ln ⁡ ( 1 + e w 1 x i ) + ( 1 − t ) ln ⁡ ( 1 + e w 2 x i ) \ge t\sum\limits_{i=1}^Ny_iw_1x_i+(1-t)\sum\limits_{i=1}^Ny_iw_2x_i-\sum\limits_{i=1}^Nt\ln(1+e^{w_1x_i})+(1-t)\ln(1+e^{w_2x_i}) ti=1Nyiw1xi+(1t)i=1Nyiw2xii=1Ntln(1+ew1xi)+(1t)ln(1+ew2xi)
= t f ( w 1 ) + ( 1 − t ) f ( w 2 ) =tf(w_1)+(1-t)f(w_2) =tf(w1)+(1t)f(w2)
从而 f ( w ) f(w) f(w)是上凸函数,其黑塞矩阵为负定,所以一阶导零点处取得极大值。

凸函数极值点求解可以使用梯度下降法

∂ L p ∂ w j = ∑ i = 1 N ( y i − π ( x i ) ) x i ( j ) \frac{\partial Lp}{\partial w_j}=\sum\limits_{i=1}^{N}(y_i-\pi(x_i))x_i^{(j)} wjLp=i=1N(yiπ(xi))xi(j)
根据梯度下降法得到迭代公式为
w ( j ) = w ( j ) + α ∑ j = 1 N ( y i − π ( x i ) ) x i ( j ) w^{(j)}=w^{(j)}+\alpha\sum\limits_{j=1}^N(y_i-\pi(x_i))x_i^{(j)} w(j)=w(j)+αj=1N(yiπ(xi))xi(j)因为 L p Lp Lp是上凸,所以 α \alpha α前面的符号是正号,下凸函数才是我们通常意义的凸函数。

你可能感兴趣的:(笔记)