0

我最近发现了 PyBrain,所以我决定试一试。经过一段时间的测试后,我决定解决以下问题,以了解 PyBrain 在内部做了什么。

给定一个包含 6 个元素的列表(每个元素从 1 到 10),确定列表中是否有更多偶数、更多奇数或相等部分。

我给 PyBrain 50 个已解决的样本和 50 个未解决的样本,输出始终是正确答案的 1/3,实际上等于随机回答这个问题......所以我想我做错了什么。

我在一个论坛上读到我必须标准化我的数据。我这样做了,我得到了同样的结果。我将附上我的代码片段以及到目前为止我尝试过的内容。

ds = SupervisedDataSet(6, 1)
....... Generating list of 6 elements, getting the mean and standard deviation to normalize data

for i in range(len(values)):
    for j in range(6):
        values[i][0][j] = (values[i][0][j]-mean[j]) / standard[j]
    ds.appendLinked(values[i][0],values[i][1]) #values[i][0] contains a list of 6 elements, values[i][1] contains the answer for that list (0=EVEN, 1=SAME_PART, 2=ODD)
bias_network = buildNetwork(6,30,1, bias=True) # I've tried all the different networks on pybrain i think, but i don't really know the difference between anyone
trainer = BackpropTrainer(bias_network,ds,verbose=True)
trainer.trainEpochs(20) #I've tried 2, 20, 200 and until convergence, having same results...
for i in range (generate_rand):
......Generating new list l of elements
    output = bias_network.activate(l)

我刚刚开始学习人工智能及其用途,如果我在这里做错了什么,请原谅。

4

1 回答 1

0

好吧,我一直在研究神经网络,我发现你不能使用依赖于另一个结果的变量,因此,问题是我的“问题”本身。我可以将其标记为已解决。

例如,您不能使用“如果 X > Y 和 Y > W 和 W < Z 和 X > 10 则打印 1”之类的问题,其中 (X,Y,Z,W) 是同一神经网络的参数,至少这是我学到的。

我会尽快将此标记为已解决。

于 2015-04-15T13:08:56.583 回答