assoz: Create and train an (auto-)associative memory

View source: R/assoz.R

assozR Documentation

Create and train an (auto-)associative memory

Description

The autoassociative memory performs clustering by finding a prototype to the given input. The implementation assumes two-dimensional input and output (cf. art1).

Usage

assoz(x, ...)

## Default S3 method:
assoz(
  x,
  dimX,
  dimY,
  maxit = 100,
  initFunc = "RM_Random_Weights",
  initFuncParams = c(1, -1),
  learnFunc = "RM_delta",
  learnFuncParams = c(0.01, 100, 0, 0, 0),
  updateFunc = "Auto_Synchronous",
  updateFuncParams = c(50),
  shufflePatterns = TRUE,
  ...
)

Arguments

x

a matrix with training inputs for the network

...

additional function parameters (currently not used)

dimX

x dimension of inputs and outputs

dimY

y dimension of inputs and outputs

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

The default initialization and update functions are the only ones suitable for this kind of network. The update function takes one parameter, which is the number of iterations that will be performed. The default of 50 usually does not have to be modified. For learning, RM_delta and Hebbian functions can be used, though the first one usually performs better.

A more detailed description of the theory and the parameters is available from the SNNS documentation and the other referenced literature.

Value

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

References

Palm, G. (1980), 'On associative memory', Biological Cybernetics 36, 19-31.

Rojas, R. (1996), Neural networks :a systematic introduction, Springer-Verlag, Berlin.

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. https://www.ra.cs.uni-tuebingen.de/SNNS/welcome.html

See Also

art1, art2

Examples

## Not run: demo(assoz_letters)
## Not run: demo(assoz_lettersSnnsR)


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

model <- assoz(patterns, dimX=7, dimY=5)

actMaps <- matrixToActMapList(model$fitted.values, nrow=7)

par(mfrow=c(3,3))
for (i in 1:9) plotActMap(actMaps[[i]])

RSNNS documentation built on May 29, 2024, 4:37 a.m.