yawn.nn.appart
Class AppArt

java.lang.Object
  extended by yawn.nn.NeuralNetwork
      extended by yawn.nn.appart.AppArt
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
GasArt

public class AppArt
extends NeuralNetwork

This class implements the AppART neural network. See:

Martí, L., Policriti, A. & García, L. (2003). Hybrid Adaptive Resonance Theory Neural Networks for Universal Function Approximation. In Abraham, A. and Jain, L. (eds.), Innovations in Intelligent Systems and Applications, Studies in Fuzziness and Soft Computing Series. Heidelberg: Physica (Springer) Verlag.

Version:
$Revision: 1.13 $
Author:
Luis Martí (luis dot marti at uc3m dot es)
See Also:
Serialized Form

Field Summary
protected  double desiredMeanSquaredError
           
protected  GainControlUnitOnMatching f2GainControl
           
protected  RecognitionLayer f2Layer
           
protected  Pattern initialDeviations
           
protected  InputLayer inputLayer
           
protected  double learningRate
           
protected  boolean matchTrackingOneShot
           
protected  long maxEpochs
           
protected  GainControlUnitOnOutput outputGainControl
           
protected  OutputLayer outputLayer
           
protected  double predictionError
           
protected  PredictionLayer predictionLayer
           
protected  double predictionLayerLearningRate
           
protected  double testMatchVigilance
           
protected  double trainMatchVigilance
           
protected  boolean useAbsoluteError
           
 
Constructor Summary
AppArt()
           
 
Method Summary
protected  void computeError(Pattern prediction, Pattern expected)
           
protected  void doBackTrack()
           
protected  void doMatchTracking()
           
 double getDesiredMeanSquaredError()
           
 RecognitionLayer getF2Layer()
           
 Pattern getInitialDeviations()
           
 int getInputSize()
           
 double getLearningRate()
           
 long getMaxEpochs()
           
 java.lang.String getNeuralNetworkName()
          Returns a human readable
 int getOutputSize()
           
 double getPredictionError()
           
 PredictionLayer getPredictionLayer()
           
 double getPredictionLayerLearningRate()
           
 double getTestMatchVigilance()
           
 double getTrainMatchVigilance()
           
protected  void init()
           
 boolean isMatchTrackingOneShot()
           
 boolean isUseAbsoluteError()
           
protected  void learn(Pattern pat)
           
protected  Pattern learnNewCategory(Pattern output)
           
protected  int numberOfF2Nodes()
           
 void oneLearningStep(Pattern input, Pattern output)
          Performs one learning iteration.
 Pattern predict(Pattern input)
          Computes a network prediction
protected  Pattern propagate(Pattern output)
          Propagates the input already already presented to the network (by calling setInput())
protected  void reset()
           
 void setAdapting(boolean adapt)
          If set to true puts the network in adapting (training) mode; false puts the network in static or frozen (testing) mode.
 void setDesiredMeanSquaredError(double desiredMeanSquaredError)
           
 void setF2GainControl(GainControlUnitOnMatching gf2)
           
 void setF2Layer(RecognitionLayer f2)
           
 void setInitialDeviations(Pattern initialDeviations)
           
 void setInput(Pattern input)
           
 void setLearningRate(double learningRate)
           
 void setMatchTrackingOneShot(boolean matchTrackingOneShot)
           
 void setMaxEpochs(long maxEpochs)
           
 void setPredictionError(double predictionError)
           
 void setPredictionLayer(PredictionLayer predictionLayer)
           
 void setPredictionLayerLearningRate(double predictionLayerLearningRate)
           
 void setTestMatchVigilance(double testMatchVigilance)
           
 void setTrainMatchVigilance(double trainMatchVigilance)
           
 void setup(NeuralNetworkConfig config)
           
 void setUseAbsoluteError(boolean error)
           
 void setUseRelativeError(boolean error)
           
 void train(InputOutputPattern[] iop)
          Trains the network until the stop criteria is met.
 void useMinimumActivationMatchTracking(boolean use)
           
 void useOneShotMatchTracking(boolean use)
           
 NeuralNetworkConfig yieldConfiguration()
          (non-Javadoc)
 
Methods inherited from class yawn.nn.NeuralNetwork
getAdapting, getStatisticsFacility, isAdapting, setStatisticsFacility
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

f2GainControl

protected GainControlUnitOnMatching f2GainControl

f2Layer

protected RecognitionLayer f2Layer

initialDeviations

protected Pattern initialDeviations

inputLayer

protected InputLayer inputLayer

learningRate

protected double learningRate

matchTrackingOneShot

protected boolean matchTrackingOneShot

maxEpochs

protected long maxEpochs

outputGainControl

protected GainControlUnitOnOutput outputGainControl

outputLayer

protected OutputLayer outputLayer

predictionError

protected double predictionError

predictionLayer

protected PredictionLayer predictionLayer

predictionLayerLearningRate

protected double predictionLayerLearningRate

testMatchVigilance

protected double testMatchVigilance

trainMatchVigilance

protected double trainMatchVigilance

useAbsoluteError

protected boolean useAbsoluteError

desiredMeanSquaredError

protected double desiredMeanSquaredError
Constructor Detail

AppArt

public AppArt()
Method Detail

computeError

protected void computeError(Pattern prediction,
                            Pattern expected)

doBackTrack

protected void doBackTrack()

doMatchTracking

protected void doMatchTracking()

getF2Layer

public RecognitionLayer getF2Layer()
Returns:
Returns the f2Layer.

getInitialDeviations

public Pattern getInitialDeviations()
Returns:
Returns the initialDeviations.

getInputSize

public int getInputSize()
Specified by:
getInputSize in class NeuralNetwork

getLearningRate

public double getLearningRate()
Returns:
Returns the learningRate.

getMaxEpochs

public long getMaxEpochs()
Returns:
Returns the maxEpochs.

getNeuralNetworkName

public java.lang.String getNeuralNetworkName()
Description copied from class: NeuralNetwork
Returns a human readable

Specified by:
getNeuralNetworkName in class NeuralNetwork
Returns:
The name
See Also:
NeuralNetwork.getNeuralNetworkName()

getOutputSize

public int getOutputSize()
Specified by:
getOutputSize in class NeuralNetwork

getPredictionError

public double getPredictionError()
Returns:
Returns the predictionError.

getPredictionLayer

public PredictionLayer getPredictionLayer()
Returns:
Returns the predictionLayer.

getPredictionLayerLearningRate

public double getPredictionLayerLearningRate()
Returns:
Returns the predictionLayerLearningRate.

getTestMatchVigilance

public double getTestMatchVigilance()
Returns:
Returns the testMatchVigilance.

getTrainMatchVigilance

public double getTrainMatchVigilance()
Returns:
Returns the trainMatchVigilance.

init

protected void init()

isMatchTrackingOneShot

public boolean isMatchTrackingOneShot()
Returns:
Returns the matchTrackingOneShot.

isUseAbsoluteError

public boolean isUseAbsoluteError()
Returns:
Returns the useAbsoluteError.

learn

protected void learn(Pattern pat)

learnNewCategory

protected Pattern learnNewCategory(Pattern output)

numberOfF2Nodes

protected int numberOfF2Nodes()

oneLearningStep

public void oneLearningStep(Pattern input,
                            Pattern output)
Description copied from class: NeuralNetwork
Performs one learning iteration.

Specified by:
oneLearningStep in class NeuralNetwork
Parameters:
input - The network input.
output - The desired output.

predict

public Pattern predict(Pattern input)
Description copied from class: NeuralNetwork
Computes a network prediction

Specified by:
predict in class NeuralNetwork
Parameters:
input - The input to propagate.
Returns:
the network output.

propagate

protected Pattern propagate(Pattern output)
Propagates the input already already presented to the network (by calling setInput())


reset

protected void reset()

setAdapting

public void setAdapting(boolean adapt)
Description copied from class: NeuralNetwork
If set to true puts the network in adapting (training) mode; false puts the network in static or frozen (testing) mode.

Overrides:
setAdapting in class NeuralNetwork

setF2GainControl

public void setF2GainControl(GainControlUnitOnMatching gf2)
Parameters:
gf2 - the f2GainControl to set.

setF2Layer

public void setF2Layer(RecognitionLayer f2)
Parameters:
f2 - The f2Layer to set.

setInitialDeviations

public void setInitialDeviations(Pattern initialDeviations)
Parameters:
initialDeviations - The initialDeviations to set.

setInput

public void setInput(Pattern input)

setLearningRate

public void setLearningRate(double learningRate)

setMatchTrackingOneShot

public void setMatchTrackingOneShot(boolean matchTrackingOneShot)
Parameters:
matchTrackingOneShot - The matchTrackingOneShot to set.

setMaxEpochs

public void setMaxEpochs(long maxEpochs)
Parameters:
maxEpochs - The maxEpochs to set.

setPredictionError

public void setPredictionError(double predictionError)
Parameters:
predictionError - The predictionError to set.

setPredictionLayer

public void setPredictionLayer(PredictionLayer predictionLayer)
Parameters:
predictionLayer - the predictionLayer to set

setPredictionLayerLearningRate

public void setPredictionLayerLearningRate(double predictionLayerLearningRate)
Parameters:
predictionLayerLearningRate - The predictionLayerLearningRate to set.

setTestMatchVigilance

public void setTestMatchVigilance(double testMatchVigilance)
Parameters:
testMatchVigilance - The testMatchVigilance to set.

setTrainMatchVigilance

public void setTrainMatchVigilance(double trainMatchVigilance)
Parameters:
trainMatchVigilance - The trainMatchVigilance to set.

setup

public void setup(NeuralNetworkConfig config)
           throws ConfigurationException
Specified by:
setup in class NeuralNetwork
Throws:
ConfigurationException

setUseAbsoluteError

public void setUseAbsoluteError(boolean error)

setUseRelativeError

public void setUseRelativeError(boolean error)

train

public void train(InputOutputPattern[] iop)
Description copied from class: NeuralNetwork
Trains the network until the stop criteria is met.

Specified by:
train in class NeuralNetwork
Parameters:
iop - The training set to be learned.

useMinimumActivationMatchTracking

public void useMinimumActivationMatchTracking(boolean use)

useOneShotMatchTracking

public void useOneShotMatchTracking(boolean use)

yieldConfiguration

public NeuralNetworkConfig yieldConfiguration()
(non-Javadoc)

Specified by:
yieldConfiguration in class NeuralNetwork
See Also:
NeuralNetwork.yieldConfiguration()

getDesiredMeanSquaredError

public double getDesiredMeanSquaredError()
Returns:
Returns the desiredMeanSquaredError.

setDesiredMeanSquaredError

public void setDesiredMeanSquaredError(double desiredMeanSquaredError)
Parameters:
desiredMeanSquaredError - The desiredMeanSquaredError to set.


Copyright © 2003-2005 GIAA, Universidad Carlos III de Madrid. All Rights Reserved.