hann1: One-layer Hopfield ANN

View source: R/hann1.R

hann1R Documentation

One-layer Hopfield ANN

Description

This optimizes a one-layer Hopfield-based artificial neural network. The structure of the network is quite simple: a Hopfield network with N input neurons all connected to C output neurons. The number of parameters (N and C) is determined by the input data: xi has N columns (which is also the length of sigma) and the number of unique values of classes is equal to C.

See the vignette of this package for an example and some background.

Usage

hann1(xi, sigma, classes, net = NULL, control = control.hann())

## S3 method for class 'hann1'
print(x, details = FALSE, ...)

Arguments

xi

a matrix of patterns with K rows.

sigma

a vector coding the Hopfield network.

classes

the classes of the patterns (vector of length K).

net, x

an object of class "hann1".

control

the control parameters.

details

a logical value (whether to print the parameter values of the network).

...

further arguments passed to print.default.

Details

By default, the parameters of the neural network are initialized with random values from a uniform distribution between -1 and 1 (except the biases which are initialized to zero).

If an object of "hann1" is given to the argument net, then its parameter values are used to initialize the parameters of the network.

The main control parameters are given as a list to the control argument. They are detailed in the page of the function control.hann().

Value

an object of class "hann1" with the following elements:

parameters

a list with one matrix, W, and one vector, bias.

sigma

the Hopfield network.

beta

the hyperparameter of the activation function.

call

the function call.

Author(s)

Emmanuel Paradis

References

Hopfield, J. J. (1982) Neural networks and physical systems with emergent collective computational abilities. Proceedings of the National Academy of Sciences, USA, 79, 2554–2558. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1073/pnas.79.8.2554")}.

Krotov, D. and Hopfield, J. J. (2016) Dense associative memory for pattern recognition. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.48550/ARXIV.1606.01164")}.

See Also

buildSigma, predict.hann1


hann documentation built on Aug. 8, 2025, 7:16 p.m.