机器学习——L1 L2 范数 —>L1 L2正则化

1、L1范数和L2范数是机器学习和数据分析中经常使用的两种范数,它们之间存在多个方面的区别。

以下是关于L1范数和L2范数区别的详细解释:

一、定义差异

  • L1范数 :也被称为曼哈顿范数,是向量元素的绝对值之和。对于一个n维向量x,其L1范数表示为:||x||₁ = |x₁| + |x₂| + ... + |xₙ|
  • L2范数 :也被称为欧几里得范数,是向量元素的平方和的平方根。对于一个n维向量x,其L2范数表示为:||x||₂ = √(x₁² + x₂² + ... + xₙ²)。

二、几何特性

  • 在二维空间中,L1范数的单位球是一个菱形,而L2范数的单位球是一个圆。这种几何形状的差异反映了两种范数在向量空间中的不同约束方式。

三、稀疏性

  • L1范数 :由于其性质,L1范数在某些优化问题中会导致解向量的稀疏性,即解的许多组件为零。这种特性使得L1范数常用于****特征选择,因为它可以自动将不重要的特征系数置为零
  • L2范数 :不具有稀疏性特点。L2范数倾向于选择更多的特征,但这些特征的系数都会接近于零,而不是完全为零。

四、对异常值的敏感度

  • L1范数 :相对于L2范数,L1范数对异常值更具有鲁棒性。因为L1范数是通过绝对值求和来计算的,所以它对大数值的敏感度较低。
  • L2范数 :对异常值更敏感。由于L2范数计算了每个元素的平方,因此大数值的元素会对其产生更大的影响。

五、求解难度

  • L1范数 :在某些情况下,L1范数的优化问题可能更难求解,尤其是在高维空间中。然而,L1范数的稀疏性特点使得它在某些特定问题(如特征选择)中具有优势。
  • L2范数 :通常更容易求解,尤其是当使用像梯度下降这样的优化算法时。L2范数的平滑性使得其优化问题更加稳定。

六、在正则化中的应用

  • L1正则化 :常用于Lasso回归中,可以导致特征选择,即让某些特征的系数变为零。这有助于降低模型的复杂度并提高模型的解释性
  • L2正则化 :常用于Ridge回归中,可以防止过拟合,提升模型的泛化能力。L2正则化通过约束模型参数的平方和来限制模型的复杂度,使得模型的参数不会过大。

2、正则化是一种防止机器学习模型过拟合的技术,常见的正则化方法包括L1正则化、L2正则化和dropout。

以下是它们的详细介绍:

L1 正则化(Lasso Regularization)

L1 正则化通过损失函数中加入权重绝对值的和来约束模型的复杂度,其公式为:

其中,λ 是正则化强度的超参数,wi​ 是模型的权重。

特点:

  • 能够产生稀疏权重矩阵,适合特征选择
  • 某些权重可能会变成零,从而将不重要的特征移除。

L2 正则化(Ridge Regularization)

L2 正则化通过损失函数中加入权重平方和来约束模型的复杂度,其公式为:

特点:

  • 更倾向于使权重变小,但不会将权重变成零
  • 保持所有特征的影响,但减少过拟合

Dropout

Dropout 是一种在训练过程中随机忽略部分神经元的技术,以减少过拟合。训练时,每个神经元以一定的概率p被忽略(即设置为零),而在测试时,所有神经元都被使用,但其输出按比例缩放,以反映训练时的忽略。

特点:

  • 强化模型的鲁棒性,因为模型不能依赖某个特定的神经元。
  • 可以有效减少过拟合,尤其在深度神经网络中。

公式: 假设有一个隐藏层向量 h,dropout后的向量 h~ 可以表示为:

其中,r 是一个与 h 维度相同的向量,每个元素以概率 p 为 0,概率 1−p 为 1。

实施方法:

这种方法有效地减少了模型对某个特定神经元的依赖,从而提高了模型的泛化能力

比较和应用场景

  • L1 正则化 适用于希望得到稀疏模型(即少数重要特征,特征选择)的情况。
  • L2 正则化 适用于希望保持所有特征的贡献,同时避免权重过大,适用于大多数线性模型。
  • Dropout 适用于深度神经网络,特别是在大规模数据集上的应用,可以显著减少过拟合。

在实际应用中,常常会结合使用这些正则化方法,例如在神经网络中同时使用L2正则化和dropout。

相关推荐
Robot2515 分钟前
浅谈,华为切入具身智能赛道
人工智能
只怕自己不够好10 分钟前
OpenCV 图像运算全解析:加法、位运算(与、异或)在图像处理中的奇妙应用
图像处理·人工智能·opencv
果冻人工智能1 小时前
2025 年将颠覆商业的 8 大 AI 应用场景
人工智能·ai员工
代码不行的搬运工1 小时前
神经网络12-Time-Series Transformer (TST)模型
人工智能·神经网络·transformer
石小石Orz1 小时前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
罗小罗同学1 小时前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤1 小时前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭2 小时前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~2 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码2 小时前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow