如何进行数据扩充和训练验证拆分?

机器算法验证 机器学习 分类 交叉验证 数据集 数据增强
2022-02-15 09:18:59

我正在使用机器学习进行图像分类。

假设我有一些训练数据(图像)并将数据拆分为训练和验证集。而且我还想通过随机旋转和噪声注入来增强数据(从原始图像生成新图像)。增强是离线完成的。

哪种是进行数据增强的正确方法?

  1. 首先将数据拆分为训练集和验证集,然后对训练集和验证集进行数据扩充。

  2. 首先将数据拆分为训练集和验证集,然后仅对训练集进行数据扩充。

  3. 首先对数据进行数据扩充,然后将数据拆分为训练集和验证集。

3个回答

首先将数据拆分为训练集和验证集,然后对训练集进行数据扩充。

您使用您的验证集来尝试估计您的方法如何处理真实世界的数据,因此它应该只包含真实世界的数据。添加增强数据不会提高验证的准确性。它充其量只能说明您的方法对数据增强的响应程度,而在最坏的情况下会破坏验证结果和可解释性。

永远不要做 3,因为你会得到泄漏。例如,假设增强是向左移动 1 个像素。如果没有增强意识的分裂,您可能会在训练和验证中获得非常相似的数据样本。

数据增强意味着将外部数据/信息添加到正在分析的现有数据中。

因此,由于整个增强数据将用于机器学习,因此以下过程将更适合:

做数据扩充 --> 拆分数据