正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。
1 向量范数
对于向量x=[x1,x2,…,xm],常用的范数包括:
1.1 1-范数
∥x∥1=i=1∑m∣xi∣
即向量元素绝对值之和,x到零点的曼哈顿距离。
1.2 2-范数
∥x∥1=i=1∑mxi2
2-范数也称为Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,表示x到零点的欧式距离。
1.3 p-范数
∥x∥p=(i=1∑m∣xi∣p)p1
即向量元素绝对值的p次方和的1/p次幂,表示x到零点的p阶闵氏距离。
1.4 ∞-范数
∥x∥∞=imax∣xi∣
当p趋向于正无穷时,即所有向量元素绝对值中的最大值。
1.5 向量范数效果

2 正则化
当统计模型把随机误差和噪声也考虑进去而不仅仅是考虑数据的基础关联时,就会出现过过拟合。正则化通过添加参数的惩罚项,防止模型对数据过拟合。
θminN1i=1∑NL(yi,fθ(xi))+λΩ(θ)
2.1 L1正则化(套索LASSO)
L1正则化时,对应惩罚项为L1范数:
Ω(θ)=∣∣θ∣∣1=m=1∑M∣θm∣θminN1i=1∑NL(yi,fθ(xi))+λ∥θ∥1
2.2 L2正则化(岭回归Ridge)
L2正则化时,对应惩罚项为L2范数的平方:
Ω(θ)=∣∣θ∣∣22=m=1∑Mθm2θminN1i=1∑NL(yi,fθ(xi))+λ∥θ∥22
2.3 L1、L2正则化的区别

红色的椭圆和蓝色的区域的切点就是目标函数的最优解,如果是圆,则很容易切到圆周的任意一点,但是很难切到坐标轴上,因此没有稀疏。但是如果是菱形或者多边形,则很容易切到坐标轴上,导致W中许多项变成零,因此很容易产生稀疏的结果。
总结
-
L1正则化:它的优良性质是能产生稀疏性,更适用于特征选择。稀疏的解除了计算量上的好处之外,更重要的是更具有“可解释性”。
-
L2正则化:使得模型的解偏向于范数较小的W,通过限制W范数的大小实现了对模型空间的限制,从而在一定程度上避免了过拟合。并不具有产生稀疏解的能力,得到的系数仍然需要数据中的所有特征才能计算预测结果,从计算量上来说并没有得到改观。
- 常用L1、L2正则化,当p<1时,模型进行稀疏性学习。
参考
https://www.jianshu.com/p/c9bb6f89cfcc
https://blog.csdn.net/qq_25847123/article/details/90400678