Hi,大家好,我是半亩花海。接着上次的准确率、精确率、召回率、F1值继续更新《白话机器学习的数学》这本书的学习笔记,在此分享回归中的正则化(含过拟合、惩罚)相关评估原理。本章的基于前几节已建立的模型进行评估知识的学习,欢迎大家交流学习!
目录
一、过拟合
之前我们提到过的模型只能拟合训练数据的状态被称为过拟合(Overfitting)。记得在学习回归的时候,过度增加函数 的次数会导致过拟合。过拟合不止在回归时出现,在分类时也经常发生,我们要时常留意它。
避免过拟合的方法大致有如下三种:
- 增加全部训练数据的数量
- 使用简单的模型
- 正则化
首先,重要的是增加全部训练数据的数量。之前我也讲过,机器学习是从数据中学习的,所以数据最重要。另外,使用更简单的模型也有助于防止过拟合。
二、正则化
1. 正则化的方法
还记得我们在讲解回归的时候提到的目标函数吗?详见如下面的文章《机器学习 | 回归算法原理——最小二乘法-优快云博客》等内容。
我们要向这个目标函数增加下面这样的正则化项。
那么现在的 则变成如下表达式。
我们要对这个新的目标函数进行最小化,这种方法就称为正则化。
式中, 为参数的个数,不过一般来说不对
应用正则化。所以仔细看会发现
的取值是从 1 开始的。也就是说,假如预测函数的表达式为
,那么
就意味着正则化的对象参数为
和
(
这种只有参数的项称为偏置项,一般不对它进行正则化)。
是决定正则化项影响程度的正的常数。这个值需要我们自己来定。
2. 正则化的效果
光看表达式可能不容易理解。我们结合图来想象一下。首先把目标函数分成两个部分。
是本来就有的目标函数项,
是正则化项。
和
相加之后就是新的目标函数,所以我们实际地把这两个函数的图形画出来,加起来看看。不过参数太多就画不出图来了,所以这里我们只关注
。而且为了更加易懂,先不考虑
。
我们先从 开始画起,不用太在意形状是否精确。在讲回归的时候,我们说过这个目标函数开口向上,还记得吗?所以,我们假设它的形状如下所示。
从图中我们可以大致看出最小值是在 附近的。
从这个目标函数在没有正则化项时的形状来看, 附近是最小值。接下来是
,它就相当于
,所以
是过原点的简单二次函数。
实际的目标函数是这两个函数之和 ,我们来画一下它的图形。顺便考虑一下最小值在哪里。把
各点上的
和
的高相加,然后用线把它们相连即可,如下图所示。
从图中我们可以看出来最小值是 ,与加正则化项之前的
相比,
更趋向 0,这便是正则化的效果。由此可见,正则化可以防止参数变得过大,有助于参数接近较小的值。虽然我们只考虑了
,但其他
参数的情况也是类似的。
当然,参数的值变小,意味着该参数的影响也会相应地变小。比如,有下面这样的一个预测函数 ,我们假定它是一个简单的二次方程。
极端一点,假设 ,这个表达式就从二次变为一次了,这就意味着本来是曲线的预测函数变为直线,如下图所示。
这正是通过减小不需要的参数的影响,将复杂模型替换为简单模型来防止过拟合的方式。
三、惩罚
为了防止参数的影响过大,在训练时要对参数施加一些惩罚。比如上面提到的 就是可以控制正则化惩罚的强度。
比如令 ,那就相当于不使用正则化。
越大,正则化的惩罚也就越严厉。