mi chiedo se sto facendo qualcosa di sbagliato o se i risultati sono davvero così poveri. Consente di assumere le più semplici esempi NN come illustrato nella documentazione:risultati scarsi pybrain
>>>net = buildNetwork(2, 3, 1, bias=True)
>>> ds = SupervisedDataSet(2, 1)
>>> ds.addSample((0, 0), (0,))
>>> ds.addSample((0, 1), (1,))
>>> ds.addSample((1, 0), (1,))
>>> ds.addSample((1, 1), (0,))
>>> trainer = BackpropTrainer(net, ds)
>>> trainer.trainUntilConvergence()
>>> print net.activate((0,0))
>>> print net.activate((0, 1))
>>> print net.activate((1, 0))
>>> print net.activate((1, 1))
esempio
>>> print net.activate((1,0))
[ 0.37855891]
>>> print net.activate((1,1))
[ 0.6592548]
previsto era 0. So di poter arrotondare, ovviamente, ma ancora mi aspetterei la rete per essere molto più preciso per tale un semplice esempio. Può essere chiamato "funzionante" qui MA ho il sospetto che manchi qualcosa di importante perché questo è MOLTO inutilizzabile ...
Il fatto è che se si imposta verbose=True
sul proprio trainer è possibile vedere errori piuttosto piccoli (come Errore totale: ,0532936260399)
vorrei assumere l'errore della rete è del 5%, allora come può essere molto largo nella funzione di attivazione dopo?
utilizzare pybrain per molto di più cosa complessa, ovviamente, ma ho lo stesso problema. Ottengo male il 50% dei miei campioni di test, anche se la rete dice che l'errore è pari a 0.09 circa.
Qualsiasi aiuto pls?
possibile duplicato di formazione [Neural Network con PyBrain non convergerà ] (http://stackoverflow.com/questions/12050460/neural-network-training-with-pybrain-wont-converge) – PhoneixS