一、过拟合
正则化(regularization),单词有规则化、调整的意思。正则化的目的是用来解决过拟合问题的,其本质就是调整、限制损失函数的参数。所以我们先理解什么是过拟合,先看几幅图(图片来源:斯坦福大学机器学习第七课“正则化”):
图1 欠拟合
图2 合适的拟合
图3 过拟合
图3就是过拟合,这是线性回归例子,再看关于逻辑回归的几幅图(图片来源:斯坦福大学机器学习第七课“正则化”):
图4 欠拟合
图5 合适的拟合
图6 过拟合
我们可以理解到,过拟合就是模型对训练数据的过多置信,非常完美地拟合上了数据,但是有可能因为噪声干扰,泛化能力较差,解决这个问题两个方式:减少特征数量;正则化。
二、范数
L1正则化L2正则化的L1、L2就是范数,所以有必须简单介绍一下范数。
向量的范数一般定义为:
所以,L0:就是向量中所有非零元素的个数;L1:就是向量中元素绝对值之和;L2就是向量间的距离,L2在机器学习中用的较多,即:
三、正则化
正则化可以防止过拟合。怎么理解呢?我们看图-7这个函数图,系数越大图形越陡,所以系数的大小会影响我们模型的拟合度。如果我们将图3和图6的曲线系数减小,可以达到消除过拟合的目的。
图7
正则化后的损失函数:,我们的目的是让损失函数的值变小。所以“正则化”和“带约束的目标函数”是一回事。看到式子,这不就是利用拉格朗日乘子法来解决带条件的极值问题吗?
例如:,
误差:,
(L1正则化)
(L2正则化)
机器学习的过程是一个通过修改参数的值来减小误差的过程,上例中非线性越强的参数(如)会修改的越多,因为使用非线性越强的参数就会使得图形更加曲折去拟合数据。下图中假设只有两个参数、,
图8
蓝色圆圈代表,每条蓝线上的值相等,圆心处时误差值最小的地方,红色圆圈(菱形)是正则化方程,其值为额外误差,即惩罚度,红色线上的值都一样,所以蓝线红线交点处两个误差和最小,也是、正则化后的解。(L1的解不稳定)
为了控制正则化的强度,加入参数,,通过交叉验证来选择比较好的值。系数项 表示惩罚项变化力度的大小,值越大,函数图象越平滑,我们主要关注大小,当时,随着正则化力度变大,系数大部分为0,上图中的分量为0,所以L1正则化用于特征之间有关联的情况,经过L1正则化后,系数更容易为0,部分特征会消失掉,起到特征选择的作用;时,系数会变小,但不会减小到0,L2更适用于特征之间没有关联的情况,因为在实际中我们不清楚哪些特征可以被省略掉,哪些特征必须有,所以我们一般优先适用L2正则化。
L1对应的算法API:套索回归(Lasso)
L2对应的算法API:岭回归(Ridge)
版权声明:本文为博主wdd_100原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/wdd_100/article/details/122643647