机器学习中结构风险最小化的正则化项用途及原理详解

在这里插入图片描述

一、概述

数学和工程领域,正则(Regularize)意味着使某物标准化或规范化,在机器学习领域指的是使模型的行为更加规范化,以避免极端或过于复杂的模型。

正则化项(Regularization Term)是机器学习模型中用于控制模型复杂度的一个附加项。正则化项的作用是使模型“正常化”或“规范化”,避免模型变得过于复杂或异常。它被添加到损失函数中,以防止模型过拟合(即在训练数据上表现很好,但在未见过的数据上表现差)。正则化通过限制模型参数的大小,减少了模型对训练数据的拟合程度,这有助于防止模型学习到数据中的随机噪声,从而提高模型在新数据上的表现。

常见的正则化:

  • L1 正则化(也称为 Lasso 正则化): ∥ w ∥ 1 ∥w∥_1 w1是 L1 范数,即权重的绝对值之和。
  • L2 正则化(也称为 Ridge 正则化): ∥ w ∥ 2 2 ∥w∥_2^2 w22是 L2 范数,即权重的平方和的平方根。
  • 弹性网(Elastic Net)正则化:结合了 L1 和 L2 正则化,形式为 α ∥ w ∥ 1 + ( 1 − α ) ∥ w ∥ 2 2 α∥w∥_1+(1−α)∥w∥_2^2 αw1+(1α)w22,其中 α 是介于 0 到 1 之间的系数。

二、正则化项的作用

正则化项的选择和正则化系数的大小对模型的确认有重要影响,需要根据具体问题和数据集进行调整。

2.1、模型复杂度与参数值的关系

模型的复杂度通常与参数的数量和大小有关:

  • 参数越多模型越复杂,如果模型参数过多,而训练数据有限,模型可能会过度拟合训练数据,即学习到数据中的噪声和异常值,而不是数据的一般规律,这会导致模型在新数据上的泛化能力下降。
  • 较大的参数值可能导致模型对训练数据的小波动过于敏感,从而学习到噪声而非潜在的数据分布。考虑一下线性方程中,权重值越大,模型的输出值受权重影响就越大,从而导致对训练数据的小波动过于敏感

因此简化的模型通常具有更好的泛化能力,因为它们不太倾向于捕捉训练数据中的特定细节,而是学习更普遍的特征。

2.2、正则化的机制

在《机器学习中的模型、策略和算法:https://blog.csdn.net/LaoYuanPython/article/details/141265068》中介绍了:“结构风险最小化(Structural Risk Minimization,SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(Regularization),是在经验风险上加上表示模型复杂度的正则化项(Regularizer)或罚项(Penalty Term):λJ(f)”。

正则化通过向损失函数添加一个与参数大小成比例的惩罚项λJ(f)来工作。这个惩罚项鼓励模型在优化过程中减小参数值,以减少整体的损失。通过限制模型参数的大小,减少了模型对训练数据的拟合程度,这有助于防止模型学习到数据中的随机噪声,从而提高模型在新数据上的表现。

2.3、正则化的原理

正则化项与模型复杂度相关,正则化通过向损失函数添加一个与模型参数大小成比例的惩罚项来工作。这个惩罚项鼓励模型在优化过程中减小参数值,以减少整体的损失。

这是因为在同样的参数下,正则化项会导致结构风险的函数值比经验风险的函数值大(参考《机器学习中的模型、策略和算法:https://blog.csdn.net/LaoYuanPython/article/details/141265068》关于二者的介绍),要尽可能减少正则化项的影响,使得结构风险最小化,就会导致模型的权重参数变小,更多的出现0值或趋近于0值,相当于通过惩罚大的参数值来鼓励模型选择更简单的表示,这有助于提高模型的泛化能力。

正则化项相当于在模型参数上施加了平滑性约束,使模型倾向于选择更平滑的参数值,这在某些情况下可以简化模型的行为:

  • L1正则化(Lasso):在梯度下降或其他优化算法中,L1正则化由于其非光滑性(在零点处不可导),会导致一些权重在更新过程中直接变为零,因此特别容易产生稀疏的权重矩阵,即许多权重参数被驱动到零。这种稀疏性导致模型只使用重要的特征,从而简化了模型的表示;
  • L2正则化(Ridge):L2正则化倾向于使权重参数的值更小,但不会使它们变为零。这有助于控制模型的复杂度,同时保留了所有特征,只是减少了它们的影响力;
  • 偏差-方差权衡:通过正则化,模型可能会引入一些偏差,因为模型不能完美地拟合训练数据。然而,这种偏差的增加通常伴随着方差的减少,从而提高了模型的泛化能力。

正则化系数λ允许控制正则化项的强度,较大的正则化系数会导致更强的简化效果,但也可能过度简化模型,引入欠拟合的风险。

通过这些机制,正则化帮助模型选择一个更简单但仍然有效的参数设置,从而提高了模型在未见过的数据上的预测性能。

三、小结

本文介绍了机器学习中正则化的机制,以及引入正则化可以简化模型和防止过拟合的原理。正则化项相当于在模型参数上施加了平滑性约束,使模型倾向于选择更平滑的参数值,这在某些情况下可以简化模型的行为。正则化系数λ允许控制正则化项的强度,较大的正则化系数会导致更强的简化效果,但也可能过度简化模型,引入欠拟合的风险。通过这些机制,正则化帮助模型选择一个更简单但仍然有效的参数设置,从而提高了模型在未见过的数据上的预测性能。

更多人工智能知识学习请关注专栏《零基础机器学习入门》后续的文章。

更多人工智能知识学习过程中可能遇到的疑难问题及解决办法请关注专栏《机器学习疑难问题集》后续的文章。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值