理解机器学习/深度学习的正则化Regularization概念

——通过防止过拟合来优化预测模型

目录

前言

正文

 L2正则化或岭回归

这是如何实现的?

改变λ值所带来的影响

如何选择lambda的值?

多维数据集

L1 Regularization or LASSO regression

改变lambda的效果

Lasso回归和岭回归之间另一个有趣的区别

Lasso回归如何帮助特征选择?

结论

写在最后


前言

        最近看论文突然发现自己一直没太明白一些机器学习/深度学习里的基础知识点,比如本篇文章要说的在ML/DL论文以及公式里经常出现的正则化Regularization,于是找了找外网,搬运到这里,作为自己的笔记,以后可以回顾回顾,同时,计划新开一个专栏,写一些深度学习的概念知识等。欢迎关注、点赞,您的关注,点赞就是对我最大的鼓励与鞭策。原文链接见文末,英语水平好的小伙伴想直接看原文的话可以跳到文末。


正文

        在训练机器学习模型时,一个主要方面是评估模型是否过度拟合数据(Overfitting)。过度拟合通常发生在模型试图拟合所有数据点时,模型在训练过程中捕获噪声数据,从而导致模型开发的不准确。

        机器学习模型的性能可以通过损失函数来评估。通常,成本函数由实际值和预测值之差的平方和表示。

此处 “ y “ 表示真实数据 “ ŷ “ 表示模型预测数据​​​​​

         这也被称为“残差平方和”或“误差平方和”。在训练时,预测模型试图以最小化损失函数的方式拟合数据。

        当模型通过所有数据点时,它开始过度拟合。在这种情况下,虽然损失函数的值等于零,但考虑了数据集中噪声数据的模型并不代表实际函数。在这种情况下,根据训练数据计算的误差较小。然而,从测试数据来看,误差仍然很大。

         本质上来说,一个模型通过使用高度复杂的曲线来过度拟合数据,这些曲线具有大自由度的项,每个项对应的系数为其提供权重。

         我们可以从方程中清楚地观察到曲线逐渐增长的复杂度。

         从上图我们可以看出,与训练误差相比,对于更高的自由度来说,测试误差较大。

        正则化Regularization)是一个可以防止机器学习算法过度拟合数据集的概念。正则化通过在损失函数中引入惩罚项(Penalizing term)来实现这一点,该惩罚项为复杂曲线指定了更高的惩罚。基本上有两种类型的正则化技术:

        1. L1 Regularization or LASSO regression(L1正则化或LASSO正则化)

        2. L2 Regularization or Ridge regression (L2正则化或岭回归)

        (注:后文称L1正则化为Lasso回归或Lasso正则化,L2正则化为岭回归

        让我们首先了解L2正则化或岭回归。


 L2正则化或岭回归

        岭回归的损失函数如下所示:(平方误差和+𝜆 * 系数²

        这里𝜆 是一个超参数,决定了惩罚的严重程度。它的值可以从0到无穷大不等。可以观察到,当它的值为零时,惩罚项不再影响损失函数的值,因此损失函数就退化成误差平方和。 

        为了理解惩罚项(Penalty Item)的重要性,让我们深入研究一个例子。

        假设我们仅根据“误差平方和”来评估模型的性能,我们得到下图左侧的曲线。

         如前所述,惩罚项不再影响损失函数的值。因此,我们得到了同样的过拟合曲线。然而,当lambda的值增加时,我们会得到一条更简单的曲线,如上图右侧的图所示。

        对比两个模型的均方误差,我们发现,对于过拟合曲线,训练集上的误差最小,但对于更简单的曲线,测试集上的误差显著下降。因此,通过简化曲线,我们在训练集中引入了一些误差,但这使得我们可以获得泛化性更好的模型。

        需要强调的一点是,通过改变lambda的值并将复杂曲线转换为简单曲线,我们处理的仍然是相同的15次多项式模型。虽然高达15度的项仍然存在于简单模型的方程中,但模型的复杂度有所降低。


这是如何实现的?

        答案在于惩罚机制本身。让我们再看看损失函数。

        Lambda是决定处罚严重程度的超参数。随着惩罚值的增加,系数的值会缩小,以使损失函数最小化。由于这些系数还充当多项式项的权重,因此缩小这些系数将减少分配给它们的权重,并最终减少其影响。因此,对于上面的例子,分配给更高次多项式项的系数已经缩小到了这些项值不再像以前那样严重地影响模型的程度,因此我们获得了一条简单的曲线。

        在确定了lambda的最优值后,我们将其应用到模型中,得到下面的曲线。


改变λ值所带来的影响

        

         我们观察到,随着lambda值的增加,模型变得更加简单,直到逐渐平行于x轴。换句话说,对于很高的lambda值,我们得到一个非常有偏见的模型。


如何选择lambda的值?

        这个问题让我们陷入两难。对于非常低的lambda值,将获得过拟合曲线,而对于非常高的lambda值,将获得欠拟合或高偏见(biased)模型。那么,怎样才能获得最佳的λ值呢?

        答案是交叉验证。通常,10倍交叉验证可以帮助我们确定最佳λ值。


多维数据集

        假设我们要尝试预测动物的实际大小。假设这个尺寸取决于它的体重和年龄。在这种情况下,我们模型的功能可以表示为:(以防万一,还是解释一下intercept是截距,slope是斜率

         由于尺寸取决于多种功能,损失可通过以下公式计算:

         如果我们的训练集中的数据点数量有限,岭回归可以通过减少方差,降低模型对“训练数据”分布的敏感性,从而降低曲线对噪声的敏感性,进而改善从数据中做出的预测。


L1 Regularization or LASSO regression

        LASSO 表示 Least Absolute Shrinkage and Selection Operator,即最小绝对收缩和选择操作符。

        Lasso回归的损失函数表示为:

         与岭回归类似,lambda是一个超参数,它决定了惩罚的严重程度。损失函数的不同之处在于,岭回归取斜率的平方,Lasso回归取斜率的绝对值。


改变lambda的效果

        随着lambda值的增加,系数的值将接近0,直到值最终为0。注意,在岭回归中,当λ增加时,系数的值会缩小,直到模型逐渐平行于x轴。在Lasso回归中,对于较大的λ值,模型实际上将与x轴平行。为了理解这一点,让我们举个栗子。

        假设动物的大小由以下等式给出:

        Lasso回归的工作方式是保留最相关的特征,同时缩小其他特征。 

        上面等式的损失函数可以表示为:

        在上面的例子中,“体重”和“食物卡路里含量”与体型最相关,而“星座”和“风速”最不相关。因此,“coeff1”和“coeff2”将缩小一点,而“coeff3”和“coeff4”将一直缩小到零。因此,我们只剩下等式:

        由于Lasso回归可以从方程中排除不重要的变量,因此在减少包含大量无用变量的模型中的方差方面,Lasso回归略优于岭回归。换句话说,Lasso回归有助于特征选择。相比之下,当大多数变量都有用时,岭回归往往表现得更好一些。


Lasso回归和岭回归之间另一个有趣的区别

        如前所述,随着岭回归中λ值的继续增加,模型曲线将变得更平坦,直到逐渐平行于x轴。为了理解这一点,简单起见,我们将参考线性回归模型。

        图中的点代表数据点,线代表回归模型。因为这是一条直线,所以它有一个斜率和一个y截距。随着λ值的增加,线性回归模型的斜率将不断减小。当λ值较大时,我们观察一下下面这个回归模型的曲线。

        虽然看起来这条线平行于x轴,但实际上,这个线性模型的斜率值略大于零。

        通过下图可以直观地观察到这种现象。x轴表示模型的斜率,y轴表示模型的损失函数值。左侧是一系列λ值。

        曲线中的蓝点代表模型损失函数的最小值。随着lambda值的增加,岭回归模型的损失函数的最低值不断接近斜率为0时的最低值,但最低值从不与零重合。

        相比之下,在Lasso回归模型中,随着λ值的增加,我们观察到一个类似的趋势,即损失函数的最低值逐渐向零的斜率值移动。然而,在较大的lambda值的情况下,当斜率值与零重合时,损失函数达到最低值。特别是对于λ值分别为40、60和80的时,我们观察到图中斜率值为零时有一个明显的转折点,这也是λ值为80的代价函数的最低值。

        因此,对于较大的λ值,Lasso回归模型的斜率可以等于零。


Lasso回归如何帮助特征选择?

        让我们看看每种正则化技术的损失函数。

        对Lasso回归模型:

        对岭回归模型:

        Lasso回归可以解释为求解一个方程,其中系数的模的和小于或等于常数“c”。类似地,岭回归可以解释为求解一个方程,其中系数的平方和小于等于常数“c”。

        假设我们的模型包含两个特征来预测某个实体,并且这些特征的系数由β1β2给出。

        在这种情况下,岭回归可以表示为:

        类似地,Lasso回归可以表示为:

         岭回归方程类似于圆的方程,因此约束区域位于圆的周长内和周长上,Lasso回归方程类似于钻石的方程,约束区域位于圆的周长内和周长上。

        下图显示了这些公式。约束区域由浅蓝色区域表示,而红色椭圆表示“误差平方和”的轮廓。在任何特定的给定轮廓中,“误差平方和”的值都是相同的。轮廓距中心越远,“误差平方和”的值越大。

图源: An Introduction to Statistical Learning by Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshiran

        如果“c”的值足够大,约束区域将包含由β(hat)表示的轮廓中心,因此岭回归和Lasso回归的值将与“误差平方和”的最小值相同。这与lambda=0的情况相对应。

        岭回归和Lasso回归的系数估计由轮廓接触约束区域的第一个点给出。由于岭回归具有圆形约束区域,接触点通常不会出现在轴上。因此,系数估计值大多非零。

        然而,由于Lasso回归约束区域的角突出,因此等高线在轴上与约束区域相交的可能性更大。在这种情况下,其中一个系数的值将等于零。在更高维的空间中,我们有两个以上的特征,许多系数估计可能同时等于零。


结论

        正则化是防止模型过拟合的有效技术。它允许我们在不大幅增加偏见(bias)的情况下减少模型中的方差。这种方法允许我们开发一个更通用的模型,即使数据集中只有几个数据点可用。

        岭回归有助于缩小确定模型的参数或特征已知的模型系数。相比之下,Lasso回归可以有效地从模型方程中排除不重要的变量。换句话说,Lasso回归有助于特征选择。

        总的来说,这是一项重要的技术,可以大大提高我们模型的性能。


写在最后

        第一次写翻译文章,差不多花了一个下午的时间,如果对你有帮助的话,点个赞或者收藏吧,您的点赞收藏就是对我最大的鼓励和鞭策。下面是原文链接,感兴趣的小伙伴可以看看,但需要科学上网。


原文传送门https://towardsdatascience.com/understanding-regularization-in-machine-learning-d7dd0729dde5

        

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值