Logistic Regression
简介
对数几率回归,也称为逻辑回归,虽然名为“回归”,但实际上是分类学习方法。
- 优点
-
不仅可以预测类别,还可以得到近似概率,对许多需要利用概率辅助决策的任务很有用。
-
直接对分类可能性建模,无需考虑数据分布的问题。
-
对率函数任意阶可导,有很好的数学性质
- 缺点
- 特征空间较大时,性能表现不好
- 容易欠拟合,一般准确率不高
- 只适用线性可分问题
基本原理
- 分类函数
考虑二分类任务,输出类别标记为 { 0 , 1 } \{0, 1\} {0,1},要将线性回归模型产生的预测值 z z z转换为0/1值,可以使用单位越阶函数,即
y = { 0 z<0 0.5 z=0 1 z>0 y = \begin{cases} 0 & \text{z<0} \\ 0.5& \text{z=0} \\ 1& \text{z>0} \end{cases} y=⎩⎪⎨⎪⎧00.51z<0z=0z>0
但是单位越阶函数并非连续可微,因此不能作为联系函数。于是改用对数几率函数,也称sigmoid函数,即
y = 1 1 + e − z y=\frac 1 {1+e^{-z}} y=1+e−z1
- 从概率的角度思考
以sigmoid函数为联系函数带入到线性模型中,变化为
l n y 1 − y = w T x + b ln\frac y{1-y}=w^Tx+b ln1−yy=wTx+b
在这个模型中,将 y y y视作样本分类为正的可能,则 1 − y 1-y 1−y为反例的可能,两者的比值即为**“几率”**,再取对数即为所谓对数几率。
故可将上式重写为
l n p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = w T x + b ln\frac{p(y=1|x)}{p(y=0|x)}=w^Tx+b lnp(y=0∣x)p(y=1∣x)=wTx+b
同时有 p ( y = 1 ∣ x ) = e − ( w t x + b ) 1 + e − ( w t x + b ) p(y=1|x)=\frac {e^{-(w^tx+b)}}{1+e^{-(w^tx+b)}} p(y=1∣x)=1+e−(wtx+b)e−(wtx+b)、 p ( y = 0 ∣ x ) = 1 1 + e − ( w t x + b ) p(y=0|x)=\frac {1}{1+e^{-(w^tx+b)}} p(y=0∣x)=1+e−(wtx+b)1。
- 损失函数
为了回归学习出参数 w w w和 b b b,需要选择合适的损失函数,先直接给出对数几率回归中使用的损失函数,即对数损失:
L = − [ y l n y ^ + ( 1 − y ) l n ( 1 − y ^ ) ] L=-[yln\hat y+(1-y)ln(1-\hat y)] L=−[ylny^+(1−y)ln(1−y^)]
对数损失是从最大似然函数取对数导出的,最大似然函数即
l ( θ ) = ∏ i = 1 m p ( y = 1 ∣ x i ) y i p ( y = 0 ∣ x i ) 1 − y i l(\theta)=\prod_{i=1}^mp(y=1|x_i)^{y_i}p(y=0|x_i)^{1-y_i} l(θ)=i=1∏mp(y=1∣xi)yip(y=0∣xi)1−yi
当类别y取不同值的时候,此函数总是只有一项发挥作用,可以理解为分段函数:
L = { − l n ( y ^ ) y=1 − l n ( 1 − y ^ ) y=0 L=\begin {cases}-ln(\hat y)& \text{y=1} \\ -ln(1-\hat y) &\text{y=0} \end {cases} L={−ln(y^)−ln(1−y^)y=1y=0
而由于 y ^ \hat y y^和 1 − y ^ 1-\hat y 1−y^的值均在0-1之间,故取对数后加负号,使结果为正。此时 y ^ \hat y y^越接近1,损失函数越小。
- 梯度下降
学习任务为: ( w ∗ , b ∗ ) = a r g m i n w , b L (w^*, b^*)=argmin_{w,b}\ L (w∗,b∗)=argminw,b L,用链式法则分别求 L L L对 w w w和 b b b的导数,即
∂ L ∂ w = ∂ L ∂ y ^ ∂ y ^ ∂ z ∂ z ∂ w = ( y ^ − y ) ∗ x \frac{\partial L}{\partial w}=\frac{\partial L}{\partial \hat y}\frac{\partial \hat y}{\partial z}\frac{\partial z}{\partial w}=(\hat y-y)*x ∂w∂L=∂y^∂L∂z∂y^∂w∂z=(y^−y)∗x
∂ L ∂ b = ∂ L ∂ y ^ ∂ y ^ ∂ z ∂ z ∂ b = y ^ − y \frac{\partial L}{\partial b}=\frac{\partial L}{\partial \hat y}\frac{\partial \hat y}{\partial z}\frac{\partial z}{\partial b}=\hat y-y ∂b∂L=∂y^∂L∂z∂y^∂b∂z=y^−y
- 过拟合
先上图,从左到右分别为欠拟合、适当拟合、过拟合。
可以使用正则化方法,对于容易过拟合的特征进行惩罚,即在损失函数中额外加上该特征的惩罚项:
L ( w ; x , y ) = L ( w ; x , y ) + α Ω ( w ) L(w;x,y)=L(w;x,y)+\alpha \Omega(w) L(w;x,y)=L(w;x,y)+αΩ(w)
reference: