NO.31.tip: 逻辑回归
背景
逻辑回归(logistic regression)是一种使用非常广泛的判别式分类模型,该模型将输入向量 映射到类别标签 上的分布。如果 ,这被称为二元逻辑回归(binary logistic regression);如果 $C>2$,则被称为多项式逻辑回归(multinomial logistic regression;又称为多项逻辑回归、多元逻辑回归),或者多分类逻辑回归(multiclass logistic regression;又称为多类逻辑回归、多类别逻辑回归)。
源与流
二元逻辑回归
在二元情况下(其中 ),模型具有以下形式:
其中, 是权重, 是偏差(偏移量), 是 S 形(sigmoid)函数或逻辑(logistic)函数,定义如下:
设 是样例 的 logits, 是输出的均值。于是,我们可以将对数似然记作负交叉熵:
我们可以通过执行一些简单的代数变换,将这个公式扩展为更明确的形式(这在实现中十分常见)。首先要注意的是:
因此,
多项式逻辑回归
多项式逻辑回归是以下形式的判别式分类模型:
其中, 是输入向量, 是类别标签, 是 权重矩阵, 是 维偏置向量, 是 softmax 函数,其定义为:
如果我们将 logits 定义为 ,将概率定义为 ,并且设 是标签 的独热编码,则对数似然可以写成负交叉熵:
处理类别不平衡和长尾问题
在许多问题中,有些类别比其他类别少得多,这个问题被称为类别不平衡问题(class imbalance)。
最小化 0–1 损失(作为一种限制),0–1 损失可能由最频繁的类别所主导。一个自然的替代方案是考虑平衡误差率(balanced error rate),用于计算分类器 的每一类别误差率的平均值:
其中, 是真实分布。优化这种损失的分类器 必须满足:
其中, 是使用平衡类别时的预测器。因此,为了最小化平衡误差率,我们应该使用类别的条件似然 ,而不是类别的后验 。
我们在这里提出了一种称为 logit 调整 的简单方案,可以实现这种最优分类器。我们假设该模型使用 来计算 logits,其中对于广义线性模型,。在事后版本中,模型以常规方式训练,然后在预测时,我们使用:
其中, 是经验标签先验。在实践中,建议引入调谐参数 $\tau > 0$ 并使用预测器:
或者,我们可以通过使用以下 logit 调整的 softmax 交叉熵损失(logit adjusted softmax cross-entropy loss)来更改训练期间使用的损失函数:
这类似于使用形式为 的预测器进行训练,然后在测试时使用 ,如上所述。
我们还可以将上述损失与参数的先验相结合,并执行贝叶斯推理,我们将在下面进行讨论。(使用非标准似然可以通过广义贝叶斯推理框架来进行调整)
参数先验分布
与线性回归一样,标准的方法是在逻辑回归模型中对权重使用高斯先验。将先验均值设置为 0 是很自然的,以反映输出可能根据输入而增加或减少的概率。但是我们应该如何设置先验方差呢?使用一个大的值来近似均匀分布是很诱人的,但这并不是一个好的建议。为了了解其原因,考虑一个只有偏移项而没有特征的二元逻辑回归模型:
如果我们将先验设置为 的较大值,那么 的隐含先验是一个极值分布,其大部分密度接近 0 或 1。相比之下,如果我们使用较小的值 ,那么我们会得到一个更平坦的分布。
如果我们有输入特征,问题就会变得有点棘手,因为 logits 的大小现在将取决于输入变量的数量和分布。例如,假设我们生成 个随机二元向量 ,每个向量的维数为 ,其中 ,。然后我们计算 ,其中 。我们从 中采样 个值,对于每个值,我们从上述分布采样一个标签向量 。
然后,我们计算阳性标签的比例,。在图 15-5b 中,我们将 的分布绘制为 的函数。可以看到,推导出的先验分布最初是平坦的,但最终会向 0 和 1 的极值倾斜。为了避免这种情况,我们应该标准化输入,并将先验分布的方差按 缩放。我们也可以使用较重的长尾分布,例如柯西分布或学生分布,而不是高斯先验。
后验的拉普拉斯近似
遗憾的是,与线性回归不同,我们无法采用解析方式计算后验,因为没有相应的共轭先验。(这反映了最大似然估计的情况。在最大似然估计中,对于线性回归,存在着闭合形式的解,但是对于逻辑回归,并不存在闭合形式的解。)幸运的是,我们可以使用一系列近似推理方法。
我们使用拉普拉斯近似,然后,拉普拉斯近似使用高斯分布近似后验。高斯的均值等于最大后验估计值 ,并且协方差等于在最大后验估计值处计算的逆海森矩阵 ,即:
我们可以使用标准优化方法寻找到模态,然后可以采用解析方式或使用自动微分来计算模态的海森矩阵。
为了确保有唯一的解,我们使用以原点为中心的(球形)高斯先验 。 的值用于控制先验的强度。如果设置 ,那么我们强制最大先验估计为 ;这将导致预测结果有最大的不确定性,因为所有的点 都将产生形式为 的预测分布。如果我们设置 ,则最大后验估计成为最大似然估计,从而产生最小的不确定性的预测结果。(特别地,对于所有正标记的点,将有 ;对于所有负标记的点,将有 ,因为数据是可分离的。)作为一种折衷(同时为了做一个很好的演示说明),我们选择了 的值。
近似后验预测分布
接下来,我们需要将参数的后验转换为预测的后验,如下所示:
计算该积分的最简单方法是使用蒙特卡罗近似。例如,在二元逻辑回归的情况下,我们有:
其中, 是后验样本。
然而,我们也可以对积分使用确定性近似,这通常速度更快。设 。如果参数上的后验分布是高斯分布,,则 logits 上的预测分布也是高斯分布:
在二元逻辑回归的情况下,我们可以使用 probit 函数 来近似 sigmoid,这样我们能够采用解析方式求解积分:
这被称为 probit 近似。对多个类别的情况进行了推广。这被称为广义 probit 近似,其形式为:
上式忽略了 logits 之间的相关性,因为广义 probit 近似只取决于 的对角元素。尽管如此,即使在神经网络分类器的情况下,广义 probit 近似也能很好地工作。还有另一种确定性近似,即拉普拉斯桥(Laplace bridge)。
因此,我们可以通过对后验 的参数进行采样,并将采样样本代入上述方程,来计算决策边界上后验的蒙特卡罗近似,从而得到 。该方法的结果(使用模糊高斯先验作为参数)。实线是后验均值,阴影区间是一个 95% 可信区间。和以前一样,我们看到,随着远离训练数据,边界位置的不确定性会变高。
我们展示了当存在不平衡的类别时,决策边界会发生什么。我们注意到两件事。首先,后验不确定性增加,因为我们从蓝色类别中获得的数据较少。其次,我们看到决策边界的后验均值向数据较少的类别移动。这源于线性判别式分析,其中可以证明,改变类别先验会改变决策边界的位置,从而使得更多的输入空间被映射到先验更高的类别。
马尔可夫链蒙特卡罗推理
马尔可夫链蒙特卡罗通常被认为是近似推理的“黄金标准”,因为这种方法对后验的形式没有做出明确的假设。我们在此不进行深入解释,但输出是来自后验分布的一组(相关)样本,这给出了以下非参数化的近似:
其中,。一旦有了样本,我们就可以将这些样本代入式 (20),以近似后验预测分布。
一种常见的马尔可夫链蒙特卡罗方法被称为哈密尔顿蒙特卡罗;这可以利用我们计算对数联合概率的梯度 的能力来提高效率。让我们将哈密尔顿蒙特卡罗应用于二维、两个类别的版本的鸢尾花分类问题,其中我们只使用两个输入特征,萼片长度和萼片宽度,以及两个类别,Virginica 和非 Virginica。决策边界是一组点 ,满足 。这些点必须位于以下的直线上:
其他近似推理方法
我们还可以使用许多其他近似推理方法。一种常见的方法是变分推理。变分推理将近似推理转化为优化问题,它通过选择近似分布 并优化变分参数以证据下界(ELBO)进行最大化来实现这一点。在 KL 散度较小的意义上,这具有使 的效果。可以使用几种方法来求解这一问题:使用证据下界的随机估计、使用条件共轭变分推理方法,或者使用创建逻辑函数二次下界的“局部”变分推理方法。
在在线设置中,我们可以使用假设密度滤波来递归地计算高斯近似后验 。