我在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]
并查看神经网络是否能识别出这个模式。如前所述,我已经训练了网络。我如何使用上述输入来验证它呢?
感谢您的宝贵时间!
回答:
首先,您需要创建一个网络并用您的数据集进行训练。
然后,您需要使用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)