为什么 L2 norm loss 有唯一解,而 L1 norm loss 可能有多个解?

机器算法验证 回归 套索 正则化
2022-02-04 01:42:49

http://www.chioka.in/differences-between-l1-and-l2-as-loss-function-and-regularization/

如果你看这篇文章的顶部,作者提到 L2 范数有一个唯一的解决方案,而 L1 范数可能有很多解决方案。我从正则化的角度理解这一点,而不是在损失函数中使用 L1 范数或 L2 范数。

如果您查看标量 x(x^2 和 |x|)的函数图,您可以很容易地看到两者都有一个唯一的解决方案。

2个回答

让我们考虑一个最简单的可能说明的一维问题。(高维情况具有相似的属性。)

虽然两者|xμ|(xμ)2每个都有一个唯一的最小值,i|xiμ|(具有不同 x 偏移的绝对值函数的总和)通常不会。考虑x1=1x2=3

sum_i |x_i - mu| 的图

(注意,尽管 x 轴上有标签,但这实际上是μ; 我应该修改标签,但我会保持原样)

在更高维度中,您可以使用L1-规范。这里有一个拟合线的例子

二次和仍然是二次的,所以i(xiμ)2=n(x¯μ)2+k(x)会有一个独特的解决方案。在更高维度(例如多元回归)中,二次问题可能不会自动具有唯一的最小值——您可能具有多重共线性,导致参数空间中损失的负数出现低维脊;这与这里提出的问题有些不同。


一个警告。您链接到的页面声称L1-范数回归是稳健的。我不得不说我并不完全同意。只要它们不是影响点(x 空间中的差异),它就可以抵抗 y 方向上的大偏差。即使是一个有影响力的异常值,它也可能被任意地搞砸。这里有一个例子

由于(在某些特定情况下)您通常不能保证没有高度影响的观察结果,因此我不会称 L1 回归稳健。


绘图的R代码:

 fi <- function(x,i=0) abs(x-i)
 f <- function(x) fi(x,1)+fi(x,3)
 plot(f,-1,5,ylim=c(0,6),col="blue",lwd=2)
 curve(fi(x,1),-1,5,lty=3,col="dimgrey",add=TRUE)
 curve(fi(x,3),-1,5,lty=3,col="dimgrey",add=TRUE)

最小化 L2 损失对应于计算算术平均值,这是明确的,而最小化 L1 损失对应于计算中位数,如果中位数计算中包含偶数个元素,则中位数是不明确的(请参阅集中趋势:变分问题的解决方案)。