एक समारोह है जैसे: y = sin (x) मैं फ़ंक्शन फिट करने के लिए पाइब्रेन नेटवर्क का उपयोग करना चाहता हूं, यहां मैंने जो किया है: जब आप इसे चलाते हैं तो आपको वह मिल जाएगा जो मुझे मिलता है, प्राप्त डेटा दूर है यह क्या होना चाहिए से।PyBrain नेटवर्क का उपयोग करके फ़ंक्शन को कैसे फ़िट करें?
from pybrain.datasets import SupervisedDataSet
from pybrain.tools.shortcuts import buildNetwork
from pybrain.supervised.trainers import BackpropTrainer
import pickle
import scipy as sp
import numpy as np
import pylab as pl
x = np.linspace(0, 4*np.pi, 100)
ds = SupervisedDataSet(1,1)
for i in x:
ds.addSample(i,sin(i))
print ds
n = buildNetwork(ds.indim,3,3,3,ds.outdim,recurrent=True)
t = BackpropTrainer(n,learningrate=0.01,momentum=0.5,verbose=True)
t.trainOnDataset(ds,1000)
t.testOnData(verbose=True)
fileObject = open('trained_net', 'w')
pickle.dump(n, fileObject)
fileObject.close()
fileObject = open('trained_net','r')
net = pickle.load(fileObject)
y = []
for i in x:
y.append(net.activate(i))
pl.plot(x,y)
pl.plot(x,np.sin(x))
pl.show()
तो आपका प्रश्न क्या है? क्या आपने इस 5-परत-गहरे उदाहरण की तुलना में अन्य नेटवर्क आर्किटेक्चर का प्रयास किया था? – schaul