Go to the documentation of this file.
13 #ifndef MLPACK_METHODS_NCA_NCA_SOFTMAX_ERROR_FUNCTION_HPP
14 #define MLPACK_METHODS_NCA_NCA_SOFTMAX_ERROR_FUNCTION_HPP
44 template<
typename MetricType = metric::SquaredEucl
ideanDistance>
59 const arma::Row<size_t>& labels,
60 MetricType metric = MetricType());
90 const size_t batchSize = 1);
100 void Gradient(
const arma::mat& covariance, arma::mat& gradient);
117 template <
typename GradType>
121 const size_t batchSize = 1);
139 arma::Row<size_t> labels;
145 arma::mat lastCoordinates;
147 arma::mat stretchedDataset;
152 arma::vec denominators;
170 void Precalculate(
const arma::mat& coordinates);
177 #include "nca_softmax_error_function_impl.hpp"
The "softmax" stochastic neighbor assignment probability function.
The core includes that mlpack expects; standard C++ includes and Armadillo.
size_t NumFunctions() const
Get the number of functions the objective function can be decomposed into.
double Evaluate(const arma::mat &covariance, const size_t begin, const size_t batchSize=1)
Evaluate the softmax objective function for the given covariance matrix on the given batch size from ...
Linear algebra utility functions, generally performed on matrices or vectors.
void Shuffle()
Shuffle the dataset.
const arma::mat GetInitialPoint() const
Get the initial point.
SoftmaxErrorFunction(const arma::mat &dataset, const arma::Row< size_t > &labels, MetricType metric=MetricType())
Initialize with the given kernel; useful when the kernel has some state to store, which is set elsewh...
void Gradient(const arma::mat &covariance, arma::mat &gradient)
Evaluate the gradient of the softmax function for the given covariance matrix.
double Evaluate(const arma::mat &covariance)
Evaluate the softmax function for the given covariance matrix.
void Gradient(const arma::mat &covariance, const size_t begin, GradType &gradient, const size_t batchSize=1)
Evaluate the gradient of the softmax function for the given covariance matrix on the given batch size...