Réseau de formation utilisant des algorithmes d'optimisation
Nous avons vu comment former un réseau à l'aide de formateurs en pybrain. Dans ce chapitre, nous utiliserons les algorithmes d'optimisation disponibles avec Pybrain pour former un réseau.
Dans l'exemple, nous utiliserons l'algorithme d'optimisation GA qui doit être importé comme indiqué ci-dessous -
from pybrain.optimization.populationbased.ga import GA
Exemple
Voici un exemple de travail d'un réseau de formation utilisant un algorithme d'optimisation GA -
from pybrain.datasets.classification import ClassificationDataSet
from pybrain.optimization.populationbased.ga import GA
from pybrain.tools.shortcuts import buildNetwork
# create XOR dataset
ds = ClassificationDataSet(2)
ds.addSample([0., 0.], [0.])
ds.addSample([0., 1.], [1.])
ds.addSample([1., 0.], [1.])
ds.addSample([1., 1.], [0.])
ds.setField('class', [ [0.],[1.],[1.],[0.]])
net = buildNetwork(2, 3, 1)
ga = GA(ds.evaluateModuleMSE, net, minimize=True)
for i in range(100):
net = ga.learn(0)[0]
print(net.activate([0,0]))
print(net.activate([1,0]))
print(net.activate([0,1]))
print(net.activate([1,1]))
Production
La méthode d'activation sur le réseau pour les entrées correspond presque à la sortie comme indiqué ci-dessous -
C:\pybrain\pybrain\src>python example15.py
[0.03055398]
[0.92094839]
[1.12246157]
[0.02071285]