原理:
模型越复杂,越容易过拟合。
因此,原先以最小化损失(经验风险最小化)为目标:
现在以最小化损失和模型复杂度(结构风险最小化)为目标:
通过降低复杂模型的复杂度来防止过拟合的规则称为正则化。
特点:
L0:计算非零个数,用于产生稀疏性,但是在实际研究中很少用,因为L0范数很难优化求解,是一个NP-hard问题,因此更多情况下我们是使用L1范数
L1:计算绝对值之和,用以产生稀疏性,因为它是L0范式的一个最优凸近似,容易优化求解
L2:计算平方和再开根号,L2范数更多是防止过拟合,并且让优化求解变得稳定很快速(这是因为加入了L2范式之后,满足了强凸)。
L2 Norm对大数的惩罚比小数大! 因为使用L2 Norm求出来的解是比较均匀的,而L1 Norm常常产生稀疏解。
实践中,根据Quaro的data scientist Xavier Amatriain 的经验,实际应用过程中,L1 nrom几乎没有比L2 norm表现好的时候,优先使用L2 norm是比较好的选择。
区别:
L1范数:L1范数在正则化的过程中会趋向于产生少量的特征,而其他的特征都是0(L1会使得参数矩阵变得稀疏)。因此L1不仅可以起到正则化的作用,还可以起到特征选择的作用。
L2范数:L2范数是通过使权重衰减,进而使得特征对于总体的影响减小而起到防止过拟合的作用的。L2的优点在于求解稳定、快速。
参考:
3. 正则化方法:L1和L2 regularization、数据集扩增、dropout