我在Coursera上学习由@人名教授的机器学习课程。在其中一节课中,他描述了如何通过修改成本函数来防止过拟合。我的问题是,在下面的代码中,我们在最后添加了两个项,并减少了theta3和theta4的值。那么,为什么我们要添加这些项呢?我是说,我们只减少theta3和theta4的值就可以降低成本函数的值了。
minθ 1/2m∑mi=1(hθ(x(i))−y(i))^2+1000*(θ3)^2+1000*(θ4)^2
回答:
通常,当我们想要拟合一个模型时,直觉上会尽可能多地添加特征,以尝试找到从特征到预期输出的映射。添加过多的特征,尤其是非线性特征,可能会导致数据过拟合。
因此,正则化(在这种情况下是岭回归)允许我们保留所有参数,但确保它们的幅度尽可能小,以确保拟合参数的总体成本函数输出尽可能低。通过减小参数的幅度,这强制执行一个更简单的预测模型,以便它能更好地泛化到模型之前未见过的新输入。
如你所见,你的损失函数现在包括两个元素。第一组项是标准的,我们最小化预测值和预期值之间的平方误差和。第二组项被称为正则化项。这看起来可能很奇怪,但它确实有意义。这是在平方参数上求和,并乘以另一个参数,通常是λ,但在你的情况下你将其设置为1000。之所以这样做,是为了“惩罚”高参数值的损失函数。正如我之前所说,简单模型比复杂模型更好,通常不会过拟合。因此,我们需要尽可能简化模型。请记住,找到这些参数值的过程是通过梯度下降法进行的,这是一个迭代过程,以最小化损失函数。通过惩罚参数值,我们增加了一个约束,尽可能最小化它们。
因此,λ是一个超参数,应该进行调整。值太小会表现出过拟合的症状。值太大会意味着你使所有参数的权重都很小,以确保成本函数最小化,这意味着你会出现欠拟合。找到应用于成本函数中每个平方参数项的正确值需要实验,并观察成本函数随时间的趋势。你选择的正确值应该在不收敛得太快的同时,成本函数输出尽可能低的平衡点上。
作为进一步的阅读,这篇文章提供了更多关于正则化如何工作的直觉,并涵盖了岭回归和LASSO回归,其中不是平方参数的和,而是绝对参数的和。
https://codingstartups.com/practical-machine-learning-ridge-regression-vs-lasso/