什么是机器学习中的正则化?

1. 引言

在机器学习领域中,相关模型可能会在训练过程中变得过拟合和欠拟合。为了防止这种情况的发生,我们在机器学习中使用正则化操作来适当地让模型拟合在我们的测试集上。一般来说,正则化操作通过降低过拟合和欠拟合的可能性来帮助大家获得最佳模型。

在本文中,我们将了解什么是正则化,正则化的类型。此外,我们将讨论偏差、方差、欠拟合和过拟合等相关概念。

闲话少说,我们直接开始吧!

2. 偏差和方差

Bias和Variance分别从两个方面来描述我们学习到的模型与真实模型之间的差距。

二者的定义如下:

  • Bias是用所有可能的训练数据集训练出的所有模型的输出的平均值与真实模型的输出值之间的差异。
  • Variance是不同的训练数据集训练出的模型输出值之间的差异。

Bias(偏差)降低了模型对单个数据点的敏感性,并增加了数据的泛化性,模型对孤立数据点的敏感度降低;由于所需的功能不那么复杂,因此还可以减少训练时间。高偏差表示假定目标函数更可靠。有时,这会导致模型拟合不足。

Variance(方差)是机器学习中由于模型对数据集中微小变化的敏感性而发生的一种错误。由于存在显著变化,算法将对训练集中的噪声和异常值进行建模。过拟合是最常用于描述这一点的术语。在新数据集上进行评估时,在这种情况下,模型无法提供准确的预测,因为它本质上学习了每个数据点。

一个相对平衡的模型将具有低偏差和低方差,而高偏差和高方差将导致欠拟合和过拟合。

3. 欠拟合

当模型由于没有正确学习训练数据中的模式而无法正确地泛化到新数据时,就会发生欠拟合。在训练数据上,欠拟合模型表现不佳,并做出错误的预测。当存在高偏差和低方差时,就会发生欠拟合。

4. 过拟合

当一个模型在训练数据上表现得非常好,但在测试数据上表现不佳时,它被称为过拟合(新数据)。在这种情况下,机器学习模型因为拟合到训练数据中的噪声,这会对模型在测试数据上的表现产生负面影响。低偏差和高方差可能导致过拟合。

5. 正则化概念

术语"正则化"描述了校准机器学习模型的方法,以减少调整后的损失函数并避免过拟合或欠拟合。

我们可以使用正则化将机器学习模型正确地拟合到特定的测试集上,从而降低测试集中的错误。

6. L1正则化

相比于岭回归,L1正则化主要通过在损失函数中增加一项惩罚项来实现,惩罚项等于所有系数的绝对值之和。

如下所示:

在Lasso回归模型中,以类似于岭回归的方式通过增加回归系数的绝对值这一惩罚项来实现。此外,L1正则化在提高线性回归模型的精度方面有着良好的表现。同时,由于L1正则化对所有参数的惩罚力度都一样,可以让一部分权重变为零,因此产生稀疏模型,能够去除某些特征(权重为0则等效于去除)。

7. L2正则化

L2正则化也是通过在损失函数中增加一项惩罚项来实现,惩罚项等于所有系数的平方和。

如下所示:一般而言,当数据表现出多重共线性(自变量高度相关)时,它被认为是一种采用的方法。尽管多重共线性中的最小二乘估计值 (OLS) 是无偏的,但它们的巨大方差会导致观测值与实际值相差很大。L2通过在一定程度上降低了回归估计值的误差。它通常使用收缩参数来解决多重共线性问题。L2正则化减少了权重的固定比例,使权重平滑。

8. 总结

经过上述分析,对本文中相关正则化的知识进行总结如下:

  • L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;
  • L2正则化可以防止模型过拟合,在一定程度上,L1也可以防止过拟合,提升模型的泛化能力;
  • L1(拉格朗日)正则假设参数的先验分布是Laplace分布,可以保证模型的稀疏性,也就是某些参数等于0;
  • L2(岭回归)正则假设参数的先验分布是Gaussian分布,可以保证模型的稳定性,也就是参数的值不会太大或太小。

在实际使用中,如果特征是高维稀疏的,则使用L1正则;如果特征是低维稠密的,则使用L2正则。

相关推荐
Scc_hy7 分钟前
强化学习_Paper_1988_Learning to predict by the methods of temporal differences
人工智能·深度学习·算法
袁煦丞10 分钟前
【亲测】1.5万搞定DeepSeek满血版!本地部署避坑指南+内网穿透黑科技揭秘
人工智能·程序员·远程工作
大模型真好玩12 分钟前
理论+代码一文带你深入浅出MCP:人工智能大模型与外部世界交互的革命性突破
人工智能·python·mcp
_一条咸鱼_14 分钟前
LangChain 入门到精通
机器学习
遇码25 分钟前
大语言模型开发框架——LangChain
人工智能·语言模型·langchain·llm·大模型开发·智能体
在狂风暴雨中奔跑25 分钟前
使用AI开发Android界面
android·人工智能
飞哥数智坊27 分钟前
AI编程实战:30分钟实现Web 3D船舶航行效果
人工智能·three.js
誉鏐30 分钟前
从零开始设计Transformer模型(1/2)——剥离RNN,保留Attention
人工智能·深度学习·transformer
Ai野生菌31 分钟前
工具介绍 | SafeLLMDeploy教程来了 保护本地LLM安全部署
网络·人工智能·安全·大模型·llm
契合qht53_shine37 分钟前
OpenCV 从入门到精通(day_05)
人工智能·opencv·计算机视觉