2015-05-07 26 views
1

神经网络和py的新功能,我刚刚开始学习。 在网络上发现了这个后向传播神经网络类,即时尝试用于分类。如何测试一个训练有素的神经网络来预测新输入的输出

Link类的:http://arctrix.com/nas/python/bpnn.py

我添加到网络11个输入与对应的标签数据[0]或[1]。创建一个包含11个输入,3个隐藏层和1个输出的网络。

例子:

# Teach network XOR function 

pat = [ 
    [[1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0], [1]], 
    [[0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0], [0]], 
    [[1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0], [1]], 
    [[0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0], [0]] 
] 

# create a network with two input, two hidden, and one output nodes 
n = NN(11, 3, 1) 
# train it with some patterns 
n.train(pat) 
# test it 
n.test(pat) 

if __name__ == '__main__': 
demo() 

而且网络进行训练后得出:

([1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0], '->', [0.9931939688547892]) 
([0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0], '->', [-0.015507293481101131]) 
([1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0], '->', [0.9907311490435106]) 
([0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0], '->', [-0.015507293481101131]) 

我的问题是:的网络进行训练后,我怎么可以用它来预测输出,用于单个输入?

例如,我要预测这种新的输入

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

的标签,并给出例如“0.001212或0.99992323”输出

回答

0

测试数据仅仅传递给test功能:

n.test([[1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0]]) 
相关问题