0
我最近發現了PyBrain,所以我決定試一試。經過一段時間的測試後,我決定解決以下問題,以瞭解PyBrain在內部的作用。PyBrain監督DataSet和網絡問題
給出6個元素(每個元素從1到10)的列表,確定列表中是否有更多的偶數,更多的奇數或相等的數字部分。
我給了50個解決的樣本給PyBrain和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)
我剛開始學習AI及其用法,所以如果我在這裏做了一些令人難以置信的錯誤,請原諒。