【问题标题】:How to test a trained neural network to predict outputs for new inputs如何测试经过训练的神经网络以预测新输入的输出
【发布时间】:2017-04-12 16:09:51
【问题描述】:

刚开始学习神经网络和 py。 在网上找到了我试图用于分类的这个反向传播神经网络类。

班级链接: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”

【问题讨论】:

    标签: python neural-network


    【解决方案1】:

    只需将测试数据传递给test函数:

    n.test([[1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0]])
    

    【讨论】:

      猜你喜欢
      • 2020-12-18
      • 2021-03-15
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-04-17
      • 2017-08-14
      • 2018-09-27
      • 2014-02-24
      相关资源
      最近更新 更多