【问题标题】:How can I interpret the RMSE for small dataset?如何解释小数据集的 RMSE?
【发布时间】:2020-02-23 15:43:37
【问题描述】:

我正在训练一个具有 7 个编码(conv、BN、relu、maxpool)和 5 个解码(conv、BN、relu、上采样)层的网络。

输入数据是一个大小为 64*2000 的矩阵,输出是一个 125*256 的矩阵。该网络的目的是解释传感器重新记录的原始数据并预测相应介质中的波速。

我尝试使用 200、2000、6000 数据集训练网络。我同时使用验证(0.1)和测试。无论我的数据集有多大或多小,我都会遇到相同的验证和测试错误,无法预测我期望的属性。我期望 RMSE 为 10-25,我得到 RMSE 为 60-70。 (RMSE 从 1540-1550 开始,这绝对是有道理的,最终会在 60-70 之间停留,使用任意数量的 epochs、batch size 或任何优化器。)

我的期望是,如果我在小数据集上训练我的网络,我的测试数据集上的 RMSE 会比一个大 30 倍的数据集大。我如何解释我在这里观察到的内容?我在学习噪音吗?

【问题讨论】:

    标签: tensorflow deep-learning dataset noise validationerror


    【解决方案1】:

    这是一种过度拟合的情况,因为您在测试阶段的损失太大。它是一个简单的泛化问题。主要问题是损失或 RMSE 的最小化。问题可能是这样的

    1. 模型配置
    2. 数据太少
    3. 层数太少
    4. 优化器和学习率的选择
    5. 图像预处理过程中可能会产生数据噪声

    因此,请尝试尝试优化器、初始化器、正则化,并尝试使用其他指标来判断您的模型。

    【讨论】:

    • 测试阶段的损失不算太大,损失和训练损失差不多(不管我用多少训练数据),而且还是比较高的。我不确定这是否被认为是过度拟合的情况,因为如果我过度拟合,我希望我的网络能够以低误差预测训练数据,但它不会......训练只是冻结在特定的 RMSE 并且不会继续。 (除非我跑了很多个 epoch 然后它过拟合了)
    • 如果您的 RMSE 没有提高,请尝试调整您的模型,尝试优化器、学习率、动量、初始化等其他因素。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2020-08-12
    • 2019-01-25
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多