L1与L2损失函数和正则化的区别
本⽂翻译⾃⽂章:,如有翻译不当之处,欢迎拍砖,谢谢~
在机器学习实践中,你也许需要在神秘的L1和L2中做出选择。通常的两个决策为:1) L1范数 vs L2范数的损失函数; 2) L1正则化 vs L2正则化。
作为损失函数
L1范数损失函数,也被称为最⼩绝对值偏差(LAD),最⼩绝对值误差(LAE)。总的说来,它是把⽬标值(Y i)与估计值(f(x i))的绝对差值的总和(S)最⼩化:
S=
n
∑
i=1|Y i−f(x i)|.
L2范数损失函数,也被称为最⼩平⽅误差(LSE)。总的来说,它是把⽬标值(Y i)与估计值(f(x i))
的差值的平⽅和(S)最⼩化:
正则化的直观理解S=
n
∑
i=1Y i−f(x i)2.
L1范数与L2范数作为损失函数的区别能快速地总结如下:
L2损失函数L1损失函数
不是⾮常的鲁棒(robust)鲁棒
稳定解不稳定解
总是⼀个解可能多个解
鲁棒性(robustness),根据,被解释为:
因为与最⼩平⽅相⽐,最⼩绝对值偏差⽅法的鲁棒性更好,因此,它在许多场合都有应⽤。最⼩绝对值偏差之所以是鲁棒的,是因为它能处理数据中的异常值。这或许在那些异常值可能被安全地和有效地忽略的研究中很有⽤。如果需要考虑任⼀或全部的异常值,那么最⼩绝对值偏差是更好的选择。
从直观上说,因为L2范数将误差平⽅化(如果误差⼤于1,则误差会放⼤很多),模型的误差会⽐L1范数来得⼤( e vs e^2 ),因此模型会对这个样本更加敏感,这就需要调整模型来最⼩化误差。如果这个样本是⼀个异常值,模型就需要调整以适应单个的异常值,这会牺牲许多其它正常的样本,因为这些正常样本的误差⽐这单个的异常值的误差⼩。
稳定性,根据,被解释为:
最⼩绝对值偏差⽅法的不稳定性意味着,对于数据集的⼀个⼩的⽔平⽅向的波动,回归线也许会跳跃很⼤。在⼀些数据结构(data
configurations)上,该⽅法有许多连续解;但是,对数据集的⼀个微⼩移动,就会跳过某个数据结构在⼀定区域内的许多连续解。(The
method has continuous solutions for some data configurations; however, by moving a datum a small amount, one could “jump past” a
configuration which has multiple solutions that span a region. )在跳过这个区域内的解后,最⼩绝对值偏差线可能会⽐之前的线有更⼤的倾斜。
相反地,最⼩平⽅法的解是稳定的,因为对于⼀个数据点的任何微⼩波动,回归线总是只会发⽣轻微移动;也就说,回归参数是数据集的连续函数。
下⾯的图是⽤真实数据和真实拟合模型⽣成的:
()
这⾥使⽤的基本模型为梯度提升回归(GradientBoostingRegressor),使⽤L1范数和L2范数作为损失函数。绿线和红⾊分别代表了模型使⽤L1范数与L2范数作为损失函数时的情形。实线代表了训练的模型中不含有异常值(橙⾊)的情形,虚线代表了训练的模型中含有异常值(橙⾊)的情形。
我缓慢地将这个异常值从左向右移动,使得它在中间时不那么异常,⽽在左右两边时更加异常。当这个异常值不那么异常时(在中间的情形),在拟合直线的时候,L2范数的变动较⼩,⽽L1范数的表动较⼤。
当这个异常值更加异常(上左位置,下右位置,它们离左、右两边更加远)时,这两个范数都有⼤的变动,但是再⼀次地,L1范数总体上⽐L2范数变动更⼤。
通过数据可视化,我们能够对这两个损失函数的稳定性有更好的认知。
作为正规化
在机器学习中,正规化是防⽌过拟合的⼀种重要技巧。从数学上讲,它会增加⼀个正则项,防⽌系数拟合得过好以⾄于过拟合。L1与L2的区别只在于,L2是权重的平⽅和,⽽L1就是权重的和。如下:
最⼩平⽅损失函数的L1正则化:
最⼩平⽅损失函数的L2正则化:
它们的性质的区别能快速地总结如下:
L2正则化L1正则化
计算效率⾼(因为有解析解)在⾮稀疏情形下计算效率低
⾮稀疏输出稀疏输出
⽆特征选择内置特征选择
解的唯⼀性是⼀个更简单的性质,但需要⼀点想象。⾸先,看下图:
绿⾊的线(L2范数)是唯⼀的最短的路径,⽽红⾊、蓝⾊、黄⾊线条(L1范数)都是同⼀路径,长度⼀样(12)。可以将其扩展⾄n-维的情形。这就是为什么L2范数有唯⼀解⽽L1并不是。
内置特征选择是L1范数被经常提及的有⽤的性质,⽽L2范数并不具备。这是L1范数的⾃然结果,它趋向于产⽣稀疏的系数(在后⾯会解释)。假设模型有100个系数,但是仅仅只有其中的10个是⾮零的,这实际上是说“其余的90个系数在预测⽬标值时都是⽆⽤的”。L2范数产⽣⾮稀疏的系数,因此它不具备这个性质。
稀疏性指的是⼀个矩阵(或向量)中只有少数的项是⾮零的。L1范数具备性质:产⽣许多0或⾮常⼩的系数和少量⼤的系数。
计算效率。L1范数没有⼀个解析解,但是L2范数有。这就允许L2范数在计算上能⾼效地计算。然⽽,L1范数的解具备稀疏性,这就允许它可以使⽤稀疏算法,以使得计算更加⾼效。
Processing math: 100%
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论