为什么正则化可以起到对模型容量进行控制_「机器学习速成」正则化:降低模型的复杂度以减少过拟合...

本文介绍了正则化在机器学习中的作用,通过降低模型复杂度来减少过拟合。讨论了泛化曲线、正则化策略如早停法,并详细阐述了L2正则化,其损失函数包括模型复杂度的惩罚项。选择合适的λ值对于平衡模型简化和训练数据拟合至关重要。
摘要由CSDN通过智能技术生成

大家好,今天我们学习【机器学习速成】之 正则化:降低模型的复杂度以减少过拟合。

我们 马上学三点

  1. 泛化曲线,
  2. 降低模型的复杂度
  3. L2 正则化的损失函数

大家可以点击下面的“ 了解更多 ”,或搜索“ 马上学123 ”,在线观看PPT讲义。

泛化曲线

我们之前已经讨论过 如何让训练损失降至最低, 也就是获取正确的样本

今天,我们要讨论的是正则化, 也就是不要过于信赖样本, 这是确保机器学习效果的一个关键因素。

如图泛化曲线, 该曲线显示的是训练集和验证集 相对于训练迭代次数的损失。

0909321c34501b2e2c7932a3c66ffb2a.png

泛化曲线

从图中可以看出, 随着迭代次数的增加, 蓝色的训练集损失逐渐减少, 最终会在某种程度上收敛于低端。 但红线的测试集损失开始上升。

事实上,红线才是我们真正要关注的, 尽管我们在对训练样本进行训练, 但我们想要泛化到新的样本, 也就是我们希望在测试集上的损失控制在较低的范围。

如何抑制测试集损失上升

那么如何抑制红线的测试集损失上升呢?

该图说明模型与训练集中的数据过拟合了。 我们可以通过正则化来避免过拟合

正则化有很多不同的策略:

  • 其中一种策略是早停法(Early Stopping), 也就是训练中计算模型在测试集上的表现, 当模型在测试集上的表现开始下降的时候, 停止训练,这样就能避免继续训练导致过拟合的问题。
  • 这是一种常用策略, 尽量抵达红色测试集曲线的底端, 但实际操作起来可能有些困难。

其他正则化策略 包括尝试添加模型复杂度惩罚项, 这就是我们接下来要讲的。

降低模型的复杂度

目前,我们训练仅专注于一个重要方面, 也就是输入正确的训练样本, 最大程度地最小化损失, 也就是经验风险最小化为目标

e6b574e3afe67853a12911fb5628b493.png

经验风险最小化

现在我们要引入第二项以对模型复杂度进行惩罚。

我们以最小化损失和复杂度为目标,这称为结构风险最小化

72e265b5158e31a19d1583832325901d.png

结构风险最小化

现在,我们的训练优化算法是一个由两项内容组成的函数:

  • 一个是损失项,用于衡量模型与数据的拟合度,
  • 另一个是正则化项,用于衡量模型复杂度。

如何衡量模型复杂度呢?

那么我们如何衡量模型复杂度呢?

我们可以采用多种方法, 一种常见的策略是尽量选择较小的权重, 也就是使参数小到几乎可以让我们忽略, 同时我们仍能获取正确的训练样本

这里将重点探讨L2正则化, 模型复杂度= 权重的平方和, 在这种正则化策略中, 我们会对权重的平方和进行惩罚。

我们用L2 正则化公式来量化复杂度, 该公式将正则化项定义为所有特征权重的平方和

94b385fc870617cd55b62a2700686553.png

L2 正则化公式

在使用L2正则化时, 模型的确会关注训练数据, 但会尽量确保最后的权重不会超过所需的大小

L2 正则化的损失函数

我们再以数学方式总结一下:

4572f771c3d314a95c80ce08ccb74274.png

L2 正则化的损失函数

目前,我们在训练优化方面添加了两项:

  • 第一项是训练损失。 我们希望获取正确的样本。 可以看出,L损失项取决于训练数据。
  • 现在, 我们在模型复杂度方面引入了第二项。 您会注意到,第二项与数据无关, 它只是要简化模型

您会发现这两项通过lambda实现了平衡。 这是一个系数, 代表我们对获取正确样本 与对简化模型的关注程度之比。

lambda的选择和平衡

lambda的选择其实取决于具体情况:

  • 如果您有大量的训练数据, 训练数据和测试数据看起来一致, 并且统计情况呈现独立同分布, 那么您可能不需要进行多少正则化
  • 如果您的训练数据不多, 或者训练数据与测试数据有所不同, 那么您可能需要进行大量正则化。 您可能需要利用交叉验证, 或使用单独的测试集进行调整。

选择 lambda 值时, 目标是在简单化训练数据拟合之间达到适当的平衡

  • 如果您的 lambda 值过高, 则模型会非常简单,但是您将面临数据欠拟合的风险。
  • 如果您的 lambda 值过低, 则模型会比较复杂,并且您将面临数据过拟合的风险。
  • 理想的 lambda 值生成的模型可以很好地泛化到以前未见过的新数据

总结:

  • 我们要获取正确的样本,让损失降至最低;也要进行正则化,不要过于信赖样本
  • 经验风险最小化:旨在减少训练误差
  • 结构风险最小化:旨在减少训练误差,同时平衡复杂度。
  • L2 正则化的损失函数: 第一项用来训练损失 第二项用来简化模型

这里讲了三点,关键词有哪几个?

提问!除了L2可以衡量模型复杂度,还有其它方法吗?

欢迎回复评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值