http://www.chioka.in/differences-between-l1-and-l2-as-loss-function-and-regularization/
如果你看这篇文章的顶部,作者提到 L2 范数有一个唯一的解决方案,而 L1 范数可能有很多解决方案。我从正则化的角度理解这一点,而不是在损失函数中使用 L1 范数或 L2 范数。
如果您查看标量 x(x^2 和 |x|)的函数图,您可以很容易地看到两者都有一个唯一的解决方案。
http://www.chioka.in/differences-between-l1-and-l2-as-loss-function-and-regularization/
如果你看这篇文章的顶部,作者提到 L2 范数有一个唯一的解决方案,而 L1 范数可能有很多解决方案。我从正则化的角度理解这一点,而不是在损失函数中使用 L1 范数或 L2 范数。
如果您查看标量 x(x^2 和 |x|)的函数图,您可以很容易地看到两者都有一个唯一的解决方案。
让我们考虑一个最简单的可能说明的一维问题。(高维情况具有相似的属性。)
虽然两者和每个都有一个唯一的最小值,(具有不同 x 偏移的绝对值函数的总和)通常不会。考虑和:
(注意,尽管 x 轴上有标签,但这实际上是; 我应该修改标签,但我会保持原样)
在更高维度中,您可以使用-规范。这里有一个拟合线的例子。
二次和仍然是二次的,所以会有一个独特的解决方案。在更高维度(例如多元回归)中,二次问题可能不会自动具有唯一的最小值——您可能具有多重共线性,导致参数空间中损失的负数出现低维脊;这与这里提出的问题有些不同。
一个警告。您链接到的页面声称-范数回归是稳健的。我不得不说我并不完全同意。只要它们不是影响点(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 损失对应于计算中位数,如果中位数计算中包含偶数个元素,则中位数是不明确的(请参阅集中趋势:变分问题的解决方案)。