机器学习中的过拟合减少

我在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/

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注