ART1
org.encog.neural.art

Class ART1

  • All Implemented Interfaces:
    Serializable, MLClassification, MLInput, MLInputOutput, MLMethod, MLOutput, MLProperties, MLResettable


    public class ART1extends ARTimplements MLResettable, MLClassification
    Implements an ART1 neural network. An ART1 neural network is trained to recognize bipolar patterns as it is presented data. There is no distinct learning phase, like there is with other neural network types. The ART1 neural network is a type of Adaptive Resonance Theory (ART) neural network. ART1 was developed by Stephen Grossberg and Gail Carpenter. This neural network type supports only bipolar input. The ART1 neural network is trained as it is used. New patterns are presented to the ART1 network, and they are classified into either new, or existing, classes. Once the maximum number of classes have been used the network will report that it is out of classes. ART1 neural networks are used for classification. There are essentially 2 layers in an ART1 network. The first, named the F1 layer, acts as the input. The F1 layer receives bipolar patterns that the network is to classify. The F2 layer specifies the maximum number classes that the ART1 network can recognize. Plasticity is an important part for all Adaptive Resonance Theory (ART) neural networks. Unlike most neural networks, ART1 does not have a distinct training and usage stage. The ART1 network will learn as it is used.
    See Also:
    Serialized Form
    • Constructor Detail

      • ART1

        public ART1()
        Default constructor, used mainly for persistence.
      • ART1

        public ART1(int theF1Count,    int theF2Count)
        Construct the ART1 network.
        Parameters:
        theF1Count - The neuron count for the f1 layer.
        theF2Count - The neuron count for the f2 layer.
    • Method Detail

      • adjustWeights

        public void adjustWeights()
        Adjust the weights for the pattern just presented.
      • classify

        public int classify(MLData input)
        Classify the input data to a class number.
        Specified by:
        classify in interface MLClassification
        Parameters:
        input - The input data.
        Returns:
        The class that the data belongs to.
      • compute

        public void compute(BiPolarNeuralData input,           BiPolarNeuralData output)
        Compute the output from the ART1 network. This can be called directly or used by the BasicNetwork class. Both input and output should be bipolar numbers.
        Parameters:
        input - The input to the network.
        output - The output from the network.
      • compute

        public MLData compute(MLData input)
        Compute the output for the BasicNetwork class.
        Parameters:
        input - The input to the network.
        Returns:
        The output from the network.
      • getA1

        public double getA1()
        Returns:
        The A1 parameter.
      • getB1

        public double getB1()
        Returns:
        The B1 parameter.
      • getC1

        public double getC1()
        Returns:
        The C1 parameter.
      • getD1

        public double getD1()
        Returns:
        The D1 parameter.
      • getF1Count

        public int getF1Count()
        Returns:
        the f1Count
      • getF2Count

        public int getF2Count()
        Returns:
        the f2Count
      • getInputCount

        public int getInputCount()
        Specified by:
        getInputCount in interface MLInput
        Returns:
        The input.
      • getL

        public double getL()
        Returns:
        The L parameter.
      • getNoWinner

        public int getNoWinner()
        Returns:
        This is the value that is returned if there is no winner. This value is generally set to the index of the last classes, plus 1. For example, if there were 3 classes, the network would return 0-2 to represent what class was found, in this case the no winner property would be set to 3.
      • getOutputCount

        public int getOutputCount()
        Specified by:
        getOutputCount in interface MLOutput
        Returns:
        The number of neurons in the output count, which is the f2 layer count.
      • getVigilance

        public double getVigilance()
        Returns:
        The vigilance parameter.
      • getWeightsF1toF2

        public Matrix getWeightsF1toF2()
        Returns:
        the weightsF1toF2
      • getWeightsF2toF1

        public Matrix getWeightsF2toF1()
        Returns:
        the weightsF2toF1
      • getWinner

        public int getWinner()
        Returns:
        The winning neuron.
      • hasWinner

        public boolean hasWinner()
        Returns:
        Does this network have a "winner"?
      • magnitude

        public double magnitude(BiPolarNeuralData input)
        Get the magnitude of the specified input.
        Parameters:
        input - The input to calculate the magnitude for.
        Returns:
        The magnitude of the specified pattern.
      • reset

        public void reset()
        Reset the weight matrix back to starting values.
        Specified by:
        reset in interface MLResettable
      • reset

        public void reset(int seed)
        Reset with a specic seed.
        Specified by:
        reset in interface MLResettable
        Parameters:
        seed - The seed to reset with.
      • setA1

        public void setA1(double theA1)
        Set the A1 parameter.
        Parameters:
        theA1 - The new value.
      • setB1

        public void setB1(double theB1)
        Set the B1 parameter.
        Parameters:
        theB1 - The new value.
      • setC1

        public void setC1(double theC1)
        Set the C1 parameter.
        Parameters:
        theC1 - The new value.
      • setD1

        public void setD1(double theD1)
        Set the D1 parameter.
        Parameters:
        theD1 - The new value.
      • setF1Count

        public void setF1Count(int i)
        Set the F1 count. The F1 layer is the input layer.
        Parameters:
        i - The count.
      • setF2Count

        public void setF2Count(int i)
        Set the F2 count. The F2 layer is the output layer.
        Parameters:
        i - The count.
      • setL

        public void setL(double theL)
        Set the L parameter.
        Parameters:
        theL - The new value.
      • setNoWinner

        public void setNoWinner(int i)
        Set the i parameter.
        Parameters:
        i - The new value.
      • setVigilance

        public void setVigilance(double theVigilance)
        Set the vigilance.
        Parameters:
        theVigilance - The new value.
      • setWeightsF1toF2

        public void setWeightsF1toF2(Matrix matrix)
        Set the f1 to f2 matrix.
        Parameters:
        matrix - The new matrix.
      • setWeightsF2toF1

        public void setWeightsF2toF1(Matrix matrix)
        Set the f2 to f1 matrix.
        Parameters:
        matrix - The new matrix.

SCaVis 1.7 © jWork.org