Optimize a three-layer Hopfield artificial neural
network. The network is made of a Hopfield network with N input
neurons all connected to H hidden neurons. The latter are all
connected together (convolution) which is equivalent to defining two
hidden layers. Each hidden neuron is connected to C output
neurons. The values of the parameters N and C are 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. The value of H must be given by the user (a default of
half the number of input neurons is defined).
hann3(xi, sigma, classes, H = 0.5 * length(sigma),
labels = NULL, net = NULL, control = control.hann())# S3 method for hann3
print(x, details = FALSE, ...)
an object of class c("hann", "hann3") with the following elements:
a list with three matrices, W1, W2,
and W3, and two vectors, bias1 and bias3.
the Hopfield network.
the hyperparameter of the activation function.
the labels of the classes.
the function call.
the raw signals of the output neurons from the input patterns.
a matrix of patterns with K rows and N columns.
a vector coding the Hopfield network (length N).
the classes of the patterns (vector of length K).
the number of neurons in the hidden layer; by default half the number of input neurons (rounded to the lowest integer).
a vector of labels used for the classes.
an object inheriting class "hann3".
the control parameters.
a logical value (whether to print the parameter values of the network).
further arguments passed to print.default.
By default, the parameters of the neural network are initialized with random values from a uniform distribution between -1 and 1 (expect the biases which are initialized to zero).
If an object inheriting class "hann3" 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 detaild in the page of the function
control.hann().
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. tools:::Rd_expr_doi("10.1073/pnas.79.8.2554").
Krotov, D. and Hopfield, J. J. (2016) Dense associative memory for pattern recognition. tools:::Rd_expr_doi("10.48550/ARXIV.1606.01164").
buildSigma, control.hann,
hann, predict.hann3