逻辑回归(Logistic Regression)

1. 假说

假设样本的标签为0和1, $h(x)$ 为取得预测为标签1的概率。

其中, $ \delta(x)$ 为 $Sigmoid$ 函数

即:

线性变化 $f(x) = w^Tx $ 可以理解为一种回归,加入$Sigmoid$ 函数后值域为$[0,1]$,可以应用至分类分类问题,理解为逻辑回归。

2. 后验概率

3. 似然函数

N 为数据样本数

4. 对数似然

5. 损失函数

似然函数乘以 -1/N

6. 梯度下降

Loss 如下:

推导过程
LR

参数更新如下:

参数更新理解

7. 实践

8. 一些问题

  • LR为什么是线性模型?

    Logistic Regression从几率的概念构建线性回归模型。一个事件发生的几率(odds)为该事件发生的概率与不发生概率的比值,几率的取值范围为$[0,+\infty)$,其对数的取值范围为实数域,所以,可以将对数几率作为因变量构建线性回归模型: $log\frac{p}{1-p} = w^Tx$, 由此可得 $p = \frac{1}{1+e^{-w^Tx}}$。这便是Logistic Regression采用sigmoid函数的原因,sigmoid函数将自变量的线性组合映射到(0,1),用以表述分类的概率特性。从sigmoid函数看出,当$w^Tx >0 $ 时,y=1,否则 y=0。$w^Tx=0$ 是模型隐含的分类平面(在高维空间中,我们说是超平面), 所以说逻辑回归本质上是一个线性模型。

  • 为什么逻辑回归比线性回归要好?

    逻辑回归能够用于分类,不过其本质还是线性回归。它仅在线性回归的基础上,在特征到结果的映射中加入了一层sigmoid函数(非线性)映射,即先把特征线性求和,然后使用sigmoid函数来预测。

  • sigmoid函数

    • 优点:
      • Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可以用作输出层。
      • 求导简单。
    • 缺点:
      • 由于其软饱和性,容易产生梯度消失,导致训练出现问题。
  • LR 如何解决多分类问题?

    如果y不是在[0,1]中取值,而是在K个类别中取值,这时问题就变为一个多分类问题。有两种方式可以出处理该类问题:一种是我们对每个类别训练一个二元分类器(One-vs-all),当K个类别不是互斥的时候,比如用户会购买哪种品类,这种方法是合适的。如果K个类别是互斥的,即 y=i 的时候意味着 y 不能取其他的值,比如用户的年龄段,这种情况下 Softmax 回归更合适一些。Softmax 回归是直接对逻辑回归在多分类的推广,相应的模型也可以叫做多元逻辑回归(Multinomial Logistic Regression), 模型通过 softmax 函数来对概率建模。
  • $probability$和$odds$的定义

    • $probability$指的是发生的次数/总次数, 如果抛硬币:
  • $logit$函数和$sigmoid$函数及它们的特性

    • 我们对$odds$取$log$, 扩展$odds$的取值范围到实数空间$[-\infty, +\infty]$, 这就是$logit$函数:

    注意: 接下来我们会省略$log$的底$e$

    • 接下来, 我们用线性回归模型来表示$logit(p)$, 因为线性回归模型和$logit$函数的输出有着同样的取值范围:

    例如: $logit(p) = \theta_1 x_1 + \theta_2 x_2 + bias$
    下面我们来画一下$logit(p)$, 注意$p \in (0, 1)$, 当$p=0$或$p=1$的时候, $logit$函数属于未定义.

参考

Donate comment here