Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 评估CNN训练效果的最佳指标是什么?验证错误或培训损失?_Validation_Tensorflow_Neural Network_Deep Learning_Keras - Fatal编程技术网

Validation 评估CNN训练效果的最佳指标是什么?验证错误或培训损失?

Validation 评估CNN训练效果的最佳指标是什么?验证错误或培训损失?,validation,tensorflow,neural-network,deep-learning,keras,Validation,Tensorflow,Neural Network,Deep Learning,Keras,我想训练一个CNN,但我想使用所有数据训练网络,因此不执行验证。这是个好选择吗?如果我只把训练损失作为提前停止CNN的标准,我是否有可能过度适应CNN 换句话说,在以下选项中,KERAS(例如)中用于提前停车的最佳“监控”参数是什么 early_stopper=EarlyStopping(monitor='train_loss', min_delta=0.0001, patience=20) early_stopper=EarlyStopping(monitor='train_acc', min

我想训练一个CNN,但我想使用所有数据训练网络,因此不执行验证。这是个好选择吗?如果我只把训练损失作为提前停止CNN的标准,我是否有可能过度适应CNN

换句话说,在以下选项中,KERAS(例如)中用于提前停车的最佳“监控”参数是什么

early_stopper=EarlyStopping(monitor='train_loss', min_delta=0.0001, patience=20)
early_stopper=EarlyStopping(monitor='train_acc', min_delta=0.0001, patience=20)
early_stopper=EarlyStopping(monitor='val_loss', min_delta=0.0001, patience=20)
early_stopper=EarlyStopping(monitor='val_acc', min_delta=0.0001, patience=20) 
stackoverflow中有这样的讨论,但是,他们只讨论验证。在验证或培训数据中使用标准是否有助于提前停止CNN培训

  • 我想训练一个CNN,但我想使用所有数据训练网络,因此不执行验证。这是个好选择吗?我是吗 如果仅以训练损失作为补偿,就有可能超出我的CNN 提前停止CNN的标准
  • 回答:不,你的目的是预测新样本,即使你得到了100%的训练准确率,但你可能在新样本上得到了糟糕的预测。你没有办法检查你是否有一个过度装配

  • 换句话说,在以下选项中,KERAS(例如)中用于提前停车的最佳“监控”参数是什么
  • 答:这应该是最接近现实的标准

    early\u stopper=early stopping(监视器=val\u acc',最小增量=0.0001,耐心=20)


    此外,您可能需要培训、验证和测试数据。Train是训练你的模型,validate是验证一些模型+参数并选择最好的,test是独立验证你的结果(它不用于选择模型、参数,所以它相当于新样本)

    我已经对Tin Luu的回答投了赞成票,但想细化一个关键的,实践点:最好的标准是最符合你成功标准的标准。也就是说,在你的问题对我们完全有意义之前,你必须定义你的实际评分函数

    对于您培训此模型的应用程序,什么是重要的?如果它只不过是排名第一的预测准确度,那么验证准确度(
    val_acc
    )几乎肯定是您唯一的标准。如果您关心信心水平(例如,当48%的可能性是猫、42%的可能性是狼、10%的可能性是法拉利时对冲您的赌注),那么正确实现错误函数将使验证错误(
    val\u err
    )成为更好的选择


    最后,我再次强调,根据您选择的标准,最终的衡量标准是实际绩效<代码>测试数据是实际输入的代表性采样。您可以使用提前停止标准来加快训练周转,但在您的实际标准得到测试和满足之前,您还没有准备好部署。

    Tin Luu的答案很好。Andrew Ng善于解释更多,在他的免费在线课程机器学习在CurSera。有很多东西需要知道,但是你可能已经可以开始了。