SciLib.Neuro
Class Nnet

java.lang.Object
  extended by SciLib.Neuro.Nnet
Direct Known Subclasses:
Adaline, Madaline, RbfNet

public class Nnet
extends java.lang.Object

This class defines the base class for all Neural Networks.


Field Summary
protected  double averageError
           
protected  matrix DesiredOutputMatrix
           
protected  double errorThreshold
           
protected  Activation g
           
protected  java.util.Vector<Layer> hidden
           
protected  integerVector hiddenSize
           
protected  int inSize
           
protected  double learningRate
           
protected  double momentum
           
protected  int numberOfHiddenLayers
           
protected  int NumberOfTestPatterns
           
protected  int NumberOfTrainingPatterns
           
protected  Layer output
           
protected  int outSize
           
protected  matrix testingData
           
(package private)  vector testingDesiredOutput
           
protected  matrix trainingData
           
(package private)  vector trainingDesiredOutput
           
 
Constructor Summary
Nnet()
          Make an empty neural network
Nnet(int inS, int outS, int noOfH)
          Make a neural network with a specific number of input, output and hidden size
Nnet(int inS, int outS, int noOfH, integerVector hiddenS)
          Make a neural network with a specific number of input, output and hidden size
Nnet(int inS, int outS, int noOfH, integerVector hiddenS, Activation act)
          Make a neural network with a specific number of input, output, hidden layer and activation function
 
Method Summary
 void generate()
          Initialize the parameters of the neural network
 double getErrorThreshold()
          get error Threshold
 java.util.Vector getHiddenLayers()
          get hidden layers
 integerVector gethiddenSize()
          get sizes of the hidden layers
 int getInputSize()
          get input size
 double getLearningRate()
          get learning rate
 double getMomentumPar()
          get momentum
 int getnumberOfHiddenLayers()
          get number of hidden layers
 int getNumberOfTestPatterns()
          get number of testing patterns
 int getNumberOfTrainingPatterns()
          get number of training patterns
 Layer getOutputLayer()
          get the output layer
 int getOutputSize()
          get output size
 matrix getTrainingData()
          get Training Data
 vector getTrainingDesiredOutput()
          get Training Desired Output
 void makeDesiredOutputMatrix()
          make a Desired Output matrix handles the case of multiple output
 void makeDesiredOutputMatrix(int type)
          make a Desired Output matrix handles the case of multiple output
 void makeTrainingSet(int n, int m)
           
 void readTestingData(java.lang.String filename)
          read Testing Data file File format Number of hidden layers Size of the input vector Number of the hidden nodes Size of the output vector Number of Training Patterns: No_of_Patterns Data : Training pattern vector : Training_Patterns[k][0:Size_in-1] Desired output (classes): Training_Patterns[k][Size_in]
 void readTrainingData(java.lang.String filename)
          read Training data File format Example: 3 8 6 4 4 2 256 2.1 3.2 1 0.6 3 -1 2 1.2 1 Number of hidden layers : 3 Size of the input vector : 8 Number of the hidden nodes : 6 4 4 Size of the output vector : 2 Number of Training Patterns: 256 Data : Training pattern vector : Training_Patterns[k][0:Size_in-1] Desired output (classes): TrainingDesiredOutput[k]
 void readWeight(java.lang.String filename)
          // File format // Number of hidden layers : No_of_hidden_layers // Size of the input vector : Size_in // Number of the hidden nodes : Size_hidden[i] // Size of the output vector : Size_out // Number of Training Patterns: No_of_Patterns // Data : // Hidden Layer Weight : hidden[k]->weigth // Output Layer Weight : output->weight //
 void setActivation(Activation act)
          set Activation function
 void setErrorThreshold(double epsi)
          set error threshold
 void setInputSize(int p)
          set the input size
 void setLearningRate(double eta)
          set learning rate
 void setMomentumPar(double alpha)
          set momentum
 void setNumberOfTestPatterns(int n)
          set number of testing patterns
 void setNumberOfTrainingPatterns(int n)
          set number of training patterns
 void setOutputSize(int q)
          set the output size
protected  void setSize(int inS, int outS, int noOfH, integerVector hS)
          set size to neural network
 void writeWeight(java.lang.String filename)
          write weight matrix to a file
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inSize

protected int inSize

outSize

protected int outSize

numberOfHiddenLayers

protected int numberOfHiddenLayers

hiddenSize

protected integerVector hiddenSize

learningRate

protected double learningRate

momentum

protected double momentum

errorThreshold

protected double errorThreshold

averageError

protected double averageError

NumberOfTestPatterns

protected int NumberOfTestPatterns

NumberOfTrainingPatterns

protected int NumberOfTrainingPatterns

trainingData

protected matrix trainingData

testingData

protected matrix testingData

DesiredOutputMatrix

protected matrix DesiredOutputMatrix

trainingDesiredOutput

vector trainingDesiredOutput

testingDesiredOutput

vector testingDesiredOutput

output

protected Layer output

hidden

protected java.util.Vector<Layer> hidden

g

protected Activation g
Constructor Detail

Nnet

public Nnet()
Make an empty neural network


Nnet

public Nnet(int inS,
            int outS,
            int noOfH)
Make a neural network with a specific number of input, output and hidden size

Parameters:
inS - An integer value, the size of the input vector
outS - An integer value, the size of the output vector
noOfH - An integer value, the number of hidden layers

Nnet

public Nnet(int inS,
            int outS,
            int noOfH,
            integerVector hiddenS)
Make a neural network with a specific number of input, output and hidden size

Parameters:
inS - An integer value, the size of the input vector
outS - An integer value, the size of the output vector
noOfH - An integer value, the number of hidden layers
hiddenS - An integer vector contains the size of the hidden layers

Nnet

public Nnet(int inS,
            int outS,
            int noOfH,
            integerVector hiddenS,
            Activation act)
Make a neural network with a specific number of input, output, hidden layer and activation function

Parameters:
inS - An integer value, the size of the input vector
outS - An integer value, the size of the output vector
noOfH - An integer value, the number of hidden layers
hiddenS - An integer vector contains the size of the hidden layers
act - An object that implements the Activation interface.
Method Detail

setSize

protected void setSize(int inS,
                       int outS,
                       int noOfH,
                       integerVector hS)
set size to neural network

Parameters:
inS - An integer value, the size of the input vector
outS - An integer value, the size of the output vector
noOfH - An integer value, the number of hidden layers
hS - An integer vector contains the size of the hidden layers

generate

public void generate()
Initialize the parameters of the neural network


getLearningRate

public double getLearningRate()
get learning rate

Returns:
a double value

getErrorThreshold

public double getErrorThreshold()
get error Threshold

Returns:
a double value

getMomentumPar

public double getMomentumPar()
get momentum

Returns:
a double value

getNumberOfTrainingPatterns

public int getNumberOfTrainingPatterns()
get number of training patterns

Returns:
an integer value

getNumberOfTestPatterns

public int getNumberOfTestPatterns()
get number of testing patterns

Returns:
an integer value

getnumberOfHiddenLayers

public int getnumberOfHiddenLayers()
get number of hidden layers

Returns:
an integer value

getInputSize

public int getInputSize()
get input size

Returns:
an integer value

getOutputSize

public int getOutputSize()
get output size

Returns:
an integer value

gethiddenSize

public integerVector gethiddenSize()
get sizes of the hidden layers

Returns:
an integer vector

getOutputLayer

public Layer getOutputLayer()
get the output layer

Returns:
a Layer

getHiddenLayers

public java.util.Vector getHiddenLayers()
get hidden layers

Returns:
a Vector of hidden layers

getTrainingDesiredOutput

public vector getTrainingDesiredOutput()
get Training Desired Output

Returns:
a vector

getTrainingData

public matrix getTrainingData()
get Training Data

Returns:
a matrix

setLearningRate

public void setLearningRate(double eta)
set learning rate

Parameters:
eta - double value

setMomentumPar

public void setMomentumPar(double alpha)
set momentum

Parameters:
alpha - double value

setNumberOfTrainingPatterns

public void setNumberOfTrainingPatterns(int n)
set number of training patterns

Parameters:
n - an integer value

setNumberOfTestPatterns

public void setNumberOfTestPatterns(int n)
set number of testing patterns

Parameters:
n - an integer value

setErrorThreshold

public void setErrorThreshold(double epsi)
set error threshold

Parameters:
epsi - double value

setInputSize

public void setInputSize(int p)
set the input size

Parameters:
p - an integer value

setOutputSize

public void setOutputSize(int q)
set the output size

Parameters:
q - an integer value

setActivation

public void setActivation(Activation act)
set Activation function

Parameters:
act - an Activation function object

readTrainingData

public void readTrainingData(java.lang.String filename)
read Training data File format Example: 3 8 6 4 4 2 256 2.1 3.2 1 0.6 3 -1 2 1.2 1 Number of hidden layers : 3 Size of the input vector : 8 Number of the hidden nodes : 6 4 4 Size of the output vector : 2 Number of Training Patterns: 256 Data : Training pattern vector : Training_Patterns[k][0:Size_in-1] Desired output (classes): TrainingDesiredOutput[k]


readTestingData

public void readTestingData(java.lang.String filename)
read Testing Data file File format Number of hidden layers Size of the input vector Number of the hidden nodes Size of the output vector Number of Training Patterns: No_of_Patterns Data : Training pattern vector : Training_Patterns[k][0:Size_in-1] Desired output (classes): Training_Patterns[k][Size_in]


readWeight

public void readWeight(java.lang.String filename)
// File format // Number of hidden layers : No_of_hidden_layers // Size of the input vector : Size_in // Number of the hidden nodes : Size_hidden[i] // Size of the output vector : Size_out // Number of Training Patterns: No_of_Patterns // Data : // Hidden Layer Weight : hidden[k]->weigth // Output Layer Weight : output->weight //


writeWeight

public void writeWeight(java.lang.String filename)
write weight matrix to a file


makeDesiredOutputMatrix

public void makeDesiredOutputMatrix()
make a Desired Output matrix handles the case of multiple output


makeDesiredOutputMatrix

public void makeDesiredOutputMatrix(int type)
make a Desired Output matrix handles the case of multiple output


makeTrainingSet

public void makeTrainingSet(int n,
                            int m)