我不明白为什么在成本函数中加上lambda与theta平方和的乘积会减少数据集中的过拟合。能有人解释一下吗?
回答:
想象一下两个极端情况:
- 你不需要学习任何东西 ==> 你需要0个参数来学习(这是欠拟合的一个极端情况)。
- 你想记住你看到的所有东西(在训练集中) ==> 你需要大量的参数来记住所有东西(这是过拟合的一个极端情况)
真正的训练应该在这两个极端情况之间进行,以实现良好的泛化。良好的泛化有助于在未见过的测试数据上获得更现实的预测。
当你试图最小化成本函数时,你是在惩罚机器在训练集上的每个错误预测。为了克服这种惩罚,大多数情况下比达到真正的泛化更容易,机器会倾向于记住训练中的所有内容,这样它就能得到更低的损失,受到的惩罚也更少。当你提供一个复杂的网络时(具有大量的训练参数,也就是说当W很大时),这种情况很容易发生。
为了防止机器使用这种技巧,我们强迫机器降低成本,但同时我们也规定它不能使用非常大的一组参数。这是进行正则化的一种方式。