org.encog.neural.art
Class ART1
- java.lang.Object
-
- org.encog.ml.BasicML
-
- org.encog.neural.art.ART
-
- org.encog.neural.art.ART1
-
- All Implemented Interfaces:
- java.io.Serializable, MLClassification, MLInput, MLInputOutput, MLMethod, MLOutput, MLProperties, MLResettable
public class ART1 extends ART implements 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
-
-
Field Summary
-
Fields inherited from class org.encog.neural.art.ART
PROPERTY_A1, PROPERTY_B1, PROPERTY_C1, PROPERTY_D1, PROPERTY_L, PROPERTY_NO_WINNER, PROPERTY_VIGILANCE
-
-
Constructor Summary
Constructors Constructor and Description ART1()Default constructor, used mainly for persistence.ART1(int theF1Count, int theF2Count)Construct the ART1 network.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidadjustWeights()Adjust the weights for the pattern just presented.intclassify(MLData input)Classify the input data to a class number.voidcompute(BiPolarNeuralData input, BiPolarNeuralData output)Compute the output from the ART1 network.MLDatacompute(MLData input)Compute the output for the BasicNetwork class.doublegetA1()doublegetB1()doublegetC1()doublegetD1()intgetF1Count()intgetF2Count()intgetInputCount()doublegetL()intgetNoWinner()intgetOutputCount()doublegetVigilance()MatrixgetWeightsF1toF2()MatrixgetWeightsF2toF1()intgetWinner()booleanhasWinner()doublemagnitude(BiPolarNeuralData input)Get the magnitude of the specified input.voidreset()Reset the weight matrix back to starting values.voidreset(int seed)Reset with a specic seed.voidsetA1(double theA1)Set the A1 parameter.voidsetB1(double theB1)Set the B1 parameter.voidsetC1(double theC1)Set the C1 parameter.voidsetD1(double theD1)Set the D1 parameter.voidsetF1Count(int i)Set the F1 count.voidsetF2Count(int i)Set the F2 count.voidsetL(double theL)Set the L parameter.voidsetNoWinner(int i)Set the i parameter.voidsetVigilance(double theVigilance)Set the vigilance.voidsetWeightsF1toF2(Matrix matrix)Set the f1 to f2 matrix.voidsetWeightsF2toF1(Matrix matrix)Set the f2 to f1 matrix.-
Methods inherited from class org.encog.neural.art.ART
updateProperties
-
Methods inherited from class org.encog.ml.BasicML
getProperties, getPropertyDouble, getPropertyLong, getPropertyString, setProperty, setProperty, setProperty
-
-
-
-
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:
classifyin interfaceMLClassification- 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:
getInputCountin interfaceMLInput- 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:
getOutputCountin interfaceMLOutput- 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:
resetin interfaceMLResettable
-
reset
public void reset(int seed)
Reset with a specic seed.- Specified by:
resetin interfaceMLResettable- 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.
-
-
DMelt 3.0 © DataMelt by jWork.ORG