RSNNS (version 0.4-9)

art2: Create and train an art2 network

Description

ART2 is very similar to ART1, but for real-valued input. See art1 for more information. Opposed to the ART1 implementation, the ART2 implementation does not assume two-dimensional input.

Usage

art2(x, ...)
"art2"(x, f2Units = 5, maxit = 100, initFunc = "ART2_Weights", initFuncParams = c(0.9, 2), learnFunc = "ART2", learnFuncParams = c(0.98, 10, 10, 0.1, 0), updateFunc = "ART2_Stable", updateFuncParams = c(0.98, 10, 10, 0.1, 0), shufflePatterns = TRUE, ...)

Arguments

x
a matrix with training inputs for the network
...
additional function parameters (currently not used)
f2Units
controls the number of clusters assumed to be present
maxit
maximum of iterations to learn
initFunc
the initialization function to use
initFuncParams
the parameters for the initialization function
learnFunc
the learning function to use
learnFuncParams
the parameters for the learning function
updateFunc
the update function to use
updateFuncParams
the parameters for the update function
shufflePatterns
should the patterns be shuffled?

Value

an rsnns object. The fitted.values member contains the activation patterns for all inputs.

Details

As comparison of real-valued vectors is more difficult than comparison of binary vectors, the comparison layer is more complex in ART2, and actually consists of three layers. With a more complex comparison layer, also other parts of the network enhance their complexity. In SNNS, this enhanced complexity is reflected by the presence of more parameters in initialization-, learning-, and update function.

In analogy to the implementation of ART1, there are one initialization function, one learning function and two update functions suitable for ART2. The learning and update functions have five parameters, the initialization function has two parameters. For details see the SNNS User Manual, p. 67 and pp. 192.

References

Carpenter, G. A. & Grossberg, S. (1987), 'ART 2: self-organization of stable category recognition codes for analog input patterns', Appl. Opt. 26(23), 4919--4930.

Grossberg, S. (1988), Adaptive pattern classification and universal recoding. I.: parallel development and coding of neural feature detectors, MIT Press, Cambridge, MA, USA, chapter I, pp. 243--258.

Herrmann, K.-U. (1992), 'ART -- Adaptive Resonance Theory -- Architekturen, Implementierung und Anwendung', Master's thesis, IPVR, University of Stuttgart. (in German)

Zell, A. et al. (1998), 'SNNS Stuttgart Neural Network Simulator User Manual, Version 4.2', IPVR, University of Stuttgart and WSI, University of Tübingen. http://www.ra.cs.uni-tuebingen.de/SNNS/

Zell, A. (1994), Simulation Neuronaler Netze, Addison-Wesley. (in German)

See Also

art1, artmap

Examples

Run this code
## Not run: demo(art2_tetra)
## Not run: demo(art2_tetraSnnsR)


data(snnsData)
patterns <- snnsData$art2_tetra_med.pat

model <- art2(patterns, f2Units=5, learnFuncParams=c(0.99, 20, 20, 0.1, 0), 
                  updateFuncParams=c(0.99, 20, 20, 0.1, 0))
model

testPatterns <- snnsData$art2_tetra_high.pat
predictions <- predict(model, testPatterns)

## Not run: library(scatterplot3d)

## Not run: par(mfrow=c(2,2))
## Not run: scatterplot3d(patterns, pch=encodeClassLabels(model$fitted.values))
## Not run: scatterplot3d(testPatterns, pch=encodeClassLabels(predictions))

Run the code above in your browser using DataCamp Workspace