2017-04-08 84 views
0

当L1范数VS L2-范数成本函数我有一些数据,其中的输入和输出值是标准化的,所以Y和Y_pred之间的差总是要去非常小。标准化

我觉得L2-范数将惩罚更少的模型比L1范数,因为平方一个数字,是0和1之间将总是导致较低数量。

所以我的问题是,当输入和输出都标准化时,使用l2范数可以吗?

回答

1

没关系。

基本想法/动机是如何惩罚偏差。 L1范数不关心异常值,而L2范数则严重惩罚这些异常值。这是基本的区别,你会发现很多优点和缺点,即使在维基百科上。

因此,在关于你的问题,如果它是有道理的,当预期的偏差较小:肯定的是,它的行为是相同的。

让我们做出了榜样:

y_real 1.0  ||| y_pred 0.8  ||| y_pred 0.6 
l1:    |0.2| = 0.2   |0.4| = 0.4 => 2x times more error! 
l2:    0.2^2 = 0.04  0.4^2 = 0.16 => 4x times more error! 

你看,基本思路仍然适用!

+0

感谢您的回复。如果我们使用L2范数,那么由于误差较低,在梯度下降的每次迭代中,权重将只能非常轻微地被修正。那么,它应该需要更多的训练迭代才能收敛到最佳的权重no? –

+0

这不仅仅是一个重量的梯度大小。这更多关于联合梯度。在地方(只有这个重量)与全球(所有这些重量如何表现)环境中都有这种想法。更进一步:学习率调整总是重要的!所以一般的答案(还有很多需要谈论的内容,但是讨论这个问题太过复杂了;平滑和合作)是:它取决于问题。 – sascha