Příklad: Vytvoření jednoduchého XOR problému řešeného pomocí neuronové sítě v PyBrain
Představme si, že chceme naučit neuronovou síť řešit XOR problém. XOR je logická operace, která má následující pravdivostní tabulku:
A | B | Výstup
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0
Postup:
Importování knihoven:
from pybrain.tools.shortcuts import buildNetwork
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import BackpropTrainer
Vytvoření neuronové sítě:
net = buildNetwork(2, 2, 1) # 2 vstupní neurony, 2 neurony ve skryté vrstvě, 1 výstupní neuron
Trénování neuronové sítě pomocí algoritmu zpětného šíření chyby (backpropagation):
trainer = BackpropTrainer(net, ds)
trainer.trainEpochs(epochs=1000) # Počet epoch tréninku
Testování naučené neuronové sítě na vstupních datech:
for input, target in ds:
prediction = net.activate(input)
print("Vstup: {}, Očekávaný výstup: {}, Předpověď: {:.2f}".format(input, target, prediction[0]))
V tomto příkladě jsme vytvořili jednoduchou neuronovou síť s jednou skrytou vrstvou, která řeší XOR problém. Neuronová síť má 2 vstupní neurony, 2 neurony ve skryté vrstvě a 1 výstupní neuron. Pro trénink neuronové sítě jsme použili algoritmus zpětného šíření chyby (backpropagation) a tréninkový dataset obsahuje čtyři vzory pro všechny možné kombinace vstupních hodnot A a B. Poté, co jsme neuronovou síť natrénovali, jsme ji otestovali na vstupních datech a zkontrolovali, zda správně předpovídá výstupy pro XOR problém.
Hit 'Generate & Copy' button to generate embed code. It will be copied
to your Clipboard. You can now paste this embed code inside your website's HTML where
you want to show the List.