machine-learning - 机器学习中的过度拟合减少

标签 machine-learning artificial-intelligence

伙计们,我正在通过 andrew ng 的 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/

关于machine-learning - 机器学习中的过度拟合减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49159828/

相关文章:

python - sklearn.model_selection.train_test_split 示例中的 "random-state"是什么?

python - 线性回归 : How to find the distance between the points and the prediction line?

machine-learning - TensorFlow:是否有计算和更新前 k 个准确率的指标?

artificial-intelligence - 神经网络不收敛

algorithm - 在机器学习中使用图论的建议?

deep-learning - 在训练过程中如何修改人工神经元之间的连接?

c# - 为什么在使用 Accord.NET 运行 BackPropagation 时出现 OutofRangeException?

machine-learning - 为什么 TensorFlow 的文档将 softmax 的输入称为 "logits"?

api - 您知道评估英语发音的API服务吗?

text - 创建智能文本生成器