RSNNS (version 0.4-11)

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, ...)

# S3 method for default 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<U+00FC>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)
# }
# NOT RUN {

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 {
# }
# 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