mlpack_local_coordinate_coding - local coordinate coding
Contents
Additional Information
For further information, including relevant papers, citations, and theory, consult the documentation
found at http://www.mlpack.org or included with your distribution of mlpack.
mlpack-4.5.1 29 January 2025 mlpack_local_coordinate_coding(1)
Description
An implementation of Local Coordinate Coding (LCC), which codes data that approximately lives on a
manifold using a variation of l1-norm regularized sparse coding. Given a dense data matrix X with n
points and d dimensions, LCC seeks to find a dense dictionary matrix D with k atoms in d dimensions, and
a coding matrix Z with n points in k dimensions. Because of the regularization method used, the atoms in
D should lie close to the manifold on which the data points lie.
The original data matrix X can then be reconstructed as D * Z. Therefore, this program finds a
representation of each point in X as a sparse linear combination of atoms in the dictionary D.
The coding is found with an algorithm which alternates between a dictionary step, which updates the
dictionary D, and a coding step, which updates the coding matrix Z.
To run this program, the input matrix X must be specified (with -i), along with the number of atoms in
the dictionary (-k). An initial dictionary may also be specified with the '--initial_dictionary_file
(-i)' parameter. The l1-norm regularization parameter is specified with the '--lambda (-l)' parameter.
For example, to run LCC on the dataset 'data.csv' using 200 atoms and an l1-regularization parameter of
0.1, saving the dictionary '--dictionary_file (-d)' and the codes into '--codes_file (-c)', use
$ mlpack_local_coordinate_coding--training_file data.csv --atoms 200 --lambda 0.1 --dictionary_file
dict.csv --codes_file codes.csv
The maximum number of iterations may be specified with the '--max_iterations (-n)' parameter. Optionally,
the input data matrix X can be normalized before coding with the '--normalize (-N)' parameter.
An LCC model may be saved using the '--output_model_file (-M)' output parameter. Then, to encode new
points from the dataset 'points.csv' with the previously saved model 'lcc_model.bin', saving the new
codes to βnew_codes.csv', the following command can be used:
$ mlpack_local_coordinate_coding--input_model_file lcc_model.bin --test_file points.csv --codes_file
new_codes.csv
Name
mlpack_local_coordinate_coding - local coordinate coding
Optional Input Options
--atoms(-k)[int]
Number of atoms in the dictionary. Default value 0.
--help(-h)[bool]
Default help info.
--info[string]
Print help on a specific option. Default value ''.
--initial_dictionary_file(-i)[unknown]
Optional initial dictionary.
--input_model_file(-m)[unknown]
Input LCC model.
--lambda(-l)[double]
Weighted l1-norm regularization parameter. Default value 0.
--max_iterations(-n)[int]
Maximum number of iterations for LCC (0 indicates no limit). Default value 0.
--normalize(-N)[bool]
If set, the input data matrix will be normalized before coding.
--seed(-s)[int]
Random seed. If 0, 'std::time(NULL)' is used. Default value 0.
--test_file(-T)[unknown]
Test points to encode.
--tolerance(-o)[double]
Tolerance for objective function. Default value 0.01.
--training_file(-t)[unknown]
Matrix of training data (X).
--verbose(-v)[bool]
Display informational messages and the full list of parameters and timers at the end of execution.
--version(-V)[bool]
Display the version of mlpack.
Optional Output Options
--codes_file(-c)[unknown]
Output codes matrix.
--dictionary_file(-d)[unknown]
Output dictionary matrix.
--output_model_file(-M)[unknown]
Output for trained LCC model.
Synopsis
mlpack_local_coordinate_coding [-kint] [-iunknown] [-munknown] [-ldouble] [-nint] [-Nbool] [-sint] [-Tunknown] [-odouble] [-tunknown] [-Vbool] [-cunknown] [-dunknown] [-Munknown] [-h-v]
