Autoencoder
An autoencoder is a neural network with one hidden layer, which is trained to learn an identity function that attempts to reconstruct its input to its output. In other words, the autoencoder tries to copy the input data by projecting onto a lower dimensional subspace defined by the hidden nodes. The hidden layer, h, describes a code, which is used to represent the input data and its structure. This hidden layer is thus forced to learn the structure from its input training dataset so that it can copy the input at the output layer.
The network of an autoencoder can be split into two parts: encoder and decoder. The encoder is described by the function h=f (k), and a decoder that tries to reconstruct or copy is defined by r = g (h). The basic idea of autoencoder should be to copy only those aspects of the inputs which are prioritized, and not to create an exact replica of the input. They are designed in such a way so as to restrict the hidden layer to copy only approximately, and...