参考:机器学习中的范数规则化之(一)L0、L1与L2范数
向量中非零元素的个数,即稀疏度,适合稀疏编码,特征选择。
又叫曼哈顿距离或最小绝对误差,向量中各个元素绝对值之和,也叫“稀疏规则算子”。
又叫欧式距离,向量中各元素平方和再开方。
L1 范数相当于给模型参数设置一个拉普拉斯先验分布;L2范数相当于给模型参数设置一个均值为0的高斯先验分布。
通过缩减回归系数避免过拟合问题。
L1 范数(Lasso回归)
1. 特征选择(将某些系数缩减为0)
2. 防止过拟合。
L2 范数(Ridge回归)
1. 规则化,让优化求解变得更稳定快速;
2. 防止过拟合。
在经验风险与模型复杂度之间做平衡(选择二者同时较小的模型),防止过拟合,提高模型泛化能力。
结构风险 = 经验风险 (模型关于训练样本集的平均损失)+ 正则化项
其中lambda为正则化参数
正则化是结构风险最小化策略的实现,通过在经验风险上加上(表示模型复杂度的)正则化项或惩罚项,达到选择经验风险与模型复杂度同时较小模型的目的。(对参数做惩罚,让拟合曲线变得更圆滑,有更强的泛化能力)。
广义上的正则化技术:能够显著减少方差,而不过度增加偏差的策略。
偏差小说明模型对现有数据集拟合得好,误差小,此时模型一般较为复杂,存在过拟合的可能;
方差小说明模型(不太复杂)比较简单,具有较好的泛化能力。
模型Error = Bias(精准度) + Variance(稳定性),反映整个模型的准确度。
Bias: 模型在样本上的输出与真实值间的误差。
Variance: 模型每一次输出结果与输出期望之间的误差。
正则化的作用就是适当的控制模型复杂度,从而使泛化误差曲线取最小值。
L1,L2,扩增数据集,早停,Dropout,集成学习,多任务学习,对抗训练,参数共享等。
其中L1,L2属于对范数做惩罚;Dropout是正则化的一种方法,原理类似bagging。
奥卡姆剃刀原理:在所有可能选择的模型中,我们应该选择能够很好解释已知数据并且十分简单的模型。
NFL(没有免费午餐原理): 在所有问题同等重要的前提下,无论哪种学习算法,它们的期望性能都是相同的。
L0 范数本身是特征选择的最理想方案,但因其很难优化求解(通常是NP难问题)。因此实际中我们使用L1来得到L0的最优凸近似,求取稀疏解。对于L1范数,由于|w|在0处不可导,但为可去间断点,可以通过补充该点的定义解决。
L0和L1正则可以得到稀疏解,而L2不能,且参数优化速度L1快于L2,但L2更容易理解,计算方便(一般不对参数b 进行正则,因为它没有和数据有直接乘法交互)。
稀疏性(sparsity)问题本质上对应了L0范数的优化,这在通常条件下是NP难问题。
LASSO通过L1范数来近似L0范数,是求取稀疏解的重要技术。
L1 会趋向于产生少量的feature,而其他feature都为0;L2则会选择更多的特征,这些特征都会接近于0。当遇到两个对预测有帮助的feature时,L1倾向于选择一个更大的feature,而L2更倾向于把两者结合起来。
让L2范数的正则项最小,可以使w的每个元素都很小,接近于0,但不会像L1那样让它=0,L2相对于L1具有更为平滑的特性,因此在模型预测中往往比L1具有更好地预测特性。
L1 给出的最优解w*更加靠近某些轴,而其它轴为0。所以L1能使得到的参数稀疏化,“可解释性”也好;L2的w*更加靠近原点。
L1、L2常被用来解决过拟合问题,而L1还可以用于特征选择,因为L1会使得较多的参数为0,从而产生稀疏解,将0对应的feature遗弃,进而用来特征选择。
假设只有一个参数w,损失函数为L(w),分别加上L1、L2正则化项后有:
假设L(w)在0处的导数为,即
易知:
当引入L2正则时,代价函数在0处的导数仍是;
而引入L1正则后,代价函数在0处的导数有一个突变,从到,若与异号,则在0处会是一个极小值点。
因此优化时,很可能优化到该极小值点上,即w=0处。