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;
80 void Sigmoid(
const arma::mat& x, arma::mat& output)
const
82 output = (1.0 / (1 + arma::exp(-x)));
91 this->visibleSize = visible;
103 this->hiddenSize = hidden;
150 const arma::mat& data;
152 arma::mat initialPoint;
This is a class for the sparse autoencoder objective function.
double Rho() const
Gets the sparsity parameter.
size_t VisibleSize() const
Gets size of the visible layer.
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.
double Lambda() const
Gets the L2-regularization parameter.
void VisibleSize(const size_t visible)
Sets size of the visible layer.
double Evaluate(const arma::mat ¶meters) const
Evaluates the objective function of the sparse autoencoder model using the given parameters.
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'...
size_t HiddenSize() const
Gets the size of the hidden layer.
void Rho(const double r)
Sets the sparsity parameter.
const arma::mat InitializeWeights()
Initializes the parameters of the model to suitable values.
const arma::mat & GetInitialPoint() const
Return the initial point for the optimization.
void Gradient(const arma::mat ¶meters, arma::mat &gradient) const
Evaluates the gradient values of the objective function given the current set of parameters.
void Beta(const double b)
Sets the KL divergence parameter.
double Beta() const
Gets the KL divergence parameter.
void HiddenSize(const size_t hidden)
Sets size of the hidden layer.
void Lambda(const double l)
Sets the L2-regularization parameter.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.