Documentation of 'org.joone.engine.KohonenSynapse' Java class
KohonenSynapse
org.joone.engine

Class KohonenSynapse

  • All Implemented Interfaces:
    java.io.Serializable, java.util.EventListener, InputPatternListener, Learnable, LearnableSynapse, NeuralElement, NeuralNetListener, OutputPatternListener, Inspectable


    public class KohonenSynapse
    extends FullSynapse
    implements NeuralNetListener

    This is an unsupervised Kohonen Synapse which is a Self Organising Map.

    This KohonenSynapse works in conjunction with the next layer which should implement a SOM strategy such as a GuassianLayer or WTALayer (Winner Takes All). This synapse should connect to one of these layers, without a SOM Strategy in the next layer this component will not function correctly.

    This KohonenSynapse takes a pattern from the previous layer, calculates the distance between the input vector and the weights and passes this on to the next layer. In the learning phase the next layer should calculate the distance fall off between the winner and all other nodes (1.0 being the closest distance and 0.0 being furthest away and not being considered near to the winner). These distances are passed back to this KohonenSynapse and used to adjust the weights.

    The weights are adjusted based on the current learning rate and distance fall off.

    At each epoch/cycel the learning rate is adjusted in the following way ...

    If the current cycle is within the ordering phase then the learning rate is set to

    User setup learning rate * exp(-(double)(Current Cycle/Time Constant)).

    See Also:
    Serialized Form
    • Constructor Detail

      • KohonenSynapse

        public KohonenSynapse()

        The default constructor for the KohonenSynapse class.

    • Method Detail

      • setMonitor

        public void setMonitor(Monitor newMonitor)
        Sets the Monitor object of the synapse
        Specified by:
        setMonitor in interface NeuralElement
        Overrides:
        setMonitor in class Synapse
        Parameters:
        newMonitor - neural.engine.Monitor
      • cicleTerminated

        public void cicleTerminated(NeuralNetEvent e)

        Changes the learning rate for this synapse depending in the current epoch number. The learning rate is changed in the following way ...

        User setup learning rate * exp(-(double)(Current Cycle/Time Constant)).

        Specified by:
        cicleTerminated in interface NeuralNetListener
        Parameters:
        e - The original Net Event.
      • netStarted

        public void netStarted(NeuralNetEvent e)
        Initialises any shape sizes such as circular radius and time constant before possible training.
        Specified by:
        netStarted in interface NeuralNetListener
        Parameters:
        e - The original Net Event.
      • netStoppedError

        public void netStoppedError(NeuralNetEvent e,
                                    java.lang.String error)
        Not implemented.
        Specified by:
        netStoppedError in interface NeuralNetListener
        Parameters:
        e - The original Net Event.
        error - The error that caused this NetStoppedError event.
      • check

        public java.util.TreeSet check()

        Check that there are no errors or problems with the properties of this KohonenSynapse.

        Specified by:
        check in interface NeuralElement
        Overrides:
        check in class Synapse
        Returns:
        The TreeSet of errors / problems if any.
        See Also:
        InputPaternListener, OutputPaternListener
      • getOrderingPhase

        public int getOrderingPhase()
        Getter for property orderingPhase.
        Returns:
        Value of property orderingPhase.
      • setOrderingPhase

        public void setOrderingPhase(int orderingPhase)
        Setter for property orderingPhase.
        Parameters:
        orderingPhase - New value of property orderingPhase.
      • getTimeConstant

        public double getTimeConstant()
        Getter for property timeConstant.
        Returns:
        Value of property timeConstant.
      • setTimeConstant

        public void setTimeConstant(double timeConstant)
        Setter for property timeConstant.
        Parameters:
        timeConstant - New value of property timeConstant.
      • getLearner

        public Learner getLearner()
        Deprecated. - Used only for backward compatibility
        Description copied from class: Synapse
        Returns the appropriate Learner object for this class depending on the Monitor.learningMode property value
        Specified by:
        getLearner in interface Learnable
        Overrides:
        getLearner in class FullSynapse
        Returns:
        the Learner object if applicable, otherwise null
        See Also:
        Learnable.getLearner()

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.