训练时监控val_loss

时间:2019-05-15 01:48:37

标签: machine-learning keras monitoring loss-function

我有一个简单的问题,使我突然怀疑我的工作。

如果我只有训练和验证集,那么我是否可以在训练时监视val_loss,否则会增加我训练的偏见。我想在验证集的训练结束时测试我的准确性,但是突然间我在想如果我在训练时正在监视该数据集,那会有问题吗?还是没有?

1 个答案:

答案 0 :(得分:1)

简短的回答-是的,监视验证错误并将其用作决策有关特定算法设置的基础,这会给您的算法带来偏差。详细说明:

1)您修复了任何ML算法的超参数,然后在训练集中对其进行训练。生成的ML算法具有特定的超参数设置过度适合训练集,并且您使用验证集来估计这些超参数在看不见的数据上可以获得的性能

2)但是您显然想要调整超参数以获得最佳性能。您可能正在执行gridsearch或类似的搜索,以使用验证集为此特定算法获得最佳超参数设置。结果您的超参数设置过度适合验证设置。认为这是因为有关验证集的某些信息仍然会通过超参数泄漏到您的模型中

3)结果,您必须执行以下操作:将数据集分为训练集,验证集和测试集。使用训练集进行训练,使用验证集对特定的超参数做出决策。完成(完全完成!)模型的微调后,您必须使用测试集(从未见过的模型)才能估算出战斗模式下的最终性能。