正则化如何防止过拟合?

我不明白为什么在成本函数中加上lambda与theta平方和的乘积会减少数据集中的过拟合。能有人解释一下吗?


回答:

想象一下两个极端情况:

  1. 你不需要学习任何东西 ==> 你需要0个参数来学习(这是欠拟合的一个极端情况)。
  2. 你想记住你看到的所有东西(在训练集中) ==> 你需要大量的参数来记住所有东西(这是过拟合的一个极端情况)

真正的训练应该在这两个极端情况之间进行,以实现良好的泛化。良好的泛化有助于在未见过的测试数据上获得更现实的预测。

当你试图最小化成本函数时,你是在惩罚机器在训练集上的每个错误预测。为了克服这种惩罚,大多数情况下比达到真正的泛化更容易,机器会倾向于记住训练中的所有内容,这样它就能得到更低的损失,受到的惩罚也更少。当你提供一个复杂的网络时(具有大量的训练参数,也就是说当W很大时),这种情况很容易发生。

为了防止机器使用这种技巧,我们强迫机器降低成本,但同时我们也规定它不能使用非常大的一组参数。这是进行正则化的一种方式。

Related Posts

神经网络反向传播代码不工作

我需要编写一个简单的由1个输出节点、1个包含3个节点的…

值错误:y 包含先前未见过的标签:

我使用了 决策树分类器,我想将我的 输入 作为 字符串…

使用不平衡数据集进行特征选择时遇到的问题

我正在使用不平衡数据集(54:38:7%)进行特征选择…

广义随机森林/因果森林在Python上的应用

我在寻找Python上的广义随机森林/因果森林算法,但…

如何用PyTorch仅用标量损失来训练神经网络?

假设我们有一个神经网络,我们希望它能根据输入预测三个值…

什么是RNN中间隐藏状态的良好用途?

我已经以三种不同的方式使用了RNN/LSTM: 多对多…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注