逻辑斯蒂回归/逻辑回归
线性回归的任务是预测,如果拿来做分类是这个效果:
z = w T x ⇒ y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 \bold z=\bold w^T\bold x\Rightarrow y=\begin{cases}0,&\bold z<0\\0.5,&\bold z=0\\1,&\bold z>0\end{cases} z=wTx⇒y=⎩⎪⎨⎪⎧0,0.5,1,z<0z=0z>0
这个函数是不连续的,输入为零的时候有间断点,并且有扰动时分类结果并不好。
在这里可以用逻辑斯蒂函数来模拟:
z = w T x ⇒ y = 1 1 + e − z \bold z=\bold w^T\bold x\Rightarrow y=\frac{1}{1+e^{-\bold z}} z=wTx⇒y=1+e−z1
这个函数就是 s i g m o d sigmod sigmod函数,它长这个样子
而 z = w T x ⇒ y = 1 1 + e − z \bold z=\bold w^T\bold x\Rightarrow y=\frac{1}{1+e^{-\bold z}} z=wTx⇒y=1+e−z1也就组成了逻辑回归算法,即先对样本提取特征,然后送入sigmod函数做分类。
仔细看一下这个函数: y = 1 1 + e − z y=\frac{1}{1+e^{-\bold z}} y=1+e−z1,这不就是上一节提到的广义线性回归的一个特例:
y 1 − y = 1 1 + e − z 1 − 1 1 + e − z = 1 1 + e − z e − z 1 + e − z = e z \frac{y}{1-y}=\frac{\frac{1}{1+e^{-z}}}{1-\frac{1}{1+e^{-z}}}=\frac{\frac{1}{1+e^{-z}}}{\frac{e^{-z}}{1+e^{-z}}}=e^z 1−yy=1−1+e−z11+e−z1=1+e−ze−z1+e−z1=ez
两边取对数得到:
log y 1 − y = z = w T x \log{\frac{y}{1-y}}=\bold z=\bold w^T\bold x log1−yy=z=wTx
所以逻辑斯蒂回归也叫做对数几率回归。
逻辑斯蒂回归的概率解释
-
分类概率
y = 1 1 + exp ( − w T x ) y=\frac{1}{1+\exp{(-\bold w^T\bold x)}} y=1+exp(−wTx)1
当 w \bold w w一定时,样本 x \bold x x属于 y = 1 y=1 y=1的后验概率可以表示为:
p 1 ( x ; w ) = p ( y = 1 ∣ x ; w ) = exp ( w T x ) 1 + exp ( w T x ) p_1(\bold x;\bold w)=p(y=1|\bold x;\bold w)=\frac{\exp{(\bold w^T\bold x)}}{1+\exp{(\bold w^T\bold x)}} p1(x;w)=p(y=1∣x;w)=1+exp(wTx)exp(wTx)
随着 z \bold z z的增大,y趋近于1,即正样本的分类。样本属于 y = 0 y=0 y=0的后验概率为:
p 0 ( x ; w ) = p ( y = 0 ∣ x ; w ) = 1 1 + exp ( w T x ) p_0(\bold x;\bold w)=p(y=0|\bold x;\bold w)=\frac{1}{1+\exp{(\bold w^T\bold x)}} p0(x;w)=p(y=0∣x;w)=1+exp(wTx)1
反之,趋向于0,为负样本。 -
贝叶斯决策
log p ( y = 1 ∣ x ; w ) p ( y = 0 ∣ x ; w ) = w T x ⇒ { w T x > 0 → y = 1 w T x < 0 → y = 0 \log{\frac{p(y=1|\bold x;\bold w)}{p(y=0|\bold x;\bold w)}}=\bold w^T\bold x\Rightarrow \begin{cases}\bold w^T\bold x>0&\rightarrow y=1\\\bold w^T\bold x<0&\rightarrow y=0\end{cases} logp(y=0∣x;w)p(y=1∣x;w)=wTx⇒{ wTx>0wTx<0→y=1→y=0
由上式可知,当 p ( y = 1 ) > p ( y = 0 ) p(y=1)>p(y=0) p(y=1)>p(y=0)时,样本取为正样本,反之,样本取为负样本。
-
从生成模型和判决模型的角度来讲,逻辑斯蒂回归算法属于判决模型。
建模直接找后验概率就是判决模型。
-
逻辑斯蒂回归直接对分类的可能性进行建模,无需事先假设数据分布,避免数据分布假设不准确带来的问题。
不需要建模先验,也不需要建似然,和上一条判决模型是一致的。
-
逻辑斯蒂回归不禁输出分类类别,而且还能得到概率近似。
逻辑斯蒂回归的极大似然推导
首先假设X服从伯努利分布,即:
y n y_n yn | 1 | 0 |
---|---|---|
p n p_n pn | p 1 ( x n ; w ) p_1(\bold x_n;\bold w) p1(xn;w) | p 0 ( x n ; w ) p_0(\bold x_n;\bold w) p0(xn;w) |
那么 N N N个样本的极大似然估计计算如下:
p ( x 1 , x 2 , … , x N ; w ) = ∏ n = 1 N [ p 1 ( x n ; w ) ] y n [ p 0 ( x n ; w ) ] 1 − y n p(\bold{x_1,x_2,\dots,x_N};\bold w)=\prod_{n=1}^N{[p_1(\bold x_n;\bold w)]^{y_n}[p_0(\bold x_n;\bold w)]^{1-y_n}} p(x1,x2,…,xN;w)=n=1∏N[p1(xn;w)]yn[p0(xn;w)]1−yn
所以求左边的最大值就是求其负对数的最小值:
max w p ( x 1 , x 2 , … , x N ; w ) ⇔ min w [ − log p ( x 1 , x 2 , … , x N ; w ) ] \max_{\bold w}p(\bold{x_1,x_2,\dots,x_N};\bold w)\Leftrightarrow\min_{\bold w}[-\log p(\bold{x_1,x_2,\dots,x_N};\bold w)] wmaxp(x1,x2,…,xN;w)⇔wmin[−logp(x1,x2,…,xN;w)]
由此可得目标函数为:
L ( w ) = − log p ( x 1 , x 2 , … , x N ; w ) L(\bold w)=-\log p(\bold{x_1,x_2,\dots,x_N};\bold w) L(w)=−logp(x1,x2,…,xN