fine ho lavorato fuori !! È sempre facile una volta che sai come!
In sostanza, il primo argomento dell'AG è la funzione di fitness (denominata valutatore in documenti) che deve prendere come argomento il secondo argomento (un individuo, definito valutabile in docs).
In questo esempio si alleneranno a XOR
from pybrain.datasets.classification import ClassificationDataSet
# below line can be replaced with the algorithm of choice e.g.
# from pybrain.optimization.hillclimber import HillClimber
from pybrain.optimization.populationbased.ga import GA
from pybrain.tools.shortcuts import buildNetwork
# create XOR dataset
d = ClassificationDataSet(2)
d.addSample([0., 0.], [0.])
d.addSample([0., 1.], [1.])
d.addSample([1., 0.], [1.])
d.addSample([1., 1.], [0.])
d.setField('class', [ [0.],[1.],[1.],[0.]])
nn = buildNetwork(2, 3, 1)
# d.evaluateModuleMSE takes nn as its first and only argument
ga = GA(d.evaluateModuleMSE, nn, minimize=True)
for i in range(100):
nn = ga.learn(0)[0]
I risultati dei test dopo che lo script di cui sopra:
In [68]: nn.activate([0,0])
Out[68]: array([-0.07944574])
In [69]: nn.activate([1,0])
Out[69]: array([ 0.97635635])
In [70]: nn.activate([0,1])
Out[70]: array([ 1.0216745])
In [71]: nn.activate([1,1])
Out[71]: array([ 0.03604205])
fonte
2013-04-07 22:15:10
Tu non sei l'unico che vorrebbe sapere. –