机器学习中的过拟合减少

Posted

技术标签:

【中文标题】机器学习中的过拟合减少【英文标题】:overfitting reduction in machine learning 【发布时间】:2018-08-16 00:32:11 【问题描述】:

伙计们,我正在通过 andrew ng 的 coursera 进行机器学习。在其中一场讲座中,他描述了我们如何通过修改成本函数来防止过度拟合。我的问题是在下面的代码中,我们最后添加了两个项并减少了 theta3 和 theta4 的值。那么为什么我们要精确地添加这些项,我的意思是我们可以只减少 theta3 和 theta4 的值,它会减少我们的成本函数的值。

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

【问题讨论】:

【参考方案1】:

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

因此,正则化(在这种情况下为岭回归)允许我们保留所有参数,但确保它们的大小尽可能小,以确保拟合参数的总体成本函数输出较低。由于参数的幅度较小,这会强制执行更简单的预测模型,以便它可以更好地泛化到模型以前从未见过的新输入。

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

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

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

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

【讨论】:

以上是关于机器学习中的过拟合减少的主要内容,如果未能解决你的问题,请参考以下文章

机器学习算法中的过拟合与欠拟合

机器学习中的过拟合与正则化详解

什么是机器学习中的过拟合和噪声?

机器学习模型的过拟合,欠拟合以及评估方法

范数在机器学习的应用

机器学习中常见的过拟合解决方法