|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object yawn.nn.NeuralNetwork yawn.nn.fuzzyartmap.FuzzyArtMap
public class FuzzyArtMap
Implements the Fuzzy ARTMAP neural network, as described in
Carpenter, G. A., Grossberg, S., Markuzon, N., Reynolds, J. H. & Rosen, D. B. (1992). Fuzzy ARTMAP: A neural network architecture for incremental supervised learning of analog multidimensional maps. IEEE Transactions on Neural Networks, 3(5):698-713.
This code is based on the implementations of Relu Patrascu (rpatrasc at cs dot uwaterloo dot ca) and John Reynold (refined and maintained by Ah-Hwee Tan (atan at park dot bu dot edu)).
Field Summary | |
---|---|
protected double |
alphaArtA
|
protected double |
alphaArtB
|
protected FuzzyArt |
artA
|
protected FuzzyArt |
artB
|
protected double |
betaArtA
|
protected double |
betaArtB
|
protected double |
epsilon
small amount added when doing match tracking |
protected int |
inputSize
|
protected double |
matchError
max difference between desired output and prediction to be counted as error |
protected int |
maxEpochs
max number of passes through the training set |
protected int |
outputSize
|
protected boolean |
useComplementCoding
|
protected double |
vigilanceArtA
|
protected double |
vigilanceArtB
|
Constructor Summary | |
---|---|
FuzzyArtMap()
|
Method Summary | |
---|---|
protected Pattern |
bThenAActivation(Pattern input,
Pattern output)
Activates ARTb before ARTa, this kind of activation avoids the ``match tracking anomaly'' reported in |
Pattern |
deScaleZeroOneOutput(Pattern pat)
|
OptimizationAdapter |
getAdapterInstance()
|
double |
getAlphaArtA()
|
double |
getAlphaArtB()
|
double |
getBetaArtA()
|
double |
getBetaArtB()
|
double |
getEpsilon()
|
int |
getInputSize()
|
double |
getMatchError()
|
int |
getMaxEpochs()
|
java.lang.String |
getNeuralNetworkName()
Returns a human readable |
int |
getNumberOfArtACategories()
|
int |
getNumberOfArtBCategories()
|
int |
getNumberOfMismatches()
|
int |
getOutputSize()
|
double |
getVigilanceArtA()
|
double |
getVigilanceArtB()
|
protected void |
increaseSize()
|
protected void |
init()
|
boolean |
isUseComplementCoding()
|
void |
oneLearningStep(Pattern input,
Pattern output)
Performs one learning iteration. |
Pattern |
predict(Pattern input)
Computes a network prediction |
java.util.Vector |
propagate(double[][] inData)
|
Pattern |
scaleZeroOneInput(Pattern pat)
|
protected InputOutputPattern[] |
scaleZeroOneTrainingDataSet(InputOutputPattern[] iops)
|
void |
setAlphaArtA(double alphaArtA)
|
void |
setAlphaArtB(double alphaArtB)
|
void |
setBaseArtAVigilance(double value)
|
void |
setBetaArtA(double betaArtA)
|
void |
setBetaArtB(double betaArtB)
|
void |
setEpsilon(double epsilon)
|
void |
setMatchError(double matchError)
|
void |
setMaxEpochs(int maxEpochs)
|
void |
setNumberOfMismatches(int numberOfMismatches)
|
void |
setup(NeuralNetworkConfig config)
|
void |
setUseComplementCoding(boolean useComplementCoding)
|
void |
setVigilanceArtA(double vigilanceArtA)
|
void |
setVigilanceArtB(double vigilanceArtB)
|
void |
setVigilanceB(double value)
|
double[] |
testPattern(double[] inPattern)
|
void |
train(InputOutputPattern[] ori)
Trains the network until the stop criteria is met. |
NeuralNetworkConfig |
yieldConfiguration()
|
Methods inherited from class yawn.nn.NeuralNetwork |
---|
getAdapting, getStatisticsFacility, isAdapting, setAdapting, setStatisticsFacility |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected double alphaArtA
protected double alphaArtB
protected FuzzyArt artA
protected FuzzyArt artB
protected double betaArtA
protected double betaArtB
protected double epsilon
protected int inputSize
protected double matchError
protected int maxEpochs
protected int outputSize
protected boolean useComplementCoding
protected double vigilanceArtA
protected double vigilanceArtB
Constructor Detail |
---|
public FuzzyArtMap()
Method Detail |
---|
protected Pattern bThenAActivation(Pattern input, Pattern output)
Bartfai, G. (1996)On the Match Tracking Anomaly of the ARTMAP Neural Network. Neural Networks, 2 (9): 295-308.
input
- the ARTa input patternoutput
- the ARTb input pattern
public Pattern deScaleZeroOneOutput(Pattern pat)
public OptimizationAdapter getAdapterInstance()
getAdapterInstance
in interface OptimizableModel
public double getAlphaArtA()
public double getAlphaArtB()
public double getBetaArtA()
public double getBetaArtB()
public double getEpsilon()
public int getInputSize()
getInputSize
in class NeuralNetwork
public double getMatchError()
public int getMaxEpochs()
public java.lang.String getNeuralNetworkName()
NeuralNetwork
getNeuralNetworkName
in class NeuralNetwork
NeuralNetwork.getNeuralNetworkName()
public int getNumberOfArtACategories()
public int getNumberOfArtBCategories()
public int getNumberOfMismatches()
public int getOutputSize()
getOutputSize
in class NeuralNetwork
public double getVigilanceArtA()
public double getVigilanceArtB()
protected void increaseSize()
protected void init()
public boolean isUseComplementCoding()
public void oneLearningStep(Pattern input, Pattern output)
NeuralNetwork
oneLearningStep
in class NeuralNetwork
input
- The network input.output
- The desired output.public Pattern predict(Pattern input)
NeuralNetwork
predict
in class NeuralNetwork
input
- The input to propagate.
public java.util.Vector propagate(double[][] inData)
public Pattern scaleZeroOneInput(Pattern pat)
protected InputOutputPattern[] scaleZeroOneTrainingDataSet(InputOutputPattern[] iops)
public void setAlphaArtA(double alphaArtA)
alphaArtA
- The alphaArtA to set.public void setAlphaArtB(double alphaArtB)
alphaArtB
- The alphaArtB to set.public void setBaseArtAVigilance(double value)
public void setBetaArtA(double betaArtA)
betaArtA
- The betaArtA to set.public void setBetaArtB(double betaArtB)
betaArtB
- The betaArtB to set.public void setEpsilon(double epsilon)
epsilon
- The epsilon to set.public void setMatchError(double matchError)
matchError
- The matchError to set.public void setMaxEpochs(int maxEpochs)
maxEpochs
- The maxEpochs to set.public void setNumberOfMismatches(int numberOfMismatches)
numberOfMismatches
- The numberOfMismatches to set.public void setup(NeuralNetworkConfig config) throws ConfigurationException
setup
in class NeuralNetwork
ConfigurationException
public void setUseComplementCoding(boolean useComplementCoding)
useComplementCoding
- The useComplementCoding to set.public void setVigilanceArtA(double vigilanceArtA)
vigilanceArtA
- The vigilanceArtA to set.public void setVigilanceArtB(double vigilanceArtB)
vigilanceArtB
- The vigilanceArtB to set.public void setVigilanceB(double value)
public double[] testPattern(double[] inPattern)
public void train(InputOutputPattern[] ori)
NeuralNetwork
train
in class NeuralNetwork
ori
- The training set to be learned.public NeuralNetworkConfig yieldConfiguration()
yieldConfiguration
in class NeuralNetwork
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |