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