逻辑回归介绍
学习目标
- 了解逻辑回归的应用场景
- 知道逻辑回归的原理
- 掌握逻辑回归的损失函数和优化方案
逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛。
1 逻辑回归的应用场景
- 广告点击率
- 是否为垃圾邮件
- 是否患病
- 金融诈骗
- 虚假账号
看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器
2 逻辑回归的原理
要想掌握逻辑回归,必须掌握两点:
- 逻辑回归中,其输入值是什么
- 如何判断逻辑回归的输出
2.1 输入
h ( w ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + , ⋯ , + b \large h(w)=w_1x_1+w_2x_2+w_3x_3+,\cdots,+b h(w)=w1x1+w2x2+w3x3+,⋯,+b
逻辑回归的输入就是一个线性回归的结果。
2.2 激活函数
-
sigmoid函数
g ( w T , x ) = 1 1 + e − h ( w ) = 1 1 + e − w T x g(w^T, x)=\frac{1}{1+e^{-h(w)}}=\frac{1}{1+e^{-w^Tx}} g(wT,x)=1+e−h(w)1=1+e−wTx1 -
判断标准
- 回归的结果输入到sigmoid函数当中
- 输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值

逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)。(方便损失计算)
输出结果解释(重要):假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.55,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。那么反之,如果得出结果为0.3那么,训练或者预测结果就为B(0)类别。
关于逻辑回归的阈值是可以进行改变的,比如上面举例中,如果你把阈值设置为0.6,那么输出的结果0.55,就属于B类。
在之前,我们用均方误差来衡量线性回归的损失
在逻辑回归中,当预测结果不对的时候,我们该怎么衡量其损失呢?
我们来看下图(下图中,设置阈值为0.6),

那么如何去衡量逻辑回归的预测结果与真实结果的差异呢?
3 损失以及优化
3.1 损失
逻辑回归的损失,称之为对数似然损失,公式如下:
- 分开类别:
c o s t ( h θ ( x ) , y ) = { − log ( h θ ( x ) ) , if y = 1 − log ( 1 − h θ ( x ) ) , if y = 0 \large cost(h_\theta(x), y) = \begin{cases} -\log(h_\theta(x)), & \text {if $y=1$ } \\ -\log(1-h_\theta(x)), & \text{if $y=0$} \end{cases} <