计算机系统应用教程网站

网站首页 > 技术文章 正文

AI实践 100问:训练集、验证集、测试集

btikc 2024-12-16 11:12:03 技术文章 20 ℃ 0 评论

1、训练集、验证集、测试集

在机器学习中,数据通常被分成三个主要部分:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set)。这三个集合各自扮演着不同的角色,共同帮助开发者构建和评估机器学习模型。

  1. 训练集(Training Set)

作用:这是模型学习的主要数据源。训练集用于训练机器学习算法,使其能够学习数据中的模式和特征。

过程:在训练过程中,模型通过调整其内部参数(如权重和偏差)来最小化预测误差。

注意事项:训练集应该足够大且具有代表性,以涵盖模型需要学习的所有重要特征。

  1. 验证集(Validation Set)

作用:验证集用于调整模型参数(如超参数)和选择最佳模型。它提供了一个在训练过程中评估模型性能的平台,但不会直接用于训练模型。

过程:在训练过程中,开发者会定期使用验证集来评估当前模型的性能。如果性能不佳,他们可能会调整超参数或更改模型结构,然后重新训练模型。

注意事项:验证集应该与训练集来自相同的分布,但不应包含训练集中用于训练的具体样本。这有助于确保模型在未见过的数据上也能表现良好。

  1. 测试集(Test Set)

作用:测试集用于最终评估模型的性能。它提供了一个独立的、未参与训练和验证过程的数据集,用于衡量模型在实际应用中的表现。

过程:在模型开发和验证完成后,测试集用于评估模型的最终性能。这些结果通常用于报告模型的准确性、召回率、F1分数等关键指标。

注意事项:测试集应该保持独立和完整,直到模型开发完成并准备好进行最终评估。在测试集上获得的性能指标应该被视为模型性能的最终估计。


2、为什么要分开这三个集合?

分开这三个集合有助于避免过拟合和欠拟合问题,并确保模型的泛化能力。如果只使用训练集来训练和评估模型,那么模型可能会过度拟合训练数据,导致在未见过的数据上表现不佳。验证集提供了一个中间步骤,用于在训练过程中监控和调整模型性能,而测试集则提供了一个独立的评估平台,用于最终衡量模型的泛化能力。

综上所述,训练集、验证集和测试集在机器学习中扮演着至关重要的角色,它们共同构成了模型开发和评估的完整流程。


3、数据集划分方法

  1. 留出法(Hold-out Method)

这是最简单和最常用的数据集划分方法。

将数据集随机划分为训练集、验证集和测试集(对于小规模样本集,常用比例是60%训练集、20%验证集、20%测试集;对于大规模样本集,验证集和测试集的数量足够即可)。

留出法的缺点是只进行了一次划分,结果可能具有偶然性。

  1. 交叉验证法(Cross-Validation Method)

交叉验证法通过将数据集划分为多个不重合的子集(称为“折”),然后进行多次训练和验证来降低偶然性。

常用的交叉验证方法包括K折交叉验证和留一法交叉验证。

K折交叉验证将数据集划分为K个子集,每次使用其中一个子集作为验证集,其余子集作为训练集,重复K次并取平均结果。

留一法交叉验证则是每次只使用一个样本作为验证集,其余样本作为训练集,重复进行直到每个样本都被用作过验证集。

交叉验证法的优点是可以更全面地评估模型性能,缺点是计算成本较高。

  1. 自助法(Bootstrapping Method)

自助法通过有放回地重复采样来生成多个训练集和测试集。

这种方法在数据集较小或难以有效划分时很有用。

但自助法会改变初始数据集的分布,从而引入估计偏差。




— END —

如需人工智能专题学习资料,请后台留言。

《统计学习方法》

《机器学习基础》

《深度学习导论》

《人工智能导论》

《TensorFlow2深度学习》

《Pytorch》

......

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表