Go to the documentation of this file.
13 #ifndef MLPACK_METHODS_LOCAL_COORDINATE_CODING_LCC_HPP
14 #define MLPACK_METHODS_LOCAL_COORDINATE_CODING_LCC_HPP
20 #include "../sparse_coding/nothing_initializer.hpp"
21 #include "../sparse_coding/data_dependent_random_initializer.hpp"
22 #include "../sparse_coding/random_initializer.hpp"
104 typename DictionaryInitializer =
110 const size_t maxIterations = 0,
111 const double tolerance = 0.01,
112 const DictionaryInitializer& initializer =
113 DictionaryInitializer());
128 const double lambda = 0.0,
129 const size_t maxIterations = 0,
130 const double tolerance = 0.01);
140 typename DictionaryInitializer =
144 const DictionaryInitializer& initializer =
145 DictionaryInitializer());
153 void Encode(
const arma::mat& data, arma::mat& codes);
165 const arma::mat& codes,
166 const arma::uvec& adjacencies);
178 const arma::mat& codes,
179 const arma::uvec& adjacencies)
const;
182 size_t Atoms()
const {
return atoms; }
207 template<
typename Archive>
215 arma::mat dictionary;
221 size_t maxIterations;
230 #include "lcc_impl.hpp"
void serialize(Archive &ar, const unsigned int)
Serialize the model.
arma::mat & Dictionary()
Mutator for dictionary.
The core includes that mlpack expects; standard C++ includes and Armadillo.
double & Lambda()
Modify the L1 regularization parameter.
double Objective(const arma::mat &data, const arma::mat &codes, const arma::uvec &adjacencies) const
Compute objective function given the list of adjacencies.
double & Tolerance()
Modify the objective tolerance.
size_t & MaxIterations()
Modify the maximum number of iterations.
void Encode(const arma::mat &data, arma::mat &codes)
Code each point via distance-weighted LARS.
size_t MaxIterations() const
Get the maximum number of iterations.
size_t Atoms() const
Get the number of atoms.
Linear algebra utility functions, generally performed on matrices or vectors.
An implementation of Local Coordinate Coding (LCC) that codes data which approximately lives on a man...
LocalCoordinateCoding(const size_t atoms=0, const double lambda=0.0, const size_t maxIterations=0, const double tolerance=0.01)
Set the parameters to LocalCoordinateCoding.
A data-dependent random dictionary initializer for SparseCoding.
size_t & Atoms()
Modify the number of atoms.
double Lambda() const
Get the L1 regularization parameter.
double Tolerance() const
Get the objective tolerance.
LocalCoordinateCoding(const arma::mat &data, const size_t atoms, const double lambda, const size_t maxIterations=0, const double tolerance=0.01, const DictionaryInitializer &initializer=DictionaryInitializer())
Set the parameters to LocalCoordinateCoding, and train the dictionary.
double Train(const arma::mat &data, const DictionaryInitializer &initializer=DictionaryInitializer())
Run local coordinate coding.
const arma::mat & Dictionary() const
Accessor for dictionary.
void OptimizeDictionary(const arma::mat &data, const arma::mat &codes, const arma::uvec &adjacencies)
Learn dictionary by solving linear system.