我正在使用 pylearn2 库训练卷积神经网络,并且在所有 ephocs 期间,我的验证错误始终高于测试错误。可能吗?如果是这样,在什么样的情况下?
问问题
2064 次
2 回答
5
将评论移至答案;修改我之前的答案似乎是错误的
完整的数据集可能没有正确打乱,因此测试集中的示例可能更容易分类。
使用在训练/有效/测试子集中重新分配的示例再次进行实验将显示是否是这种情况。
于 2015-05-24T11:19:15.977 回答
0
训练集是一组输入网络的图像,在另一端计算误差,然后根据这些误差调整网络的参数。验证集是一组输入网络的图像,计算错误但不调整网络参数。
基本上,您使用验证来查看网络在未经训练的图像上的表现如何。
valid_y_misclass
在此视图中,您应该期望在大多数情况下 on比 on具有更高的错误train_y_miscalss
。
有关图像集的讨论,请参见此处。
编辑:使用 pylearn2 表示法的示例
训练集的大小:700
示例;有效集合的大小:300
示例
经过一些训练(比如 5 个 epoch)后,网络确定了训练集中650
的示例和有效集中的示例。700
200
300
结果,在 5 个 epoch 之后:
train_y_misclass = (700 - 650) / 700 = 0.07142857142
valid_y_misclass = (300 - 200) / 300 = 0.33333333333
valid_y_misclass
>train_y_misclass
这是意料之中的。
于 2015-05-21T23:14:32.453 回答