4

我正在使用 pylearn2 库训练卷积神经网络,并且在所有 ephocs 期间,我的验证错误始终高于测试错误。可能吗?如果是这样,在什么样的情况下?

4

2 回答 2

5

将评论移至答案;修改我之前的答案似乎是错误的

完整的数据集可能没有正确打乱,因此测试集中的示例可能更容易分类。

使用在训练/有效/测试子集中重新分配的示例再次进行实验将显示是否是这种情况。

于 2015-05-24T11:19:15.977 回答
0

训练集是一组输入网络的图像,在另一端计算误差,然后根据这些误差调整网络的参数。验证集是一组输入网络的图像,计算错误但不调整网络参数。

基本上,您使用验证来查看网络在未经训练的图像上的表现如何。

valid_y_misclass在此视图中,您应该期望在大多数情况下 on比 on具有更高的错误train_y_miscalss

有关图像集的讨论,请参见此处


编辑:使用 pylearn2 表示法的示例

训练集的大小:700示例;有效集合的大小:300示例

经过一些训练(比如 5 个 epoch)后,网络确定了训练集中650的示例和有效集中的示例。700200300

结果,在 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 回答