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及其用法,所以如果我在這裏做了一些令人難以置信的錯誤,請原諒。

回答

0

那麼,我一直在研究神經網絡,我發現你不能使用依賴於另一個結果的變量,因此,問題本身就是我的「問題」。我可以將其標記爲已解決。 (X,Y,Z,W)爲參數的情況下,不能使用像「如果X> Y和Y> W並且W < Z並且X> 10然後打印1」同樣的神經網絡,至少這是我學到的東西。

我會將此標記爲ASAP。