过拟合是什么意思?避免过度拟合的一些方法!

过拟合是什么意思?

过度拟合是指模型在学习数据上学习得很好。当模型在训练数据中学习细节和噪声时,就会发生过度拟合,从而对模型在新数据上的性能产生负面影响。换句话说,如果你的模型在训练数据上表现良好,但在看不见的测试数据上表现不佳,这意味着你的模型过度拟合。

当模型具有低偏差和高方差时,会发生监督机器学习算法中的过度拟合。

为什么如此重要?

当模型只过拟合训练数据时,意味着模型不是学习数据的总体趋势机器学习防止过拟合,而是学习训练数据的噪声。这样的模型将在训练数据上表现良好,几乎没有错误。然而,当使用这个模型来预测看不见的数据时,它的表现会很差。因此,避免过度拟合非常重要。

避免过拟合的一些方法是:

训练测试拆分

避免过度拟合的最重要方法是使用单独的数据进行训练和测试。我更喜欢使用 sklearn 的 train_test_split 函数将数据集分成两个随机组。train_test_split 是 Sklearn 模型选择中的一个函数,它将数据数组分成两个子集:用于训练数据和用于测试数据。使用此功能,您无需手动对数据集进行分区。默认情况下,Sklearn train_test_split 会随机划分这两个子集。

降低模型复杂性

数据中过多的特征也会导致模型过拟合。减少数据集中的特征数量可以帮助模型。可以通过使用不同的特征选择技术来减少特征的数量。

正则化(学习算法)

正则化还可以帮助模型过拟合。机器学习中的正则化是将约束、正则化或缩小系数估计的参数正则化为零的过程。换句话说,这种技术不鼓励学习更复杂或更灵活的模型,避免了过度拟合的风险。Lasso 和 Ridge 等模型使用正则化来避免过度拟合训练数据。

交叉验证

在交叉验证中,数据被分成 k 个子集。现在,重复保持方法 k 次,以便每次将 k 个子集之一用作测试/验证集,而将其他 k-1 个子集放在一起形成训练集。对所有 k 次试验的误差估计进行平均,以获得模型的整体有效性。可以看出,每个数据点在验证集中只出现一次,在训练集中出现k-1次。当我们拟合大部分数据时,这显着减少了偏差,并且也显着减少了方差机器学习防止过拟合,因为大部分数据也用于验证集。交换训练集和测试集也增加了这种方法的有效性。

谢谢阅读。

(本文由文舒奇武翻译自Jonathan Burley的文章《如何避免过拟合》,转载请注明出处,原文链接:)

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论