为什么逻辑回归在高维度上特别容易过拟合?

机器算法验证 物流 正则化 过拟合
2022-02-09 21:48:48

为什么逻辑回归的渐近性”使它特别容易高维度上过度拟合来源):

在此处输入图像描述

我了解LogLoss交叉熵)随着(真实概率)接近(预测概率)而迅速增长:y1y

但是为什么这意味着逻辑回归的渐近性质会在没有正则化的情况下将高维的损失推向 0 ”

在我看来,仅仅因为损失会迅速增长(如果我们非常接近错误且完全相反的答案),并不意味着它会因此尝试完全插值数据。如果有的话,优化器会尽可能积极地避免进入损失的渐近部分(快速增长部分)。

4个回答

现有的答案没有错,但我认为解释可能更直观一些。这里有三个关键思想。

1. 渐近预测

在逻辑回归中,我们使用线性模型来预测,即μy=1

μ=βX

然后我们使用逻辑/逆对数函数将其转换为概率

P(y=1)=11+eμ

在此处输入图像描述

重要的是,此函数实际上从未达到的值。相反,变得更负时越来越接近 ,而当它变得更正时01y0μ1

在此处输入图像描述

2.完美分离

有时,您最终会遇到模型想要预测的情况。当可以通过您的数据绘制一条直线时,就会发生这种情况,以便直线一侧的而另一侧的每个 y=1 。这称为完美分离y=1y=0y=10

1D 中的完美分离

二维

在此处输入图像描述

发生这种情况时,模型会尝试预测尽可能接近,方法是预测尽可能低和高为此,它必须将回归权重设置得 尽可能大。01μβ

正则化是一种抵消这一点的方法:模型不允许将设置为无限大,因此不能无限高或无限低,并且预测的不能如此接近βμy01

3. 更多维度更容易实现完美分离

因此,当您有许多预测变量时,正则化变得更加重要。

为了说明,这里再次绘制了之前绘制的数据,但没有第二个预测变量。我们看到不再可能绘制一条将完美分开的直线。y=0y=1

在此处输入图像描述


代码

# https://stats.stackexchange.com/questions/469799/why-is-logistic-regression-particularly-prone-to-overfitting

library(tidyverse)
theme_set(theme_classic(base_size = 20))

# Asymptotes
mu = seq(-10, 10, .1)
p = 1 / (1 + exp(-mu))
g = ggplot(data.frame(mu, p), aes(mu, p)) + 
  geom_path() +
  geom_hline(yintercept=c(0, 1), linetype='dotted') +
  labs(x=expression(mu), y='P(y=1)')
g

g + coord_cartesian(xlim=c(-10, -9), ylim=c(0, .001))

# Perfect separation
x = c(1, 2, 3, 4, 5, 6)
y = c(0, 0, 0, 1, 1, 1)
df = data.frame(x, y)
ggplot(df, aes(x, y)) +
  geom_hline(yintercept=c(0, 1), linetype='dotted') +
  geom_smooth(method='glm', 
              method.args=list(family=binomial), se=F) +
  geom_point(size=5) +
  geom_vline(xintercept=3.5, color='red', size=2, linetype='dashed')

## In 2D
x1 = c(rnorm(100, -2, 1), rnorm(100, 2, 1))
x2 = c(rnorm(100, -2, 1), rnorm(100, 2, 1))
y = ifelse( x1 + x2 > 0, 1, 0)
df = data.frame(x1, x2, y)
ggplot(df, aes(x1, x2, color=factor(y))) +
  geom_point() +
  geom_abline(intercept=1, slope=-1,
              color='red', linetype='dashed') +
  scale_color_manual(values=c('blue', 'black')) +
  coord_equal(xlim=c(-5, 5), ylim=c(-5, 5)) +
  labs(color='y')

## Same data, but ignoring x2
ggplot(df, aes(x1, y)) +
  geom_hline(yintercept=c(0, 1), linetype='dotted') +
  geom_smooth(method='glm', 
              method.args=list(family=binomial), se=T) +
  geom_point()

渐近性质是指逻辑曲线本身。如果不进行正则化,优化器会放大逻辑回归的权重,使尽可能地向左或向右,以最大限度地减少损失。wx

让我们假设一个提供完美分离的特征,可以想象在每次迭代中变得越来越大。在这种情况下,优化将失败,除非解决方案是正则化的。wx

11+ewx

高维模型为可能的参数集创建了一个大的假设空间。优化器将通过选择具有最高权重的解决方案来利用这一点。较高的权重将减少损失,这是优化器的任务,使逻辑曲线变陡,并提供更高的数据条件似然。该模型是过度自信的,这是在此设置中过度拟合的解释。

如果有多个参数配置具有相同的二进制性能度量,优化器将始终选择损失最低的配置。由于逻辑曲线的渐近性,损失函数可以减少到超出二进制标签提供的信息。

更务实的正则化,使系数更小,有助于减少过拟合。可以使用贝叶斯理论找到对无约束权重、正则化和过拟合之间关系的更正式的解释。

与特定的日志损失函数无关

该损失函数与二项式/二元回归有关,而不是专门与逻辑回归有关。使用其他损失函数,您会遇到相同的“问题”。

那么是什么情况呢?

  • 逻辑回归是这种二项式/二元回归的特例,它是具有渐近性质的逻辑链接函数。
  • 此外,对于完美分离的情况,“过度拟合”最有问题。

完美分离和拟合 sigmoid 曲线

如果样本完全分离,则逻辑链接函数的 sigmoid 形状可以通过增加系数(至无穷大)使拟合“完美”(零残差和过度拟合)。

例如,在下图中,真实模型是:

p(x)=11+e2x

但是不等于或不接近但值为 0 或 1 的数据点恰好是完全分离的类(一方面它们都是 0,另一方面它们都是 1),并且作为结果拟合值也被拟合为等于 0 和 1(sigmoid 函数允许通过让p(x)p^(x)b

p^(x)=11+ebx

完美分离和对 sigmoid 曲线拟合效果的示例


一个类似的例子,具有类似的过度拟合倾向,将是

yi=sin(bxi)+ϵi

正弦波示例

因此,这并不太依赖于损失函数的类型(或误差分布),而更多的是模型预测能够接近完美拟合。

在这个正弦波的例子中,当你不限制频率时,你会得到过拟合,在逻辑回归的情况下,当你有完美的分离时,你会得到过拟合。

为什么正则化有效

您可以通过正则化来解决它,但是您应该有一些好的方法来了解/估计您希望正则化的程度。

在高维情况下,它“有效”,因为过拟合(具有仅链接到一个或几个点/个体的特征)需要许多参数值很高。这将快速增加成本函数的正则化部分。

正则化将使您的健康倾向于“使用更少的功能”。这与您的先验知识/信念相对应,即您的模型应该只依赖于几个特征,而不是大量的许多微小的比特(这很容易成为噪音)。

示例例如,假设您希望预测成为美国总统的概率,那么您可能会很好地处理一些泛化参数,例如教育、父母、金钱/财富、性别、年龄。但是,如果您的拟合分类模型没有进行正则化,则可能会赋予来自每个单个观察/总统的许多独特特征的权重(并可能在训练集中达到完美的分数/分离,但不是泛化),而不是重视像“年龄”这样的单个参数,它可能会使用“抽烟和喜欢瘦身”之类的东西(其中许多参数是为了解释观察集中的每一位总统)。

正则化减少了具有过多不同参数的拟合,因为当具有较高值的​​参数较少时,您可能会获得更好的(正则化)损失(这意味着您使模型更喜欢更通用的参数)。

这种正则化实际上是一件“好事”,即使没有完美分离的情况。

在我看来,答案比其他人的答案如此优雅地描述的要简单得多。当样本量减少时,过度拟合会增加。过拟合是有效样本量的函数。当 Y 是连续的(即具有最高信息量)时,对于给定的表观样本大小,过度拟合是最小的。单元概率为 0.5 0.5 的二进制 Y 比连续变量具有更少的信息,并且由于有效样本量较低而导致更多的过拟合。概率为 0.01 0.99 的 Y 会导致更严重的过拟合,因为有效样本量甚至更低。有效样本大小与 min(a, b) 成正比,其中 a 和 b 是样本数据中的两个单元频率。对于连续 Y,有效样本量和实际样本量相同。这包括在https://hbiostat.org/rms