【问题标题】:Data split in train, validation and test in subject independent 10-fold cross validation?在主题独立的 10 倍交叉验证中训练、验证和测试中的数据拆分?
【发布时间】:2019-05-18 10:34:37
【问题描述】:

我正在研究情绪分析。该领域的最新论文执行独立于主题的 k 折交叉验证。但我还没有看到任何使用验证集的论文。他们只提到训练集和测试集。例如,在 10 次交叉验证中,整个数据集分为 10 个主题独立集(sub1 将只出现在一个集中而不出现在另一个集中)。如果我们只在训练和测试中划分数据集,那么超参数将如何调整。由于我的 val 准确度在变化(1%-4%),而训练准确度达到 99.99%,最终准确度是多少。

【问题讨论】:

    标签: dataset cross-validation hyperparameters train-test-split


    【解决方案1】:

    交叉验证是创建验证集并针对它进行训练的过程。您可以通过在交叉验证期间监控验证指标来调整超参数。如果你的验证准确率在 1-4% 之间,而你的训练准确率接近完美,那么你的模型过度拟合(很多)。有很多方法可以对抗过度拟合,但其中很多都是特定于模型的,所以我d 需要更多信息才能进一步提供帮助。

    【讨论】:

    • 没有。我是说我在每个时期的验证准确率之间的差异几乎是 1%-4%。例如,纪元 79 val_acc = 85% 和纪元 80 val_acc = 89%。您说“您可以通过在交叉验证期间监控验证指标来调整超参数”,但我没有测试集。在不使用任何测试集的情况下使用 val set 调整参数是不是错了。
    • 您需要创建一个测试集,将其排除在交叉验证之外。验证集是在交叉验证期间自动创建的,因此如果您在开始时将数据分成两部分,其中之一将是您的测试集。
    • 所以你是说,如果我有 100 个科目。然后90训练10测试。 90 套将进一步用于交叉验证。如果有 10 个交叉验证,那么交叉验证中的每个集合将有 9 个主题。 9*9 训练和 9 次验证。我理解对了吗?
    • 这基本上是正确的。一个常见的例子是 33/33/33 拆分。在此示例中,您将完全排除 33 个测试对象。 67 个主题将被发送到交叉验证,其中将创建 10 个折叠(比如 50/50 拆分)。在这种情况下,每个折叠将有 33 个训练主题和 33 个验证主题。这些验证主题的指标通常用于超参数调整。
    • 感谢清晰的图片。我不确定我是否正确。但是主题独立 10 交叉验证的想法是在测试中对每个主题进行一次处理。但根据你的建议,我的测试集是固定的。
    猜你喜欢
    • 2020-12-15
    • 2018-12-07
    • 2021-09-17
    • 1970-01-01
    • 2021-03-04
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    相关资源
    最近更新 更多