訓練使用最佳化演算法的網路



我們已經瞭解瞭如何使用 pybrain 中的 trainer 訓練網路。在本章中,我們將使用 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]))

輸出

網路對輸入的 activate 方法幾乎與輸出匹配,如下所示 -

C:\pybrain\pybrain\src>python example15.py
[0.03055398]
[0.92094839]
[1.12246157]
[0.02071285]
廣告
© . All rights reserved.