Trainingsnetzwerk mit Optimierungsalgorithmen

Wir haben gesehen, wie man ein Netzwerk mit Trainern im Pybrain trainiert. In diesem Kapitel werden Optimierungsalgorithmen verwendet, die mit Pybrain verfügbar sind, um ein Netzwerk zu trainieren.

In diesem Beispiel verwenden wir den GA-Optimierungsalgorithmus, der wie unten gezeigt importiert werden muss.

from pybrain.optimization.populationbased.ga import GA

Beispiel

Unten finden Sie ein Arbeitsbeispiel eines Trainingsnetzwerks, das einen GA-Optimierungsalgorithmus verwendet.

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]))

Ausgabe

Die Aktivierungsmethode im Netzwerk für die Eingänge stimmt fast mit der Ausgabe überein, wie unten gezeigt -

C:\pybrain\pybrain\src>python example15.py
[0.03055398]
[0.92094839]
[1.12246157]
[0.02071285]