如何测试经过训练的神经网络以预测新输入的输出
How to test a trained neural network to predict outputs for new inputs
神经网络和 py 的新知识,我才刚刚开始学习。
在网上找到了这个反向传播神经网络 Class,我正在尝试将其用于 classification。
Link 共 class: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”
只需将测试数据传递给test
函数即可:
n.test([[1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0]])
神经网络和 py 的新知识,我才刚刚开始学习。 在网上找到了这个反向传播神经网络 Class,我正在尝试将其用于 classification。
Link 共 class: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”
只需将测试数据传递给test
函数即可:
n.test([[1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0]])