org.neuroph.util
Class NeuralNetworkFactory

java.lang.Object
  extended by org.neuroph.util.NeuralNetworkFactory

public class NeuralNetworkFactory
extends java.lang.Object

Provides methods to create various neural networks.

Author:
Zoran Sevarac

Constructor Summary
NeuralNetworkFactory()
           
 
Method Summary
static Adaline createAdaline(int inputsCount)
          Creates and returns a new instance of Adaline network
static BAM createBam(int inputNeuronsCount, int outputNeuronsCount)
          Creates and returns a new instance of BAM network
static CompetitiveNetwork createCompetitiveNetwork(int inputNeuronsCount, int outputNeuronsCount)
          Creates and returns a new instance of competitive network
static Hopfield createHopfield(int neuronsCount)
          Creates and returns a new instance of Hopfield network
static Instar createInstar(int inputNeuronsCount)
          Creates and returns a new instance of Instar network
static Kohonen createKohonen(int inputNeuronsCount, int outputNeuronsCount)
          Creates and returns a new instance of Kohonen network
static MaxNet createMaxNet(int neuronsCount)
          Creates and returns a new instance of Max Net network
static MultiLayerPerceptron createMLPerceptron(java.lang.String layersStr, TransferFunctionType transferFunctionType)
          Creates and returns a new instance of Multi Layer Perceptron
static MultiLayerPerceptron createMLPerceptron(java.lang.String layersStr, TransferFunctionType transferFunctionType, boolean useBias)
          Creates and returns a new instance of Multi Layer Perceptron
static Outstar createOutstar(int outputNeuronsCount)
          Creates and returns a new instance of Outstar network
static Perceptron createPerceptron(int inputNeuronsCount, int outputNeuronsCount, TransferFunctionType transferFunctionType)
          Creates and returns a new instance of Perceptron network
static RbfNetwork createRbfNetwork(int inputNeuronsCount, int rbfNeuronsCount, int outputNeuronsCount)
          Creates and returns a new instance of RBF network
static SupervisedHebbianNetwork createSupervisedHebbian(int inputNeuronsCount, int outputNeuronsCount, TransferFunctionType transferFunctionType)
          Creates and returns a new instance of Hebbian network
static UnsupervisedHebbianNetwork createUnsupervisedHebbian(int inputNeuronsCount, int outputNeuronsCount, TransferFunctionType transferFunctionType)
          Creates and returns a new instance of Unsupervised Hebbian Network
static void setDefaultIO(NeuralNetwork nnet)
          Sets default input and output neurons for network (first layer as input, last as output)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NeuralNetworkFactory

public NeuralNetworkFactory()
Method Detail

createAdaline

public static Adaline createAdaline(int inputsCount)
Creates and returns a new instance of Adaline network

Parameters:
inputsCount - number of inputs of Adaline network
Returns:
instance of Adaline network

createPerceptron

public static Perceptron createPerceptron(int inputNeuronsCount,
                                          int outputNeuronsCount,
                                          TransferFunctionType transferFunctionType)
Creates and returns a new instance of Perceptron network

Parameters:
inputNeuronsCount - number of neurons in input layer
outputNeuronsCount - number of neurons in output layer
Returns:
instance of Perceptron network

createMLPerceptron

public static MultiLayerPerceptron createMLPerceptron(java.lang.String layersStr,
                                                      TransferFunctionType transferFunctionType)
Creates and returns a new instance of Multi Layer Perceptron

Parameters:
layersStr - space separated number of neurons in layers
transferFunctionType - transfer function type for neurons
Returns:
instance of Multi Layer Perceptron

createMLPerceptron

public static MultiLayerPerceptron createMLPerceptron(java.lang.String layersStr,
                                                      TransferFunctionType transferFunctionType,
                                                      boolean useBias)
Creates and returns a new instance of Multi Layer Perceptron

Parameters:
layersStr - space separated number of neurons in layers
transferFunctionType - transfer function type for neurons
Returns:
instance of Multi Layer Perceptron

createHopfield

public static Hopfield createHopfield(int neuronsCount)
Creates and returns a new instance of Hopfield network

Parameters:
neuronsCount - number of neurons in Hopfield network
Returns:
instance of Hopfield network

createBam

public static BAM createBam(int inputNeuronsCount,
                            int outputNeuronsCount)
Creates and returns a new instance of BAM network

Parameters:
inputNeuronsCount - number of input neurons
outputNeuronsCount - number of output neurons
Returns:
instance of BAM network

createKohonen

public static Kohonen createKohonen(int inputNeuronsCount,
                                    int outputNeuronsCount)
Creates and returns a new instance of Kohonen network

Parameters:
inputNeuronsCount - number of input neurons
outputNeuronsCount - number of output neurons
Returns:
instance of Kohonen network

createSupervisedHebbian

public static SupervisedHebbianNetwork createSupervisedHebbian(int inputNeuronsCount,
                                                               int outputNeuronsCount,
                                                               TransferFunctionType transferFunctionType)
Creates and returns a new instance of Hebbian network

Parameters:
inputNeuronsCount - number of neurons in input layer
outputNeuronsCount - number of neurons in output layer
transferFunctionType - neuron's transfer function type
Returns:
instance of Hebbian network

createUnsupervisedHebbian

public static UnsupervisedHebbianNetwork createUnsupervisedHebbian(int inputNeuronsCount,
                                                                   int outputNeuronsCount,
                                                                   TransferFunctionType transferFunctionType)
Creates and returns a new instance of Unsupervised Hebbian Network

Parameters:
inputNeuronsCount - number of neurons in input layer
outputNeuronsCount - number of neurons in output layer
transferFunctionType - neuron's transfer function type
Returns:
instance of Unsupervised Hebbian Network

createMaxNet

public static MaxNet createMaxNet(int neuronsCount)
Creates and returns a new instance of Max Net network

Parameters:
neuronsCount - number of neurons (same num in input and output layer)
Returns:
instance of Max Net network

createInstar

public static Instar createInstar(int inputNeuronsCount)
Creates and returns a new instance of Instar network

Parameters:
inputNeuronsCount - umber of input neurons
Returns:
instance of Instar network

createOutstar

public static Outstar createOutstar(int outputNeuronsCount)
Creates and returns a new instance of Outstar network

Parameters:
outputNeuronsCount - number of output neurons
Returns:
instance of Outstar network

createCompetitiveNetwork

public static CompetitiveNetwork createCompetitiveNetwork(int inputNeuronsCount,
                                                          int outputNeuronsCount)
Creates and returns a new instance of competitive network

Parameters:
inputNeuronsCount - number of neurons in input layer
outputNeuronsCount - number of neurons in output layer
Returns:
instance of CompetitiveNetwork

createRbfNetwork

public static RbfNetwork createRbfNetwork(int inputNeuronsCount,
                                          int rbfNeuronsCount,
                                          int outputNeuronsCount)
Creates and returns a new instance of RBF network

Parameters:
inputNeuronsCount - number of neurons in input layer
rbfNeuronsCount - number of neurons in RBF layer
outputNeuronsCount - number of neurons in output layer
Returns:
instance of RBF network

setDefaultIO

public static void setDefaultIO(NeuralNetwork nnet)
Sets default input and output neurons for network (first layer as input, last as output)