org.joone.engine
Class EKFFFNLearnerPlugin

java.lang.Object
  extended by org.joone.util.MonitorPlugin
      extended by org.joone.engine.EKFFFNLearnerPlugin
All Implemented Interfaces:
java.io.Serializable, java.util.EventListener, NeuralNetListener

public class EKFFFNLearnerPlugin
extends MonitorPlugin

A plugin listener that implements the EKFFFN learner used to train feed forward neural networks.

Author:
mg
See Also:
Serialized Form

Field Summary
protected  int cycleCount
          Network cycle counter
protected  ExtendedKalmanFilterFFN ekf
          The filter that will do the training
protected  Synapse errorPatternListener
          The synapse that we will attach in order to catch the error
protected  double kalmanBoost
          The kalman boost factor
protected  double[] lastError
          The most recently seen error
protected  int processorCount
          Number of processors to use, 2 or more uses SMP
protected  int verbose
          Zero for no verbosity, otherwise the number of patterns after which we croak
 
Constructor Summary
EKFFFNLearnerPlugin(double kalmanBoost, int verbose)
          The constructor
EKFFFNLearnerPlugin(double kalmanBoost, int verbose, int processorCount)
          The constructor for SMP processing
 
Method Summary
protected  void attachErrorPatternListener()
          Attach a synapse to the output layer to calculate the error pattern and update the EKF on line.
static void main(java.lang.String[] args)
          Execute one of the testers
protected  void manageCycle(Monitor mon)
           
protected  void manageError(Monitor mon)
           
protected  void manageStart(Monitor mon)
           
protected  void manageStop(Monitor mon)
           
protected  void manageStopError(Monitor mon, java.lang.String msgErr)
           
static void testEKF(java.lang.String[] args)
          Test the EKF learner
 
Methods inherited from class org.joone.util.MonitorPlugin
cicleTerminated, errorChanged, getName, getNeuralNet, getRate, netStarted, netStopped, netStoppedError, setName, setNeuralNet, setRate, toBeManaged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

errorPatternListener

protected transient Synapse errorPatternListener
The synapse that we will attach in order to catch the error


ekf

protected transient ExtendedKalmanFilterFFN ekf
The filter that will do the training


cycleCount

protected transient int cycleCount
Network cycle counter


lastError

protected transient double[] lastError
The most recently seen error


kalmanBoost

protected double kalmanBoost
The kalman boost factor


verbose

protected int verbose
Zero for no verbosity, otherwise the number of patterns after which we croak


processorCount

protected int processorCount
Number of processors to use, 2 or more uses SMP

Constructor Detail

EKFFFNLearnerPlugin

public EKFFFNLearnerPlugin(double kalmanBoost,
                           int verbose,
                           int processorCount)
The constructor for SMP processing


EKFFFNLearnerPlugin

public EKFFFNLearnerPlugin(double kalmanBoost,
                           int verbose)
The constructor

Method Detail

attachErrorPatternListener

protected void attachErrorPatternListener()
Attach a synapse to the output layer to calculate the error pattern and update the EKF on line.


manageStop

protected void manageStop(Monitor mon)
Specified by:
manageStop in class MonitorPlugin

manageCycle

protected void manageCycle(Monitor mon)
Specified by:
manageCycle in class MonitorPlugin

manageStart

protected void manageStart(Monitor mon)
Specified by:
manageStart in class MonitorPlugin

manageError

protected void manageError(Monitor mon)
Specified by:
manageError in class MonitorPlugin

manageStopError

protected void manageStopError(Monitor mon,
                               java.lang.String msgErr)
Specified by:
manageStopError in class MonitorPlugin

testEKF

public static void testEKF(java.lang.String[] args)
Test the EKF learner


main

public static void main(java.lang.String[] args)
Execute one of the testers



Submit Feedback to pmarrone@users.sourceforge.net