Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

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

## Default S3 method:
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?

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.

Value

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

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/welcome.html

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

See Also

Examples

## 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))

RSNNS

Neural Networks using the Stuttgart Neural Network Simulator (SNNS)

v0.4-12
LGPL (>= 2) | file LICENSE
Authors
Christoph Bergmeir [aut, cre, cph], José M. Benítez [ths], Andreas Zell [ctb] (Part of original SNNS development team), Niels Mache [ctb] (Part of original SNNS development team), Günter Mamier [ctb] (Part of original SNNS development team), Michael Vogt [ctb] (Part of original SNNS development team), Sven Döring [ctb] (Part of original SNNS development team), Ralf Hübner [ctb] (Part of original SNNS development team), Kai-Uwe Herrmann [ctb] (Part of original SNNS development team), Tobias Soyez [ctb] (Part of original SNNS development team), Michael Schmalzl [ctb] (Part of original SNNS development team), Tilman Sommer [ctb] (Part of original SNNS development team), Artemis Hatzigeorgiou [ctb] (Part of original SNNS development team), Dietmar Posselt [ctb] (Part of original SNNS development team), Tobias Schreiner [ctb] (Part of original SNNS development team), Bernward Kett [ctb] (Part of original SNNS development team), Martin Reczko [ctb] (Part of original SNNS external contributors), Martin Riedmiller [ctb] (Part of original SNNS external contributors), Mark Seemann [ctb] (Part of original SNNS external contributors), Marcus Ritt [ctb] (Part of original SNNS external contributors), Jamie DeCoster [ctb] (Part of original SNNS external contributors), Jochen Biedermann [ctb] (Part of original SNNS external contributors), Joachim Danz [ctb] (Part of original SNNS development team), Christian Wehrfritz [ctb] (Part of original SNNS development team), Patrick Kursawe [ctb] (Contributors to SNNS Version 4.3), Andre El-Ama [ctb] (Contributors to SNNS Version 4.3)
Initial release
2019-09-16

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.