分享

一文清晰理解机器学习的正则化方法

 天承办公室 2024-03-28 发布于北京

训练机器学习模型的一个重要方面是避免过拟合。如果模型过拟合,其准确度会较低。这是因为您的模型过于努力地捕捉训练数据集中的噪声。所谓噪声是指那些并不真正代表数据真实属性的数据点,而是随机事件,比如安全帽识别项目,若训练数据集的安全帽图片大部分都包含坦克,那么安全帽模型会将无关属性的坦克关联起来。学习这样的数据点会使您的模型更加灵活,但也存在过拟合的风险。

平衡偏差和方差的概念有助于理解过拟合现象。可参考链接一文清晰搞懂机器学习模型的偏差和方差

避免过拟合的一种方法是使用交叉验证,它有助于估计测试集上的误差,并确定哪些参数最适合您的模型。

交叉验证可参考链接一文清晰搞懂机器学习的交叉验证算法

这篇文章将重点介绍一种技术,它有助于避免过拟合并提高模型的可解释性。

正则化

这是一种回归形式,将系数估计通过约束/正则化或向零收缩。换句话说,这种技术抑制了学习更复杂或灵活的模型,以避免过拟合的风险。

线性回归的简单关系如下所示。这里Y代表了学到的因变量,β代表了不同变量或预测器(X)的系数估计。

拟合过程涉及一个损失函数,称为残差平方和或RSS。选择系数的方法是使此损失函数最小化。

现在,这将根据您的训练数据调整系数。如果训练数据中有噪音,那么估计的系数就不能很好地推广到未来的数据。这就是正则化发挥作用的地方,它将这些学习到的估计收缩或正则化到零。

岭回归(Ridge Regression)

岭回归是一种线性回归的变体,它通过增加收缩量修改残差平方和(RSS)。现在,系数是通过最小化这个函数来估计的。在这里,λ是一个调整参数,它决定了我们要惩罚模型复杂度的程度。模型复杂度的增加通过其系数的增加来表示,如果我们想要最小化上述函数,那么这些系数就需要很小。这就是岭回归技术防止系数过高的方法。此外,请注意,我们收缩了每个变量与响应的估计关联,除了截距 β0,这个截距是当 xi1 = xi2 = …= xip = 0 时响应的平均值的度量。

当 λ = 0 时,惩罚项没有影响,岭回归产生的估计值将等于最小二乘法。然而,当 λ→∞ 时,收缩惩罚的影响增大,岭回归系数估计将接近零。可以看出,选择合适的 λ 值至关重要。交叉验证在这方面非常有用。这种方法产生的系数估计也被称为L2范数。

标准最小二乘法产生的系数是尺度不变的,即如果我们将每个输入乘以 c,那么相应的系数将按照1/c的因子缩放。因此,无论预测变量如何缩放,预测变量与系数的乘积(Xjβj)保持不变。然而,岭回归不是这种情况,因此,在执行岭回归之前,我们需要标准化预测变量或将预测变量调整到相同的尺度。用于执行此操作的公式如下所示。

Lasson回归

Lasso是另一种变体,它最小化了上述函数。很明显,这种变体与岭回归的不同之处仅在于惩罚项。它使用|βj|(模数)而不是β的平方作为惩罚。在统计学中,这被称为L1范数。

让我们从不同的角度来看待上述方法。岭回归可以被看作是解方程,其中系数的平方之和小于或等于s。而Lasso可以被看作是一个方程,其中系数的模之和小于或等于s。这里,s是每个收缩因子λ的常数值。这些方程也被称为约束函数。

考虑一个给定问题中有2个参数。根据上述公式,岭回归可以表示为β1² + β2² ≤ s。这意味着岭回归系数在所有满足β1² + β2² ≤ s的点上具有最小的RSS(损失函数)。

类似地,对于Lasso,方程变为|β1|+|β2|≤ s。这意味着Lasso系数在所有满足|β1|+|β2|≤ s的点上具有最小的RSS(损失函数)。

下图描述了这些方程。

图片

上图显示了lasso(左侧)和岭回归(右侧)的约束函数(绿色区域),以及RSS(红色椭圆)的轮廓。椭圆上的点共享相同的RSS值。对于非常大的s值,绿色区域将包含椭圆的中心,使得两种回归技术的系数估计等于最小二乘估计。但是,在上图中情况并非如此。在这种情况下,lasso和岭回归系数估计是通过椭圆首次接触约束区域的点给出的。由于岭回归具有圆形约束而没有尖锐的点,因此这种交点通常不会出现在坐标轴上,因此岭回归系数估计通常是非零的。然而,lasso约束在每个轴上都有尖角,因此椭圆通常会在轴上与约束区域相交。当这种情况发生时,其中一个系数将等于零。在更高维度(参数远远大于2的情况下),许多系数估计可能同时等于零。

这突显了岭回归的明显缺点,即模型的可解释性。它会将最不重要的预测变量的系数收缩得非常接近于零。但它永远不会使它们完全为零。换句话说,最终模型将包含所有的预测变量。然而,在Lasso的情况下,L1惩罚的作用是当调节参数λ足够大时,强制一些系数估计值恰好等于零。因此,Lasso方法也执行变量选择,并且被认为会生成稀疏模型。

正则化实现了什么

标准的最小二乘模型往往具有一定的方差,即该模型在与其训练数据不同的数据集上泛化能力不佳。正则化可以显著降低模型的方差,而不会在很大程度上增加其偏差。因此,上述正则化技术中使用的调节参数λ控制着偏差和方差的影响。随着λ的增加,它降低了系数的值,从而降低了方差。在某个程度上,λ的增加是有益的,因为它只是减少了方差(从而避免了过拟合),而没有丢失数据中的任何重要属性。但是在某个值之后,模型开始丢失重要的属性,导致模型出现偏差,从而出现欠拟合。因此,λ的值应该仔细选择。

这就是您需要了解的所有基础知识,以开始使用正则化。这是一种有用的技术,可以帮助提高回归模型的准确性。一个流行的用于实现这些算法的库是Scikit-Learn。它有一个出色的API,可以使用几行Python代码让您的模型运行起来。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多