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