13 #ifndef MLPACK_METHODS_SPARSE_AUTOENCODER_SPARSE_AUTOENCODER_FUNCTION_HPP
14 #define MLPACK_METHODS_SPARSE_AUTOENCODER_SPARSE_AUTOENCODER_FUNCTION_HPP
41 const size_t visibleSize,
42 const size_t hiddenSize,
43 const double lambda = 0.0001,
44 const double beta = 3,
45 const double rho = 0.01);
60 double Evaluate(
const arma::mat& parameters)
const;
71 void Gradient(
const arma::mat& parameters, arma::mat& gradient)
const;
79 void Sigmoid(
const arma::mat& x, arma::mat& output)
const
81 output = (1.0 / (1 + arma::exp(-x)));
90 this->visibleSize = visible;
102 this->hiddenSize = hidden;
149 const arma::mat& data;
151 arma::mat initialPoint;
This is a class for the sparse autoencoder objective function.
The core includes that mlpack expects; standard C++ includes and Armadillo.
void Sigmoid(const arma::mat &x, arma::mat &output) const
Returns the elementwise sigmoid of the passed matrix, where the sigmoid function of a real number 'x'...
double Evaluate(const arma::mat ¶meters) const
Evaluates the objective function of the sparse autoencoder model using the given parameters.
const arma::mat & GetInitialPoint() const
Return the initial point for the optimization.
void Lambda(const double l)
Sets the L2-regularization parameter.
double Lambda() const
Gets the L2-regularization parameter.
SparseAutoencoderFunction(const arma::mat &data, const size_t visibleSize, const size_t hiddenSize, const double lambda=0.0001, const double beta=3, const double rho=0.01)
Construct the sparse autoencoder objective function with the given parameters.
size_t HiddenSize() const
Gets the size of the hidden layer.
void Rho(const double r)
Sets the sparsity parameter.
double Beta() const
Gets the KL divergence parameter.
void Beta(const double b)
Sets the KL divergence parameter.
void Gradient(const arma::mat ¶meters, arma::mat &gradient) const
Evaluates the gradient values of the objective function given the current set of parameters.
size_t VisibleSize() const
Gets size of the visible layer.
void HiddenSize(const size_t hidden)
Sets size of the hidden layer.
const arma::mat InitializeWeights()
Initializes the parameters of the model to suitable values.
void VisibleSize(const size_t visible)
Sets size of the visible layer.
double Rho() const
Gets the sparsity parameter.