2

所以我在 PyBrain 中有一个 ClassificationDataSet,我用适当的数据进行了训练。即,输入如下:

trainSet.addSample([0,0,0,0],[1])
trainSet.addSample([0,0,0,1],[0])
trainSet.addSample([0,0,1,0],[0])
trainSet.addSample([0,0,1,1],[1])
trainSet.addSample([0,1,0,0],[0])
trainSet.addSample([0,1,0,1],[1])
trainSet.addSample([0,1,1,0],[1])
trainSet.addSample([0,1,1,1],[0])
trainSet.addSample([1,0,0,0],[0])
trainSet.addSample([1,0,0,1],[1])

图案很简单。如果有偶数个 1,则输出应为 1,否则为 0。我想运行以下输入:

[1,0,0,1],[1]
[1,1,0,1],[0]
[1,0,1,1],[0]
[1,0,1,0],[1]

并查看神经网络是否会识别该模式。如前所述,我已经训练了网络。如何根据上面的输入验证它?

谢谢你的时间!

4

1 回答 1

5

您首先必须创建一个网络在您的数据集上对其进行训练

然后,您必须使用activate从输入中获取结果并测试它是否与所需的输出匹配。

一种简单的方法是:

testOutput = { [1,0,0,1] : [1], [1,1,0,1] : [0], [1,0,1,1]:[0], [1,0,1,0]:[1] }

for input, expectedOutput in testInput.items():
    output = net.activate(input)
    if output != expectedOutput:
        print "{} didn't match the desired output." 
        print "Expected {}, got {}".format(input, expectedOutput, output)
于 2013-05-19T17:32:13.097 回答