我的机器学习模型在很大程度上超过了训练数据,但在测试数据上仍然表现得很好。当使用神经网络方法时,每次迭代都会略微增加测试集上的精度,但会大大提高训练集上的精度(过拟合)。
在使用带有CNN架构的spacy时,这个问题得到了很好的演示,我得到了以下结果
ITER LOSS P R F TF
0 29.305 0.733 0.342 0.466 0.525
1 10.410 0.811 0.443 0.573 0.650
2 4.361 0.722 0.548 0.62
当使用具有多个输出的神经网络时,通常建议采取什么最佳策略来尽早停止训练过程?
鉴于我目前正在监视净验证损失(来自n个不同输出神经元的验证损失加在一起),并且注意到我的训练在一个或多个损失收敛之前就停止了,我想知道在这种情况下的最佳实践是什么。
如果一个人监视净验证损失,或者是否有任何方法实现早期停止,使m out n (m从1到n)输出的验证损失被监视,并且在某一阈值内的所有/振荡收敛时停止训练。
如何在不过度训练一些输出节点的同时又防止其他节点训练不足的情况下实现这一点呢?
我是这个领域的新手,如果你还没猜到的话,如果这个问题没有很好的组合起来,请耐心等待我!