1

我是否正确理解对象分类任务中的数据增强只能在训练集上进行?

如果是这样,您如何使用增强数据实现 10 倍交叉验证?每次测试折叠更改(即 10 次)时是否都会创建增强数据?

额外的问题:你能引导我到一个资源,展示如何在 Tensorflow 中做到这一点吗?

4

2 回答 2

3

是的,你的理解是正确的。验证数据可以让您了解模型在真实未见示例(例如测试数据)上的表现。所以你应该保持它真实而不是通过增强来破坏它。

现在进行 10 倍交叉验证:工程考虑开始了。进行增强的计算成本是否很高?也许您可以预先计算增强数据,然后选择原始+增强数据进行训练,选择原始数据进行验证。您是否想要浪费大量的增强数据和/或增强是否容易?即时执行,可能作为从数据集中获取样本的一部分。

我无法帮助您解决 TF 奖金问题,但是有一个很好的例子,可以在 PyTorch 中将所有东西放在一起。

于 2019-03-14T11:06:45.210 回答
0

通常进行数据增强是为了帮助我们的模型更好地概括测试/现实世界的数据。对于许多实际应用,数据分为训练/有效/测试。数据可以在训练和有效数据集中进行扩充。在测试集中进行数据扩充是没有意义的。

对于交叉验证,请检查 sklearn 库中的 kfold 函数,该函数可以对 numpy 数组进行操作。您可以直接在 tensorflow 的 model.fit() 中使用它们的返回值

于 2019-03-14T10:13:36.420 回答