使用优化算法训练网络
我们已经了解了如何使用 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]

