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]