¿Qué es SoftmaxLayer en PyBrain?

SoftmaxLayer ejecuta la distribución softmax del conjunto de datos de entrada dado. Podemos construir la red con capas de entrada, ocultas y de salida usando la función buildNetwork() y hemos usado la clase oculta como SoftmaxLayer para verificar los valores de las tablas AND y NOR del conjunto de datos. A continuación se muestra la sintaxis para importar SoftmaxLayer y su uso en el código.

Sintaxis: 

Importar SoftmaxLayer: desde pybrain.structure importar SoftmaxLayer

Uso en código python: net= buildNetwork(1, 2, 1, bias=True, hiddenclass=SoftmaxLayer)

Ejemplo 1: 

  • En este ejemplo, importamos SoftmaxLayer usando el comando de importación para crear la red usando buildNetwork() con capa de entrada, oculta y de salida. W
  • Tome una clase oculta como SoftmaxLayer. Ahora dé los tamaños de los conjuntos de datos de entrada y salida usando SupervisedDataSet(). 
  • Para agregar un conjunto de datos de muestra a la tabla AND y la tabla NOR. 
  • Luego entrene esta red usando BackpropTrainer(). 
  • Tenemos 2500 iteraciones y luego comienzan las pruebas y podemos ver los errores, las correcciones, el máximo, los errores, etc.
  • En este caso, los datos de muestra que hemos tomado en la tabla AND son ((0,0), (1,)) y ((0,1),(0,)) y la tabla NOR es ((0,0), (1,)) y (0,1),(0,))

Python3

from pybrain.tools.shortcuts import buildNetwork
from pybrain.structure import SoftmaxLayer
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import BackpropTrainer
  
# two inputs, two hidden, and single output with hiddenlayer as Softmaxlayer
net = buildNetwork(2, 3, 1, bias=True, hiddenclass=SoftmaxLayer)
  
# size of inputs and outputs
gate_set = SupervisedDataSet(2, 1)
test_dataset = SupervisedDataSet(2, 1)
  
# AND truth table
gate_set.addSample((0, 0), (1,))
gate_set.addSample((0, 1), (0,))
  
# NOR truth table
test_dataset.addSample((0, 0), (1,))
test_dataset.addSample((0, 1), (0,))
  
#Train the network using net and gate_set.
backpr_tr = BackpropTrainer(net, gate_set)
  
# 2500 iteration
for i in range(1500):
      backpr_tr.train()
      
# Testing....
backpr_tr.testOnData(dataset=test_dataset, verbose = True)

Producción:

Ejemplo 2:

En este ejemplo, hemos tomado el conjunto de datos de muestra en la tabla AND son ((0,0), (0,)) y ((0,1), (1,)) y la tabla NOR son ((0,0), (1,)) y (0,1),(1,)) y luego comienza el entrenamiento para entrenar esta red usando 2500 iteraciones y finalmente comienza la prueba. Podemos ver el resultado de la prueba con errores promedio, errores máximos, errores medios, etc.

Python3

from pybrain.tools.shortcuts import buildNetwork
from pybrain.structure import SoftmaxLayer
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import BackpropTrainer
  
# two inputs, two hidden, and single output 
# with hiddenlayer as Softmaxlayer
net = buildNetwork(2, 3, 1, bias=True, hiddenclass=SoftmaxLayer)
  
# size of inputs and outputs
gate_set = SupervisedDataSet(2, 1)
test_dataset = SupervisedDataSet(2, 1)
  
# AND truth table
gate_set.addSample((0, 0), (0,))
gate_set.addSample((0, 1), (1,))
  
# NOR truth table
test_dataset.addSample((0, 0), (1,))
test_dataset.addSample((0, 1), (1,))
  
#Train the network using net and gate_set.
backpr_tr = BackpropTrainer(net, gate_set)
  
# 2500 iteration
for i in range(1500):
      backpr_tr.train()
      
# Testing....
backpr_tr.testOnData(dataset=test_dataset, verbose = True)

Producción:

Publicación traducida automáticamente

Artículo escrito por singh_teekam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *