ABLE, Version 1.1b

com.ibm.able.agents
Class AbleNeuralClassifierAgent

java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--com.ibm.able.AbleObject
                          |
                          +--com.ibm.able.agents.AbleDefaultAgent
                                |
                                +--com.ibm.able.agents.AbleNeuralClassifierAgent

public class AbleNeuralClassifierAgent
extends AbleDefaultAgent
implements java.io.Serializable

This class implements a classifier using back propagation

Version:
$Revision: 1.16 $, $Date: 2000/08/25 18:40:06 $
See Also:
Serialized Form

Field Summary
 double avgRMSError
           
protected  int bufferSize
           
protected  java.lang.String dataFileName
           
protected  int desiredPercentCorrect
           
protected  int desiredPercentIncorrect
           
protected  AbleBean filt1
           
protected  AbleBean filt2
           
protected  AbleImport imp1
           
protected  AbleImport imp2
           
protected  double[] inNum
           
protected  java.lang.String[] inSym
           
protected  int lastNumPasses
           
protected  int maxNumPasses
           
protected  AbleBackPropagation net
           
protected  java.lang.String netArch
           
 int numPasses
           
protected  double[] outNum
           
protected  java.lang.String[] outSym
           
protected  java.lang.String testDataFileName
           
protected  double testTolerance
           
protected  boolean training
           
protected  boolean trainOK
           
protected  int trainToTestRatio
           
protected  double userTolerance
           
 
Fields inherited from class com.ibm.able.agents.AbleDefaultAgent
activeDataSource, agentAddr, agentHost, agentName, beans, effectors, eventConnections, numEpochs, processList, processListOK, sensors
 
Fields inherited from class com.ibm.able.AbleObject
changed, chgSupport, comment, dataFlowEnabled, destBufferConnections, eventQueue, fileName, inputBuffer, listeners, logger, name, outputBuffer, parent, propertyConnectionMgr, sourceBufferConnections, state, stateChgSupport
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
AbleNeuralClassifierAgent()
           
AbleNeuralClassifierAgent(java.lang.String aName)
           
 
Method Summary
protected  void autoTrain(int numPasses)
          this method toggles between train/test modes it is only called at the end of an epoch
static java.lang.String Copyright()
          Determine the copyright of this class.
 double getAvgRMSError()
           
 int getBufferSize()
           
 java.lang.String getDataFileName()
           
 int getDesiredPercentCorrect()
           
 int getDesiredPercentIncorrect()
           
 int getMaxNumPasses()
           
 int getMode()
          get the internal config for either NNTRAIN = training from an external data file NNTEST = testing (with network locked) from an external data file or NNRUN = running (with network locked) from data placed in the input buffer
 java.lang.String getNetArch()
          Return the number of hidden units specified.
 java.lang.String getNetArchitecture()
          Return the number of input, hidden, and output units.
 AbleBackPropagation getNetwork()
           
 int getNumPasses()
           
 java.lang.String getTestDataFileName()
           
 double getTestTolerance()
           
 int getTrainToTestRatio()
           
 void init()
          generate a complete neural Classifier agent bean
 boolean isTraining()
          Check to see if the network is in the process of training.
 void processTimerEvent()
          This method is called from the asynch thread It is only used for automated training of the neural agent
 void reset()
          Reset each bean in the agent.
 void setBufferSize(int size)
           
 void setDataFileName(java.lang.String aFileName)
           
 void setDesiredPercentCorrect(int percent)
           
 void setDesiredPercentIncorrect(int percent)
           
 void setMaxNumPasses(int num)
           
 void setMode(int mode)
          set the internal config for either NNTRAIN = training from an external data file NNTEST = testing (with network locked) from an external data file or NNRUN = running (with network locked) from data placed in the input buffer
 void setNetArch(java.lang.String arch)
           
 void setNumPasses(int num)
           
 void setTestDataFileName(java.lang.String aFileName)
           
 void setTestTolerance(double tol)
           
 void setTrainToTestRatio(int num)
           
 void startTraining()
          start automatically training the model from the external data this method is called from the customizer Start button should only be called when agent is already in TRAIN state
 void stopTraining()
          stop automatically training the model from the external data
 void train()
          automatically train the model from the external data stop and lock the network when we are done
 
Methods inherited from class com.ibm.able.agents.AbleDefaultAgent
addBean, addEffector, addEventConnection, addSensor, buildProcessList, clsNm, containsBean, containsBean, debugTrace, getAgentAddr, getAgentHost, getAgentName, getBean, getBeans, getDataSource, getEffectors, getNumEpochs, getProcessList, getSensors, handleAbleEvent, init, invokeEffector, invokeSensor, isActiveDataSource, main, process, propertyChange, quitAll, quitEnabledEventProcessing, removeAllBeans, removeBean, removeEffector, removeEventConnection, removeSensor, resumeAll, rmiRebind, rmiUnbind, setActiveDataSource, setEffectors, setProcessList, setSensors, suspendAll, toString
 
Methods inherited from class com.ibm.able.AbleObject
addAbleEventListener, addDestBufferConnection, addPropertyChangeListener, addPropertyConnection, addSourceBufferConnection, addStateChangeListener, dataChanged, firePropertyChange, flushAbleEventQueue, getAbleEventListeners, getAbleEventProcessingEnabled, getAbleEventQueueSize, getBuffer, getBufferContents, getComment, getDestBufferConnections, getFileName, getInputBuffer, getInputBuffer, getInputBufferAsStringArray, getInputBufferContents, getLogger, getName, getOutputBuffer, getOutputBuffer, getOutputBufferAsStringArray, getOutputBufferContents, getParent, getPropertyConnectionManager, getSleepTime, getSourceBufferConnections, getState, hasInputBuffer, hasOutputBuffer, isAbleEventPostingEnabled, isAbleEventProcessingEnabled, isChanged, isConnectable, isDataFlowEnabled, isTimerEventProcessingEnabled, notifyAbleEventListeners, processAbleEvent, processBufferConnections, processNoEventProcessingEnabledSituation, removeAbleEventListener, removeAllAbleEventListeners, removeAllBufferConnections, removeAllPropertyConnections, removeDestBufferConnection, removePropertyChangeListener, removePropertyConnection, removeSourceBufferConnection, removeStateChangeListener, restartEnabledEventProcessing, restoreFromFile, restoreFromFile, restoreFromSerializedFile, restoreFromStream, resumeEnabledEventProcessing, saveToFile, saveToFile, setAbleEventProcessingEnabled, setChanged, setComment, setDataFlowEnabled, setFileName, setInputBuffer, setInputBuffer, setLogger, setName, setOutputBuffer, setOutputBuffer, setParent, setSleepTime, setState, setTimerEventProcessingEnabled, sourceConnectionsOK, startEnabledEventProcessing, suspendEnabledEventProcessing
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toStub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

dataFileName

protected java.lang.String dataFileName

testDataFileName

protected java.lang.String testDataFileName

bufferSize

protected int bufferSize

maxNumPasses

protected int maxNumPasses

desiredPercentCorrect

protected int desiredPercentCorrect

desiredPercentIncorrect

protected int desiredPercentIncorrect

netArch

protected java.lang.String netArch

imp1

protected AbleImport imp1

imp2

protected AbleImport imp2

filt1

protected AbleBean filt1

filt2

protected AbleBean filt2

net

protected AbleBackPropagation net

avgRMSError

public double avgRMSError

numPasses

public int numPasses

training

protected boolean training

lastNumPasses

protected int lastNumPasses

userTolerance

protected double userTolerance

testTolerance

protected double testTolerance

trainToTestRatio

protected int trainToTestRatio

trainOK

protected boolean trainOK

inNum

protected double[] inNum

outNum

protected double[] outNum

inSym

protected java.lang.String[] inSym

outSym

protected java.lang.String[] outSym
Constructor Detail

AbleNeuralClassifierAgent

public AbleNeuralClassifierAgent()
                          throws java.rmi.RemoteException

AbleNeuralClassifierAgent

public AbleNeuralClassifierAgent(java.lang.String aName)
                          throws java.rmi.RemoteException
Method Detail

init

public void init()
          throws java.rmi.RemoteException
generate a complete neural Classifier agent bean
Overrides:
init in class AbleDefaultAgent

processTimerEvent

public void processTimerEvent()
                       throws java.rmi.RemoteException
This method is called from the asynch thread It is only used for automated training of the neural agent
Overrides:
processTimerEvent in class AbleObject

autoTrain

protected void autoTrain(int numPasses)
this method toggles between train/test modes it is only called at the end of an epoch

setDataFileName

public void setDataFileName(java.lang.String aFileName)

getDataFileName

public java.lang.String getDataFileName()

setTestDataFileName

public void setTestDataFileName(java.lang.String aFileName)

getTestDataFileName

public java.lang.String getTestDataFileName()

setBufferSize

public void setBufferSize(int size)

getBufferSize

public int getBufferSize()

getNetwork

public AbleBackPropagation getNetwork()

getNumPasses

public int getNumPasses()

setNumPasses

public void setNumPasses(int num)

setMaxNumPasses

public void setMaxNumPasses(int num)

getMaxNumPasses

public int getMaxNumPasses()

setDesiredPercentCorrect

public void setDesiredPercentCorrect(int percent)

getDesiredPercentCorrect

public int getDesiredPercentCorrect()

setDesiredPercentIncorrect

public void setDesiredPercentIncorrect(int percent)

getDesiredPercentIncorrect

public int getDesiredPercentIncorrect()

getAvgRMSError

public double getAvgRMSError()

setNetArch

public void setNetArch(java.lang.String arch)

getNetArch

public java.lang.String getNetArch()
Return the number of hidden units specified. Input and output units are calculated.

getNetArchitecture

public java.lang.String getNetArchitecture()
Return the number of input, hidden, and output units.

setTrainToTestRatio

public void setTrainToTestRatio(int num)

getTrainToTestRatio

public int getTrainToTestRatio()

setTestTolerance

public void setTestTolerance(double tol)

getTestTolerance

public double getTestTolerance()

setMode

public void setMode(int mode)
             throws java.rmi.RemoteException
set the internal config for either NNTRAIN = training from an external data file NNTEST = testing (with network locked) from an external data file or NNRUN = running (with network locked) from data placed in the input buffer

getMode

public int getMode()
            throws java.rmi.RemoteException
get the internal config for either NNTRAIN = training from an external data file NNTEST = testing (with network locked) from an external data file or NNRUN = running (with network locked) from data placed in the input buffer

isTraining

public boolean isTraining()
                   throws java.rmi.RemoteException
Check to see if the network is in the process of training.

train

public void train()
           throws java.rmi.RemoteException
automatically train the model from the external data stop and lock the network when we are done

startTraining

public void startTraining()
                   throws java.rmi.RemoteException
start automatically training the model from the external data this method is called from the customizer Start button should only be called when agent is already in TRAIN state

stopTraining

public void stopTraining()
                  throws java.rmi.RemoteException
stop automatically training the model from the external data

reset

public void reset()
           throws java.rmi.RemoteException
Reset each bean in the agent. Restore training settings to default values.
Overrides:
reset in class AbleDefaultAgent

Copyright

public static java.lang.String Copyright()
Determine the copyright of this class.
Returns:
A String containing this class's copyright statement.

ABLE, Version 1.1b

ABLE: Produced by Joe, Don, and Jeff who say, 'Thanks for your support.'