1. 什么是LR回归?LR的公式及求导?为什么sigmoid函数
1. 什么是LR回归
LR回归(Logistic Regression, LR)是一种常用的处理二分类问题的线性模型。为了解决连续的线性函数不适合进行分类的问题,引入非线性函数:来预测类别标签的后验概率。
其中通常被称为激活函数(Activication Function),其作用是把线性函数的值域从实数区间“挤压”到(0,1)之间,可以用来表示概率。
在Logistic回归中,我们使用Logistic函数来作为激活函数,标签的后验概率为:
为了简单起见,这里和分别为D+1维的增广特征向量和增广权重向量。
标签的后验概率为:
将公式进行变换后可以得到:
其中为样本为正反例后验概率的比值,称为几率(Odds),几率的对数称为对数几率。这样,Logistic回归可以看作预测值为“标签的对数几率”的线性回归模型。因此,Logistic回归也称为对数几率回归。(Logit Regression)
2. 参数学习
Logistic回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化。
给定个训练样本,用Logistic回归模型对每个样本进行预测,输出其标签为1的后验概率,记为
使用交叉熵损失,其风险函数为
风险函数关于参数的偏导数为:
采用梯度下降法,Logistic回归的训练过程为::初始化𝒘0 ← 0,然后通过下式来迭代更新参数:
其中是学习率,是当参数为时,Logistic回归模型的输出。
可知,风险函数ℛ(𝒘) 是关于参数𝒘 的连续可导的凸函数.因此除了梯度下降法之外,Logistic 回归还可以用高阶的优化方法(比如牛顿法)来进行优化。
3. Softmax回归
Softmax 回归(Softmax Regression),也称为多项(Multinomial)或多类(Multi-Class)的Logistic 回归,是Logistic 回归在多分类问题上的推广.
对于多类问题,类别标签可以有个取值,给定一个样本,Softmax 回归预测的属于类别𝑐 的条件概率为:
其中是第类的权重向量。
Softmax回归的决策函数可以表示为
Softmax回归与Logistic回归的关系:
当类别数C=2时,Softmax回归的决策函数为:
其中𝐼(⋅) 是指示函数.对比二分类决策函数,可以发现二分类中的权重向量𝒘 = 𝒘1 − 𝒘0.
4. 为什么LR可以用sigmoid来表示概率?
注意:不是因为sigmoid值域(0,1),所以sigmoid可以作为概率。而是问为什么选取sigmoid作为概率表示?
从贝叶斯的角度出发,其实sigmoid函数就是在给定x的情况下,y属于类别c的条件概率:
当x是连续变量时,假设x对两类的条件概率服从高斯分布且方差相同:
其中是随机变量的维数,所以有
所以
可见,是的线性函数,其中,
以上是两类分类问题的推导。
推广以上结论到多分类问题,给定样本x属于第类的后验概率为:
此时结果是softmax函数。
为什么要同方差? 因为同方差的时候,式中的上下两项的二次项刚好可以抵消掉,只剩下一次项。中间省去了一些简单的推导过程。
5. 为什么LR使用交叉熵作为损失函数,而不是MSE?
一种解释:
MSE的梯度更小,参数w学习更慢。
我们想衡量模型输出a和label y的逼近程度,其实这两个Loss都可以。但是为什么Logistic Regression采用的是交叉熵作为损失函数呢?看下这两个Loss function对w的导数,也就是SGD梯度下降时,w的梯度。
sigmoid函数如下图所示,可知导数在输出接近0和1时非常小。故导致在使用最小均方差Loss时,模型参数w会学习的非常慢。而使用交叉熵Loss则没有这个问题。但是我们使用交叉熵的话就不会出现这样的情况,它的导数就是一个差值,误差大的话更新的就快,误差小的话就更新的慢点,这正是我们想要的。因此,我们需要用交叉熵而不是MSE作为损失函数。为了更快的学习速度,分类问题一般采用交叉熵损失函数。
另一种解释:
用MSE的话,损失函数不是凸函数,不容易求解,容易进入局部最优。