MachineLearning—L1、L2正则化介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_14959801/article/details/81056025

防止过拟合,也是为了限制模型的复杂度,避免将噪声也学习进去,通常考虑如下方法来限制惩罚模型:

0范数,向量中非零元素的个数最小,|W|0

1范数(L1正则),为绝对值之和最小。

2范数(L2正则),就是通常意义上的模。

正则化Regularization,常用的机器学习损失函数后面都会多一个项,这个惩罚项目的是为了对损失函数中的某些参数做一些限制(防止过拟合有时也会从减小W=(w0,w1 ,w2 ,w3,...wN )中w的个数方向考虑)。对于线性回归,使用L1正则的模型叫做Lasso回归,使用L2正则的模型叫做Ridge岭回归,L1、L2正则化项分别如下所示:

注意L1正则化是指权值向量w中每个元素的绝对值之和,L2正则化是指权值向量w中每个元素的平方和再求开方,同时每个正则化项前面会有一个α系数。L1正则化可以产生稀疏权值矩阵,并一定程度防止过拟合,通常机器学习任务中特征的维度会比较高,尤其在文本和图像领域,特征维度可能高达百万,特征的选择比较困难。代入稀疏矩阵之后,大量的特征权值为零,这样就可以只关注那些对模型结果有显著影响的参数就可以了。L2正则化可以防止过拟合。

L1正则为什么可以得到稀疏权值矩阵:

其中J0是原始的损失函数,后面是L1正则化项,α是正则化系数,可以通过梯度下降法求出损失函数最小值, ,此时我们要求出L约束下,J的最小值。假设有二维情况w1,w2,L=|w1|+|w2|

其中等高线就是J0,L就是方框,两者的交汇点就是最优解,此时(w1,w2)=(0,w),可以想象当特征的维度很高时,会有很多这样的顶点,与J0相交的概率很大,如此L1正则化便可以产生稀疏矩阵。

为什么L2正则可以防止过拟合

L2正则化中,J0与L相交时w1、w2等于零的几率很小,所以L2正则化不具有稀疏性。

在拟合模型的过程中,一般模型的权值越小越好,因为如果模型的参数比较大,则数据有一点变化其结果都会发生较大改变,而当权值都比较小时,模型的抗扰动能力就比较大,同时避免过拟合想象一下如果权值比较大,即使当前模型拟合的训练数据集很好,当面临测试集时,数据的改变导致预测结果大大改变,这就是过拟合的表现)。那么L2正则是如何让权值都比较小的呢

梯度下降权值更新公式:

α是学习率,加上L2正则后

λ是正则化系数

可以发现每一次迭代θj都要乘以一个小于1的因子,从而使得θj不断的减小。

L2正则是指向量各元素的平方和然后求平方根。我们让L2的正则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1正则不同,它不会让它等于0,而是接近于0,这里是有很大的区别,所以大家比起L1正则,更偏向L2正则。

参考资料:https://blog.csdn.net/jinping_shi/article/details/52433975

猜你喜欢

转载自blog.csdn.net/qq_14959801/article/details/81056025