15 #ifndef __MLPACK_METHODS_NCA_NCA_SOFTMAX_ERROR_FUNCTION_HPP 16 #define __MLPACK_METHODS_NCA_NCA_SOFTMAX_ERROR_FUNCTION_HPP 43 template<
typename MetricType = metric::SquaredEucl
ideanDistance>
58 const arma::Row<size_t>&
labels,
59 MetricType
metric = MetricType());
68 double Evaluate(
const arma::mat& covariance);
80 double Evaluate(
const arma::mat& covariance,
const size_t i);
90 void Gradient(
const arma::mat& covariance, arma::mat& gradient);
103 void Gradient(
const arma::mat& covariance,
105 arma::mat& gradient);
160 #include "nca_softmax_error_function_impl.hpp" const arma::mat & dataset
The dataset.
The "softmax" stochastic neighbor assignment probability function.
Linear algebra utility functions, generally performed on matrices or vectors.
const arma::Row< size_t > & labels
Labels for each point in the dataset.
arma::vec denominators
Holds denominators for calculation of p_ij, for the non-separable Evaluate() and Gradient().
const arma::mat GetInitialPoint() const
Get the initial point.
size_t NumFunctions() const
Get the number of functions the objective function can be decomposed into.
void Gradient(const arma::mat &covariance, arma::mat &gradient)
Evaluate the gradient of the softmax function for the given covariance matrix.
bool precalculated
False if nothing has ever been precalculated (only at construction time).
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...
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
double Evaluate(const arma::mat &covariance)
Evaluate the softmax function for the given covariance matrix.
arma::vec p
Holds calculated p_i, for the non-separable Evaluate() and Gradient().
MetricType metric
The instantiated metric.
void Precalculate(const arma::mat &coordinates)
Precalculate the denominators and numerators that will make up the p_ij, but only if the coordinates ...
arma::mat lastCoordinates
Last coordinates. Used for the non-separable Evaluate() and Gradient().
arma::mat stretchedDataset
Stretched dataset. Kept internal to avoid memory reallocations.