过度拟合减少机器学习

时间:2018-03-07 19:29:07

标签: machine-learning artificial-intelligence

伙计们,我正在通过andrew ng从课程中学习机器。在其中一个讲座中,他描述了如何通过修改成本函数来防止过度拟合。我的问题是在下面的代码中,我们在最后添加了两个术语,并减少了theta3和theta4的值。那么为什么我们要完全添加这些术语,我的意思是我们只能减少theta3和theta4的值,它会降低我们的成本函数的价值。

minθ1/2mΣmi= 1(hθ(x(i)) - y(i))^ 2 + 1000 *(θ3)^ 2 + 1000 *(θ4)^ 2

1 个答案:

答案 0 :(得分:0)

通常,当我们想要拟合模型时,尝试添加尽可能多的功能以尝试查找从要素到预期输出的映射是直观的。添加太多功能,特别是非线性功能可能会使数据过度拟合。

因此,正则化(在这种情况下的脊回归)允许我们保留所有参数,但确保它们的幅度尽可能小,以确保拟合参数的总成本函数输出低。通过较小的参数值,可以实现更简单的预测模型,从而可以更好地推广模型以前从未见过的新输入。

如您所见,您的损失功能现在包含两个元素。第一组术语是标准术语,其中我们最小化预测值和期望值之间的平方误差之和。第二组术语称为正则化术语。它可能看起来很奇怪但它确实有意义。这会将平方参数求和并乘以另一个参数,通常为λ,但在您的情况下,您将其设置为1000.这样做的原因是“惩罚”高值参数的损失函数。从我之前所说的,简单模型比复杂模型更好,通常不会过度拟合。因此,我们需要尽可能地尝试和简化模型。请记住,找到这些参数值的过程是通过梯度下降,并且它是一个迭代过程,以最小化损失函数。通过惩罚参数值,我们添加一个约束以尽可能地减少它们。

因此,λ是一个超参数,应该进行调整。使价值太小将成为过度拟合的征兆。使值过大意味着您要使参数的所有权重都很小,以确保最小化成本函数,这意味着您将缺乏适应性。在成本函数中找到适用于每个平方参数项的正确值需要进行实验并查看成本函数趋势随时间变化的情况。你选择了一个没有收敛得太快的合适平衡,但同时成本函数输出尽可能低。

进一步阅读,这个链接提供了更多关于正则化如何工作的直觉,它涵盖了岭回归和LASSO回归,而不是参数的平方和,它是绝对参数的总和。

https://codingstartups.com/practical-machine-learning-ridge-regression-vs-lasso/