- 当有训练集、验证集和测试集的时候,可以通过验证集来监控模型是否发生过拟合,以及时停止训练,而测试集是用来评估最终模型泛化能力。当使用十折交叉验证后,九成的数据用作训练集,一成的数据用作验证集,在训练的过程中,是不是当验证集的准确率收敛后就可以停止训练呢?(我现在的做法就是这样的)
- 当模型应用十折交叉验证跑完后,会得到10个不同验证集的准确率。我是最后计算不同模型的10个验证集的平均准确率,选择平均准确率最高的模型作为最终模型,这样可以吗?(我看网上有的说是选择具有最小泛化误差的模型作为最终模型,不知道是应该选择最小泛化误差还是最大平均准确率)
- 当确定最终模型后,使用全部数据作为训练集进行训练,那么在没有验证集的情况下,如何确定epoch使得模型结果不会过拟合呢?是在每次epoch训练后,通过训练集本身的准确率是否已经收敛来及时停下吗(我感觉这样做比较容易过拟合,因此我现在的做法是在刚好超过 使用十折交叉验证时验证集的平均准确率 的时候就停了下来)?
- 对我们的原始数据集进行了四种不同的处理(或者说划分):random、expert、bundle和table,处理后使用十折交叉验证,发现random方法下,在验证集准确率收敛后,其准确率有0.88左右,训练集的准确率可以达到0.96以上,这是不是算是过拟合呢?
使用同样的超参数(如learning rate,epoch,batch size,dropout rate等都一样),在expert等其他三种划分下,在验证集准确率收敛后,其准确率只有0.68左右,但训练集的准确率依旧可达0.96以上,这是明显的过拟合吗?0.68的准确率能反应这个数据集在这种情况下划分的泛化能力吗?
https://blog.csdn.net/jp_zhou256/article/details/85248578