L1正则化和L2正则化

一、过拟合正则化是用来解决过拟合问题的,所以我们先理解什么是过拟合,先看几幅图(图片来源:斯坦福大学机器学习第七课“正则化”): 图-1 欠拟合 图-2合适的拟合 图-3 过拟合图-3就是过拟合,这是线性回归例子,再看关于逻辑回归的几幅图(图片来源:斯坦福大学机器学习第七课“正则化”)…

一、过拟合

正则化(regularization),单词有规则化、调整的意思。正则化的目的是用来解决过拟合问题的,其本质就是调整、限制损失函数的参数。所以我们先理解什么是过拟合,先看几幅图(图片来源:斯坦福大学机器学习第七课“正则化”):

L1正则化和L2正则化

                                图1 欠拟合

L1正则化和L2正则化

                             图2 合适的拟合

L1正则化和L2正则化

                                    图3 过拟合

图3就是过拟合,这是线性回归例子,再看关于逻辑回归的几幅图(图片来源:斯坦福大学机器学习第七课“正则化”):

L1正则化和L2正则化

                图4 欠拟合

L1正则化和L2正则化

                          图5 合适的拟合

 L1正则化和L2正则化

                           图6 过拟合

我们可以理解到,过拟合就是模型对训练数据的过多置信,非常完美地拟合上了数据,但是有可能因为噪声干扰,泛化能力较差,解决这个问题两个方式:减少特征数量;正则化。

二、范数

L1正则化L2正则化的L1、L2就是范数,所以有必须简单介绍一下范数。

向量的范数一般定义为:L1正则化和L2正则化

所以,L0:就是向量中所有非零元素的个数;L1:就是向量中元素绝对值之和;L2就是向量间的距离,L2在机器学习中用的较多,即:\left \| x \right \|_{2}:= \sqrt{\sum_{i=1}^{n}\left | x_{i} \right |^{2}}

三、正则化

正则化可以防止过拟合。怎么理解呢?我们看图-7这个函数图,系数越大图形越陡,所以系数的大小会影响我们模型的拟合度。如果我们将图3和图6的曲线系数减小,可以达到消除过拟合的目的。

L1正则化和L2正则化

                        图7

        正则化后的损失函数:\bar{J}\left ( \theta \right )=J\left ( \theta \right )+\lambda \Omega \left ( \theta \right ),我们的目的是让损失函数的值变小。所以“正则化”和“带约束的目标函数”是一回事。看到式子\bar{J}\left ( \theta \right )=J\left ( \theta \right )+\lambda \Omega \left ( \theta \right ),这不就是利用拉格朗日乘子法来解决带条件的极值问题吗?

 例如:y_{\theta }\left ( x \right )=\theta _{1}+\theta _{2}x+\theta _{3}x^{2}+\theta _{4}x^{3}

误差:J\left ( \theta \right )=\left [ y_{\theta }\left ( x \right )-y \right ]^{2}

\bar{J}\left ( \theta \right )=\left [ y_{\theta }\left ( x \right )-y \right ]^{2}+\lambda \left [ \left | \theta _{1} \right | +\left | \theta _{2} \right |+\left | \theta _{3} \right |+\theta _{4}\right ](L1正则化)

\bar{J}\left ( \theta \right )=\left [ y_{\theta }\left ( x \right )-y \right ]^{2}+\lambda \left [ \theta _{1}^{2}+\theta _{2}^{2}+\theta _{3}^{2}+\theta _{4}^{2} \right ](L2正则化)

机器学习的过程是一个通过修改参数\theta的值来减小误差的过程,上例中非线性越强的参数(如\theta _{4})会修改的越多,因为使用非线性越强的参数就会使得图形更加曲折去拟合数据。下图中假设只有两个参数\omega _{1}\omega _{2}

L1正则化和L2正则化

                                     图8

蓝色圆圈代表J\left ( \theta \right ),每条蓝线上的值相等,圆心处时误差值最小的地方,红色圆圈(菱形)是正则化方程,其值为额外误差,即惩罚度,红色线上的值都一样,所以蓝线红线交点处两个误差和最小,也是\omega _{1}\omega _{2}正则化后的解。(L1的解不稳定)

        为了控制正则化的强度,加入参数\lambda\bar{J}\left ( \theta \right )=J\left ( \theta \right )+\lambda \Omega \left ( \theta \right ),通过交叉验证来选择比较好的\lambda值。系数项\lambda 表示惩罚项变化力度的大小,值越大,函数图象越平滑,我们主要关注\Omega \left ( \theta \right )大小,当\Omega \left ( \theta \right )=\parallel \theta \parallel _{1}时,随着正则化力度变大,系数大部分为0,上图中w^{\star }\omega _{2}分量为0,所以L1正则化用于特征之间有关联的情况,经过L1正则化后,系数更容易为0,部分特征会消失掉,起到特征选择的作用;\Omega \left ( \theta \right )=\parallel \theta \parallel _{2}时,系数会变小,但不会减小到0,L2更适用于特征之间没有关联的情况,因为在实际中我们不清楚哪些特征可以被省略掉,哪些特征必须有,所以我们一般优先适用L2正则化。

       L1对应的算法API:套索回归(Lasso)

       L2对应的算法API:岭回归(Ridge)

版权声明:本文为博主wdd_100原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/wdd_100/article/details/122643647

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年1月23日 上午11:47
下一篇 2022年1月23日 下午12:03

相关推荐