为什么验证集的loss会小于训练集的loss?

原因1-在训练中应用正则化(加了正则项),但在验证/测试中未应用正则化
正则化方法通常会牺牲训练准确性来提高验证/测试准确性——在某些情况下,可能导致验证loss低于训练loss。
原因2-训练loss是在每个epoch测量的,而验证loss是在每个epoch后测量的
在整个epoch内,您的训练loss将不断得到报告;但是,仅在当前训练epoch完成后,才根据验证集计算验证指标。
这意味着,平均而言,训练loss要提前半个epoch来衡量
原因3-验证集可能比训练集更容易,或者代码中的数据/错误泄漏。确保验证集大小合理,并且是从训练集相同的分布(和难度)中抽取的。
原文地址:https://www.cnblogs.com/xin-qing3/p/11967410.html