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 如下:
推导过程
参数更新如下:
参数更新理解
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$函数属于未定义.