Обучение сети с использованием алгоритмов оптимизации
Мы видели, как обучать сеть с помощью трейнеров в pybrain. В этой главе мы будем использовать алгоритмы оптимизации, доступные в Pybrain, для обучения сети.
В этом примере мы будем использовать алгоритм оптимизации GA, который необходимо импортировать, как показано ниже -
from pybrain.optimization.populationbased.ga import GA
пример
Ниже приведен рабочий пример обучающей сети с использованием алгоритма оптимизации 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]))
Вывод
Метод активации в сети для входов почти совпадает с выходом, как показано ниже -
C:\pybrain\pybrain\src>python example15.py
[0.03055398]
[0.92094839]
[1.12246157]
[0.02071285]