1. 什么是LR回归
LR回归(Logistic Regression, LR)是一种常用的处理二分类问题的线性模型。为了解决连续的线性函数不适合进行分类的问题,引入非线性函数:
来预测类别标签的后验概率
。
![](https://img.haomeiwen.com/i16722260/0bc30649825c4139.png)
其中
在Logistic回归中,我们使用Logistic函数来作为激活函数,标签的后验概率为:
![](https://img.haomeiwen.com/i16722260/43534dc6352510ec.png)
为了简单起见,这里
标签的后验概率为:
![](https://img.haomeiwen.com/i16722260/4af2c4a15902e137.png)
将公式进行变换后可以得到:
![](https://img.haomeiwen.com/i16722260/89693532b441df32.png)
![](https://img.haomeiwen.com/i16722260/e58bbec55c43d724.png)
其中为样本
为正反例后验概率的比值,称为几率(Odds),几率的对数称为对数几率。这样,Logistic回归可以看作预测值为“标签的对数几率”的线性回归模型。因此,Logistic回归也称为对数几率回归。(Logit Regression)
![](https://img.haomeiwen.com/i16722260/70e8761d8ac2f130.png)
2. 参数学习
Logistic回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化。
给定个训练样本
,用Logistic回归模型对每个样本
进行预测,输出其标签为1的后验概率,记为
![](https://img.haomeiwen.com/i16722260/8ab5ac03e0135f38.png)
![](https://img.haomeiwen.com/i16722260/2e14312677d05f36.png)
使用交叉熵损失,其风险函数为
![](https://img.haomeiwen.com/i16722260/45ff8887aa73307f.png)
![](https://img.haomeiwen.com/i16722260/24069b85f729fd1b.png)
风险函数关于参数
的偏导数为:
![](https://img.haomeiwen.com/i16722260/4364074ed58c180a.png)
采用梯度下降法,Logistic回归的训练过程为::初始化𝒘0 ← 0,然后通过下式来迭代更新参数:
![](https://img.haomeiwen.com/i16722260/62ca34b60954a499.png)
其中
可知,风险函数ℛ(𝒘) 是关于参数𝒘 的连续可导的凸函数.因此除了梯度下降法之外,Logistic 回归还可以用高阶的优化方法(比如牛顿法)来进行优化。
3. Softmax回归
Softmax 回归(Softmax Regression),也称为多项(Multinomial)或多类(Multi-Class)的Logistic 回归,是Logistic 回归在多分类问题上的推广.
对于多类问题,类别标签可以有
个取值,给定一个样本
,Softmax 回归预测的属于类别𝑐 的条件概率为:
![](https://img.haomeiwen.com/i16722260/fb1d2a797baf1f11.png)
其中
Softmax回归的决策函数可以表示为
![](https://img.haomeiwen.com/i16722260/bbdc7db1c3d16b0d.png)
Softmax回归与Logistic回归的关系:
当类别数C=2时,Softmax回归的决策函数为:
![](https://img.haomeiwen.com/i16722260/11344ae73e9d384c.png)
其中𝐼(⋅) 是指示函数.对比二分类决策函数,可以发现二分类中的权重向量𝒘 = 𝒘1 − 𝒘0.
4. 为什么LR可以用sigmoid来表示概率?
注意:不是因为sigmoid值域(0,1),所以sigmoid可以作为概率。而是问为什么选取sigmoid作为概率表示?
从贝叶斯的角度出发,其实sigmoid函数就是在给定x的情况下,y属于类别c的条件概率:
![](https://img.haomeiwen.com/i16722260/6c4b60156ced6264.png)
当x是连续变量时,假设x对两类的条件概率服从高斯分布且方差相同:
![](https://img.haomeiwen.com/i16722260/a581681cb207cbac.png)
其中是随机变量
的维数,所以有
![](https://img.haomeiwen.com/i16722260/d5b2a3c138e362d4.png)
所以
![](https://img.haomeiwen.com/i16722260/6e74e814cf6ffc75.png)
可见,是
的线性函数,其中,
![](https://img.haomeiwen.com/i16722260/218b93394cc03823.png)
以上是两类分类问题的推导。
推广以上结论到多分类问题,给定样本x属于第类的后验概率为:
![](https://img.haomeiwen.com/i16722260/c707271d31bd4599.png)
此时结果是softmax函数。
为什么要同方差? 因为同方差的时候,式中的上下两项的二次项刚好可以抵消掉,只剩下一次项。中间省去了一些简单的推导过程。
5. 为什么LR使用交叉熵作为损失函数,而不是MSE?
一种解释:
MSE的梯度更小,参数w学习更慢。
![](https://img.haomeiwen.com/i16722260/9e81d9987884112a.png)
我们想衡量模型输出a和label y的逼近程度,其实这两个Loss都可以。但是为什么Logistic Regression采用的是交叉熵作为损失函数呢?看下这两个Loss function对w的导数,也就是SGD梯度下降时,w的梯度。
![](https://img.haomeiwen.com/i16722260/bef20914c44fb304.png)
sigmoid函数
另一种解释:
用MSE的话,损失函数不是凸函数,不容易求解,容易进入局部最优。
![](https://img.haomeiwen.com/i16722260/48e8854705feaad0.png)
网友评论