ABLE, Version 1.1b

com.ibm.able.beans
Class AbleSelfOrganizingMap

java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--com.ibm.able.AbleObject
                          |
                          +--com.ibm.able.beans.AbleNetwork
                                |
                                +--com.ibm.able.beans.AbleSelfOrganizingMap

public class AbleSelfOrganizingMap
extends AbleNetwork
implements java.io.Serializable

This class implements the Kohonen Self-Organizing Feature Map algorithm For clustering high-dimensional input spaces into a 2-D grid It has several enhancements, including special processing for sparse inputs batch updates, gaussian neighborhood functions and exponential learning rate decay

See Also:
Serialized Form

Fields inherited from class com.ibm.able.beans.AbleNetwork
activations, breakPointFlag, breakPoints, inNum, lastBreakPoint, MODE_NAMES, netArchitecture, netEpoch, netMode, netModelType, netRecInx, netStepsPerEpoch, NNRUN, NNTEST, NNTRAIN, outNum
 
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
AbleSelfOrganizingMap()
          default constructor
AbleSelfOrganizingMap(java.lang.String aName)
          default constructor
AbleSelfOrganizingMap(java.lang.String aName, java.lang.String args)
          Construct a Kohonen or SOM network with specified architecture
 
Method Summary
 void changeNetArchitecture(java.lang.String parms)
           
static java.lang.String Copyright()
          Determine the copyright of this class.
 void createNetwork(int NumIn, int NumRows, int NumCols)
          create a Back Propagation network with the specified architecture
 void endEpoch()
           
 double[] getActivations()
           
 double[] getBias()
           
 double getConfidence()
           
 double getConscience()
          return the conscience parameter
 int[] getDistance()
           
 boolean getEpochUpdate()
           
 double getLearnRate()
          return the learn rate parameter
 int getMaxNumEpochs()
          return the max num Epochs parameter
 java.lang.String getNetArchitecture()
          Return the number of input and output units.
 java.util.Vector getNetworkGraphicData()
          return data on the network architecture, activations, and weights for display by the AbleNetworkGraphicView custom inspector
 int getNumCols()
           
 int getNumInputs()
           
 int getNumOutputs()
           
 int getNumPasses()
           
 int getNumRows()
           
 int getNumUnits()
           
 int getNumWeights()
           
 double[] getProtoInput()
           
 long getRecordIndex()
           
 double[] getWeights()
           
 int getWinner()
           
 int getWinner2()
           
 double getWinnerAct()
           
 double getWinnerAct2()
           
 double[] getWinRate()
           
 void initialize()
           
 void process()
           
 void readInputs()
          read inputs from the input buffer
 void reset()
           
 void setConscience(double newVal)
          set the conscience parameter
 void setEpochUpdate(boolean state)
           
 void setLearnRate(double newVal)
          set the learn rate parameter
 void setMaxNumEpochs(int num)
          set the max Num Epochs parameter
 void setNetArchitecture(java.lang.String parms)
           
 
Methods inherited from class com.ibm.able.beans.AbleNetwork
breakPointReached, clearAllBreakPoints, clearBreakPoint, clearBreakPoint, clearLastBreakPoint, getLastBreakPoint, getNetEpoch, getNetMode, getNetRecInx, getNetStepsPerEpoch, init, setBreakPoint, setNetMode, setNetStepsPerEpoch, testBreakPoints
 
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, handleAbleEvent, hasInputBuffer, hasOutputBuffer, init, isAbleEventPostingEnabled, isAbleEventProcessingEnabled, isChanged, isConnectable, isDataFlowEnabled, isTimerEventProcessingEnabled, notifyAbleEventListeners, processAbleEvent, processBufferConnections, processNoEventProcessingEnabledSituation, processTimerEvent, propertyChange, quitAll, quitEnabledEventProcessing, removeAbleEventListener, removeAllAbleEventListeners, removeAllBufferConnections, removeAllPropertyConnections, removeDestBufferConnection, removePropertyChangeListener, removePropertyConnection, removeSourceBufferConnection, removeStateChangeListener, restartEnabledEventProcessing, restoreFromFile, restoreFromFile, restoreFromSerializedFile, restoreFromStream, resumeAll, resumeEnabledEventProcessing, saveToFile, saveToFile, setAbleEventProcessingEnabled, setChanged, setComment, setDataFlowEnabled, setFileName, setInputBuffer, setInputBuffer, setLogger, setName, setOutputBuffer, setOutputBuffer, setParent, setSleepTime, setState, setTimerEventProcessingEnabled, sourceConnectionsOK, startEnabledEventProcessing, suspendAll, suspendEnabledEventProcessing, toString
 
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
 

Constructor Detail

AbleSelfOrganizingMap

public AbleSelfOrganizingMap()
                      throws java.rmi.RemoteException
default constructor

AbleSelfOrganizingMap

public AbleSelfOrganizingMap(java.lang.String aName)
                      throws java.rmi.RemoteException
default constructor

AbleSelfOrganizingMap

public AbleSelfOrganizingMap(java.lang.String aName,
                             java.lang.String args)
                      throws java.rmi.RemoteException
Construct a Kohonen or SOM network with specified architecture
Method Detail

getRecordIndex

public long getRecordIndex()

getNumPasses

public int getNumPasses()

getNumInputs

public int getNumInputs()

getNumRows

public int getNumRows()

getNumCols

public int getNumCols()

getNumOutputs

public int getNumOutputs()

getNumUnits

public int getNumUnits()

getNumWeights

public int getNumWeights()

getEpochUpdate

public boolean getEpochUpdate()

setEpochUpdate

public void setEpochUpdate(boolean state)

getWinner

public int getWinner()

getWinner2

public int getWinner2()

getWinnerAct

public double getWinnerAct()

getWinnerAct2

public double getWinnerAct2()

getConfidence

public double getConfidence()

setLearnRate

public void setLearnRate(double newVal)
set the learn rate parameter

getLearnRate

public double getLearnRate()
return the learn rate parameter

setMaxNumEpochs

public void setMaxNumEpochs(int num)
set the max Num Epochs parameter

getMaxNumEpochs

public int getMaxNumEpochs()
return the max num Epochs parameter

setConscience

public void setConscience(double newVal)
set the conscience parameter

getConscience

public double getConscience()
return the conscience parameter

getActivations

public double[] getActivations()

getWeights

public double[] getWeights()

getWinRate

public double[] getWinRate()

getProtoInput

public double[] getProtoInput()

getBias

public double[] getBias()

getDistance

public int[] getDistance()

reset

public void reset()
           throws java.rmi.RemoteException
Overrides:
reset in class AbleObject

initialize

public void initialize()
                throws java.rmi.RemoteException

endEpoch

public void endEpoch()
Overrides:
endEpoch in class AbleNetwork

readInputs

public void readInputs()
                throws java.rmi.RemoteException
read inputs from the input buffer

process

public void process()
             throws java.rmi.RemoteException
Overrides:
process in class AbleObject

changeNetArchitecture

public void changeNetArchitecture(java.lang.String parms)
                           throws java.rmi.RemoteException
Overrides:
changeNetArchitecture in class AbleNetwork

createNetwork

public void createNetwork(int NumIn,
                          int NumRows,
                          int NumCols)
                   throws java.rmi.RemoteException
create a Back Propagation network with the specified architecture

setNetArchitecture

public void setNetArchitecture(java.lang.String parms)
                        throws java.rmi.RemoteException
Overrides:
setNetArchitecture in class AbleNetwork

getNetworkGraphicData

public java.util.Vector getNetworkGraphicData()
return data on the network architecture, activations, and weights for display by the AbleNetworkGraphicView custom inspector
Returns:
a Vector containing 3 elements, a) an int[] containing num units per layer b) a double[] array containing network activations, c) a Vector containing N weights arrays.
Overrides:
getNetworkGraphicData in class AbleNetwork

getNetArchitecture

public java.lang.String getNetArchitecture()
                                    throws java.rmi.RemoteException
Return the number of input and output units.

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.'