1. 什么是L1 L2?
正则化项,范式,惩罚项是不同学科范畴的学者的不同叫法,具体如下:
- 在机器学习称作正则化;
- 统计学领域称作惩罚项;
- 数学界会称作范数。
L1范数:L1范数就是曼哈顿距离,向量中每个元素绝对值的和
L2范数:L2就是欧式距离,向量元素绝对值的平方和再开平方
2. 在机器学习中L1 L2起到的作用是?
有如下比较普遍的解释:
- L1正则化:可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;
- L2正则化:可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合。
从另一个角度理解:
- L1范数:在正则化的过程中会趋向于产生少量的特征,而其他的特征都是0(L1会使得参数矩阵变得稀疏)。因此L1不仅可以起到正则化的作用,还可以起到特征选择的作用。
- L2范数:L2范数是通过使权重衰减,进而使得特征对于总体的影响减小而起到防止过拟合的作用的。L2的优点在于求解稳定、快速。
备注:L2避免过拟合的原理是:让L2范数的规则项||W||2 尽可能小,可以使得W每个元素都很小,接近于零,但是与L1不同的是,不会等于0;这样得到的模型抗干扰能力强,参数很小时,即使样本数据x发生很大的变化,模型预测值y的变化也会很有限。
3. 正则化项(Regularization)为什么会起到上述作用?
引入一个实际的房屋价钱预测案例作为理解正则化项的背景。
左图,欠拟合(underfitting),也称作High-bias,即对于当前数据集的拟合程度不够,欠拟合的特征是在训练集和测试集上的准确率都不好;
中图,拟合刚好的状态;
右边,过拟合(overfitting),也称作High variance,过拟合对于当前数据拟合得太好了,以至于模型只在当前的数据集上表现良好而在其他数据集上表现就不是那么好,所以过拟合的特征是在训练集上准确率很高而在训练集上表现一般。
解决过拟合主要有两种方法:
1.减少特征数量
2.正则化
因此,自然引入L1与L2范数正则化。
监督学习的过程可以概括为:最小化误差的同时规则化参数。最小化误差是为了让模型拟合训练数据,规则化参数是为了防止过拟合。参数过多会导致模型复杂度上升,产生过拟合,即训练误差很小,但测试误差很大,这和监督学习的目标是相违背的。所以需要采取措施,保证模型尽量简单的基础上,最小化训练误差,使模型具有更好的泛化能力(即测试误差也很小)。
3.1 L1正则化和特征选择
通常使参数稀疏都是用L1范数实现,L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。
L1范数为什么可以实现稀疏呢?
L1范数的表达式如下: