对数几率回归——Logistics Regression原理

Logistic Regression

简介

对数几率回归,也称为逻辑回归,虽然名为“回归”,但实际上是分类学习方法。

  • 优点
  1. 不仅可以预测类别,还可以得到近似概率,对许多需要利用概率辅助决策的任务很有用。

  2. 直接对分类可能性建模,无需考虑数据分布的问题。

  3. 对率函数任意阶可导,有很好的数学性质

  • 缺点
  1. 特征空间较大时,性能表现不好
  2. 容易欠拟合,一般准确率不高
  3. 只适用线性可分问题

基本原理

  • 分类函数

考虑二分类任务,输出类别标记为{0,1}\{0, 1\},要将线性回归模型产生的预测值zz转换为0/1值,可以使用单位越阶函数,即

y={0z<00.5z=01z>0y = \begin{cases} 0 & \text{z<0} \\ 0.5& \text{z=0} \\ 1& \text{z>0} \end{cases}

但是单位越阶函数并非连续可微,因此不能作为联系函数。于是改用对数几率函数,也称sigmoid函数,即

y=11+ezy=\frac 1 {1+e^{-z}}

  • 从概率的角度思考

以sigmoid函数为联系函数带入到线性模型中,变化为

lny1y=wTx+bln\frac y{1-y}=w^Tx+b

在这个模型中,将yy视作样本分类为正的可能,则1y1-y为反例的可能,两者的比值即为**“几率”**,再取对数即为所谓对数几率。

故可将上式重写为

lnp(y=1x)p(y=0x)=wTx+bln\frac{p(y=1|x)}{p(y=0|x)}=w^Tx+b

同时有p(y=1x)=e(wtx+b)1+e(wtx+b)p(y=1|x)=\frac {e^{-(w^tx+b)}}{1+e^{-(w^tx+b)}}p(y=0x)=11+e(wtx+b)p(y=0|x)=\frac {1}{1+e^{-(w^tx+b)}}

  • 损失函数

为了回归学习出参数wwbb,需要选择合适的损失函数,先直接给出对数几率回归中使用的损失函数,即对数损失

L=[ylny^+(1y)ln(1y^)]L=-[yln\hat y+(1-y)ln(1-\hat y)]

对数损失是从最大似然函数取对数导出的,最大似然函数即

l(θ)=i=1mp(y=1xi)yip(y=0xi)1yil(\theta)=\prod_{i=1}^mp(y=1|x_i)^{y_i}p(y=0|x_i)^{1-y_i}

当类别y取不同值的时候,此函数总是只有一项发挥作用,可以理解为分段函数:

L={ln(y^)y=1ln(1y^)y=0L=\begin {cases}-ln(\hat y)& \text{y=1} \\ -ln(1-\hat y) &\text{y=0} \end {cases}

而由于y^\hat y1y^1-\hat y的值均在0-1之间,故取对数后加负号,使结果为正。此时y^\hat y越接近1,损失函数越小。

  • 梯度下降

学习任务为:(w,b)=argminw,b L(w^*, b^*)=argmin_{w,b}\ L,用链式法则分别求LLwwbb的导数,即

Lw=Ly^y^zzw=(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

Lb=Ly^y^zzb=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

  • 过拟合

先上图,从左到右分别为欠拟合、适当拟合、过拟合。

对数几率回归——Logistics Regression原理

可以使用正则化方法,对于容易过拟合的特征进行惩罚,即在损失函数中额外加上该特征的惩罚项:

L(w;x,y)=L(w;x,y)+αΩ(w)L(w;x,y)=L(w;x,y)+\alpha \Omega(w)

reference

对数几率回归(Logistic Regression)总结

对数几率回归 —— Logistic Regression