Xmipp
v3.23.11-Nereus
|
Functions | |
double | orthogonalMatchingPursuit (const Matrix1D< double > &x, const Matrix2D< double > &D, int S, Matrix1D< double > &alpha) |
double | lasso (const Matrix1D< double > &x, const Matrix2D< double > &D, const Matrix2D< double > &DtD, const Matrix2D< double > &DtDlambdaInv, double lambda, Matrix1D< double > &alpha, const int maxIter=20, const double tol=0.005) |
Variables | |
constexpr int | OMP_PROJECTION = 1 |
constexpr int | LASSO_PROJECTION = 2 |
double lasso | ( | const Matrix1D< double > & | x, |
const Matrix2D< double > & | D, | ||
const Matrix2D< double > & | DtD, | ||
const Matrix2D< double > & | DtDlambdaInv, | ||
double | lambda, | ||
Matrix1D< double > & | alpha, | ||
const int | maxIter = 20 , |
||
const double | tol = 0.005 |
||
) |
Lasso projection
This function looks for the best approximation with as few components as possible (regularized through a L1 norm) of a given dictionary D. The representation is alpha, i.e., x=D*alpha.
DtD is D^t*D and must be precomputed before calling the dictionary
The approximation error is returned.
This implementation is based on Mark Schmidt http://www.cs.ubc.ca/~schmidtm/Software/lasso.html
Definition at line 149 of file kSVD.cpp.
double orthogonalMatchingPursuit | ( | const Matrix1D< double > & | x, |
const Matrix2D< double > & | D, | ||
int | S, | ||
Matrix1D< double > & | alpha | ||
) |
Orthogonal matching pursuit (OMP)
This function looks for the best approximation with only S components of a given dictionary D. The representation is alpha, i.e., x=D*alpha.
The approximation error is returned.
This implementation is based on Karl Skretting http://www.ux.uis.no/~karlsk/proj02/index.html
Definition at line 31 of file kSVD.cpp.