在HMAX中,您使用输入图像层的所有数据。并且所有这些都具有garbor过滤器,最大池,径向基核函数。仅在C2层,您开始训练图像的子集(主要使用基于线性内核的SVM)。子集设置为训练数据。其余的都是测试数据。总之,训练图像首先用于构建SVM,然后使用多数表决方法将测试图像分配给数字类。
但实际上,这与您首先将训练图像放在图像层时相同。在所有图层通过之后,您将测试图像放在图像层以重新启动以进行识别。由于训练和测试图像都需要缩放,并且C2之前的前一层的所有操作都相同,所以您只需在开始时将它们完全混合。
虽然您在图像层使用了所有训练和测试图像,但您仍然需要将数据洗牌并将其中一些作为训练,其他作为测试。
训练和测试图像之间的唯一区别在于,不使用测试图像 的 选择模型参数 强> 。每个模型都有某种参数,变量,它适合数据。这称为培训过程。训练/测试集分离确保您的模型(算法)实际上可以做更多只记忆图像的事情 - 所以你 的 测试 强> 它在 的 测试 强> 图像,在此期间未使用过 的 训练 强> 相。
已经在SO上详细讨论过: 什么是神经网络中训练,验证和测试集之间的区别?