我正在尝试用 Pybrain 训练一个简单的神经网络。训练后,我想确认 nn 是否按预期工作,因此我激活了用于训练它的相同数据。但是,每次激活都会输出相同的结果。我是否误解了有关神经网络的基本概念,或者这是设计使然?
我尝试改变隐藏节点的数量、隐藏类类型、偏差、学习率、训练时期的数量和动量,但无济于事。
这是我的代码...
from pybrain.tools.shortcuts import buildNetwork
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import BackpropTrainer
net = buildNetwork(2, 3, 1)
net.randomize()
ds = SupervisedDataSet(2, 1)
ds.addSample([77, 78], 77)
ds.addSample([78, 76], 76)
ds.addSample([76, 76], 75)
trainer = BackpropTrainer(net, ds)
for epoch in range(0, 1000):
error = trainer.train()
if error < 0.001:
break
print net.activate([77, 78])
print net.activate([78, 76])
print net.activate([76, 76])
这是结果的一个示例......正如您所看到的,即使激活输入不同,输出也是相同的。
[ 75.99893007]
[ 75.99893007]
[ 75.99893007]