深度学习入门到放弃系列教程 06 | 深入浅出的理解L2正则化的数学原理与应用

文摘   2024-11-12 22:57   新加坡  
点击订阅公众号 | 前沿学术成果每日更新               

目录:

  • L2正则化的数据原理

    • 为什么会发生过拟合?

    • L2正则化如何缓解过拟合?

  • L2正则化的数学表达式

    • 线性回归模型的数学表达式

    • 损失函数

    • 引入L2正则化

    • 参数更新规则

    • 矩阵形式表达

    • 重要细节解析

  • L2正则化的作用和使用场合

    • 使用场合

L2正则化的数据原理

在机器学习模型的训练过程中,我们的目标是找到一个函数,使其能够很好地拟合训练数据。然而,如果模型过于复杂,它可能会对训练数据“记忆”过度,导致在新数据上的表现不佳,这种现象称为过拟合

为什么会发生过拟合?

过拟合的主要原因是模型的复杂度太高,相对于可用的训练数据量来说,模型有太多的自由度。例如,在多项式回归中,如果我们使用高次多项式去拟合数据,模型可能会过度弯曲,紧密地通过所有训练点,但在预测新数据时表现糟糕。

L2正则化如何缓解过拟合?

L2正则化通过在损失函数中添加一个惩罚项,限制模型参数的大小,从而简化模型,防止过拟合。这个惩罚项是所有参数的平方和,鼓励模型选择较小的参数值。

直观地说,较小的参数值意味着模型对输入特征的敏感度降低,不会过度依赖某些特征,从而提高模型在新数据上的泛化能力。

L2正则化的数学表达式

线性回归模型的数学表达式

在深入探讨L2正则化之前,首先需要理解线性回归模型的基本数学表达式。

假设我们有一个数据集,包括 个样本,每个样本都有 个特征。第 个样本表示为 ,对应的目标值为

线性回归模型的预测函数(假设函数)为:

其中:

  • 为模型的参数向量。

为了方便表示,我们通常将偏置项 包含在参数向量中,同时在输入特征向量前加上一个常数1。这样,预测函数可以简化为:

其中,扩展后的输入向量为

损失函数

线性回归模型通常使用均方误差(Mean Squared Error, MSE)作为损失函数,定义为:

损失函数衡量了模型预测值与实际目标值之间的差异。我们的目标是找到最优的参数 ,使损失函数 最小。

引入L2正则化

L2正则化通过在损失函数中添加参数平方和的惩罚项,新的损失函数定义为:

注意:

  • 正则化项只对 进行惩罚,不包括偏置项
  • 是正则化参数,用于控制正则化的强度。

完整的损失函数展开为:

参数更新规则

为了最小化正则化后的损失函数 ,我们需要计算其关于参数 的梯度。

对于 (偏置项):

由于 ,所以:

对于 (其他参数):

其中:

因此,总的梯度为:

参数更新公式

使用梯度下降法,参数的更新规则为:

  • 对于

即:

  • 对于

即:

其中:

  • 是学习率,控制每次更新的步长。

矩阵形式表达

为了简化计算,我们可以使用矩阵形式表示上述公式。

  • 定义特征矩阵 的矩阵,其中每一行是一个样本的特征向量,包括偏置项1。
  • 目标向量 的列向量,包含所有样本的目标值。

预测值向量:

损失函数:

其中, 去除偏置项后的参数向量。

梯度向量:

参数更新规则:

重要细节解析

1. 为什么不对偏置项进行正则化?

偏置项 的作用是调整模型的整体预测水平,不影响特征之间的权重关系。对偏置项进行正则化可能会导致模型的预测值整体偏移,降低模型的性能。因此,在L2正则化中,我们通常只对 进行惩罚,不包括偏置项。

2. 正则化参数 的作用

正则化参数 控制了正则化项的权重,对模型的复杂度有直接影响:

  • 时,损失函数退化为普通的均方误差损失函数,没有任何正则化效果。
  • 很大时,模型参数被强制缩小到接近零,可能导致欠拟合。
  • 合适的 值需要通过验证集或交叉验证等方法进行调节,以在防止过拟合和保持模型性能之间取得平衡。

3. L2正则化对梯度下降的影响

在参数更新公式中,正则化项对每个参数 都施加了一个额外的衰减:

这相当于在每次更新时,除了按照梯度方向调整参数外,还额外缩小了参数的值。这种参数的“衰减”可以防止参数变得过大,降低模型的复杂度。

4. 与L1正则化的区别

L2正则化(也称为权重衰减)和L1正则化都是防止过拟合的有效方法,但它们有以下区别:

  • 惩罚形式不同

    • L2正则化惩罚参数的平方和:
    • L1正则化惩罚参数的绝对值和:
  • 参数稀疏性

    • L2正则化会使参数趋向于零,但不等于零。
    • L1正则化可以使一些参数恰好等于零,实现特征选择的效果。
  • 优化难度

    • L2正则化的损失函数是可导的,优化相对简单。
    • L1正则化的损失函数在参数为零的点不可导,优化相对复杂。

通过在损失函数中添加参数平方和的惩罚项,L2正则化有效地限制了模型参数的大小,防止模型过拟合。在具体实现中,需要注意以下几点:

  • 损失函数的修改:添加 项。
  • 偏置项的处理:通常不对偏置项进行正则化。
  • 梯度的计算:在原梯度的基础上,加上 项。
  • 正则化参数的选择:需要通过验证集等方法进行调节。

通过详细的数学推导和对重要细节的解释,我们更深入地理解了L2正则化的原理和在模型训练中的作用。

L2正则化的作用和使用场合

  • 防止过拟合: L2正则化通过惩罚参数的大小,防止模型依赖某些特征过重,从而减少过拟合的风险。

  • 提升模型的泛化能力: 正则化后的模型在未见过的数据上通常表现更好,因为它学到的函数更简单,更能概括数据的本质。

  • 数值稳定性: L2正则化可以提高算法的数值稳定性,防止参数值过大导致的计算问题。

使用场合

  • 线性回归和逻辑回归:在这些模型中,L2正则化常用于防止过拟合。
  • 神经网络:在深度学习中,L2正则化被称为权重衰减,用于简化模型。
  • 高维数据集:当特征数量远大于样本数量时,L2正则化能有效防止模型过于复杂。
文献信息             
:5              

点击“原文链接”,查看论文

               

               

声明:本公众号分享的前沿学术成果来源于各学术网站,不依法享有其所有权。若原作者发现本次分享中的文字及图片涉及侵权,请立刻联系公众号后台或发送邮件,我们将及时修改或删除!         

邮箱:environmodel@sina.com         

若您认为有用,欢迎

Environmodel设为星标,或

点击“在看”或“分享”给他人


Environmodel
Environmodel(环境模型)专注于环境科学与工程领域的建模及模型研究进展,并分享涵盖机器学习、深度学习以及人工智能等相关领域的理论知识、主流工具和Python编程技巧。
 最新文章