DMRITool
v0.1.1-139-g860d86b4
Diffusion MRI Tool
|
Classes | |
class | ComposeProx |
struct | ElasticNet |
class | FusedLasso |
class | GraphLasso |
struct | GraphLassoRidge |
class | GraphMult |
class | GraphPathConv |
class | GraphPathL0 |
struct | GroupLassoL2 |
struct | GroupLassoL2_L1 |
struct | GroupLassoLINF |
struct | GroupLassoLINF_L1 |
class | GroupProx |
class | HingeLoss |
class | Lasso |
class | LassoConstraint |
class | LogLoss |
class | Loss |
class | LossCur |
class | LossMat |
class | LossMat< T, LogLoss< T, weighted > > |
class | LossMat< T, SqLossMissing< T > > |
class | LossMatSup |
class | Lzero |
class | MixedL1L2 |
struct | MixedL1L2_L1 |
class | MixedL1LINF |
struct | MixedL1LINF_L1 |
class | MixedL1LINFCR |
class | MultiLogLoss |
class | None |
class | normL2 |
class | normLINF |
struct | ParamFISTA |
struct | ParamReg |
class | ProxMatToVec |
class | Rank |
class | RegMat |
class | Regularizer |
class | Ridge |
class | SpecGraphMat |
class | SplittingFunction |
class | SqLoss |
class | SqLossMat |
class | SqLossMissing |
class | TraceNorm |
class | TreeLasso |
class | TreeLzero |
class | TreeMult |
Enumerations | |
enum | loss_t { SQUARE, SQUARE_MISSING, LOG, LOGWEIGHT, MULTILOG, CUR, HINGE, INCORRECT_LOSS } |
enum | regul_t { L0, L1, RIDGE, L2, LINF, L1CONSTRAINT, ELASTICNET, FUSEDLASSO, GROUPLASSO_L2, GROUPLASSO_LINF, GROUPLASSO_L2_L1, GROUPLASSO_LINF_L1, L1L2, L1LINF, L1L2_L1, L1LINF_L1, TREE_L0, TREE_L2, TREE_LINF, GRAPH, GRAPH_RIDGE, GRAPH_L2, TREEMULT, GRAPHMULT, L1LINFCR, NONE, TRACE_NORM, TRACE_NORM_VEC, RANK, RANK_VEC, INCORRECT_REG, GRAPH_PATH_L0, GRAPH_PATH_CONV } |
Functions | |
template<typename T > | |
void | ADMM (const SplittingFunction< T, Matrix< T > > &loss, const SplittingFunction< T, SpMatrix< T > > ®, const Vector< T > &w0, Vector< T > &w, Vector< T > &optim_info, const ParamFISTA< T > ¶m) |
template<typename T > | |
void | convert_paths_to_mat (const List< Path< long long > * > &paths, SpMatrix< T > &paths_mat, const int n) |
template<typename T , typename D , typename E > | |
T | duality_gap (Loss< T, D, E > &loss, Regularizer< T, D > ®ularizer, const D &x, const T lambda, T &best_dual, const bool verbose=false) |
template<typename T , typename D , typename E > | |
T | duality_gap (Loss< T, D, E > &loss, Regularizer< T, D > ®ularizer, const D &x, const T lambda, const bool verbose=false) |
template<typename T > | |
void | dualityGraph (const Matrix< T > &X, const Matrix< T > &D, const Matrix< T > &alpha0, Vector< T > &res, const ParamFISTA< T > ¶m, const GraphStruct< T > *graph_st) |
template<typename T > | |
void | EvalGraphPath (const Matrix< T > &alpha0, const ParamFISTA< T > ¶m, Vector< T > &val_loss, const GraphPathStruct< T > *graph_path_st, SpMatrix< T > *paths=NULL) |
template<typename T , typename D , typename E > | |
void | FISTA_Generic (Loss< T, D, E > &loss, Regularizer< T, D > ®ularizer, const D &x0, D &x, Vector< T > &optim_info, const ParamFISTA< T > ¶m) |
template<typename T , typename D , typename E > | |
void | ISTA_Generic (Loss< T, D, E > &loss, Regularizer< T, D > ®ularizer, const D &x0, D &x, Vector< T > &optim_info, const ParamFISTA< T > ¶m) |
template<typename T > | |
T | LagrangianADMM (const SplittingFunction< T, Matrix< T > > &loss, const SplittingFunction< T, SpMatrix< T > > ®, const T lambda, const T gamma, const Vector< T > &w, const Matrix< T > &splitted_loss, const SpMatrix< T > &splitted_reg, const Matrix< T > &multi_loss, const SpMatrix< T > &multi_reg, T &los, const T *weights=NULL) |
template<typename T > | |
void | LinADMM (const SplittingFunction< T, Matrix< T > > &loss, const SplittingFunction< T, SpMatrix< T > > ®, const Vector< T > &w0, Vector< T > &w, Vector< T > &optim_info, const ParamFISTA< T > ¶m) |
bool | loss_for_matrices (const loss_t &loss) |
loss_t | loss_from_string (char *loss) |
template<typename T > | |
bool | param_for_admm (const ParamFISTA< T > ¶m) |
template<typename T > | |
void | print_info_solver (const ParamFISTA< T > ¶m) |
void | print_loss (const loss_t &loss) |
void | print_regul (const regul_t ®ul) |
template<typename T > | |
void | PROX (const Matrix< T > &alpha0, Matrix< T > &alpha, const ParamFISTA< T > ¶m, Vector< T > &val_loss, const GraphStruct< T > *graph_st=NULL, const TreeStruct< T > *tree_st=NULL, const GraphPathStruct< T > *graph_path_st=NULL) |
bool | regul_for_matrices (const regul_t ®ul) |
regul_t | regul_from_string (char *regul) |
template<typename T > | |
SplittingFunction< T, SpMatrix< T > > * | setRegularizerADMM (const ParamFISTA< T > ¶m, const GraphStruct< T > *graph_st=NULL, const TreeStruct< T > *tree_st=NULL) |
template<typename T > | |
Regularizer< T, Matrix< T > > * | setRegularizerMatrices (const ParamFISTA< T > ¶m, const int m, const int n, const GraphStruct< T > *graph_st=NULL, const TreeStruct< T > *tree_st=NULL, const GraphPathStruct< T > *graph_path_st=NULL) |
template<typename T > | |
Regularizer< T > * | setRegularizerVectors (const ParamFISTA< T > ¶m, const GraphStruct< T > *graph_st=NULL, const TreeStruct< T > *tree_st=NULL, const GraphPathStruct< T > *graph_path_st=NULL) |
template<typename T > | |
void | solver (const Matrix< T > &X, const AbstractMatrixB< T > &D, const Matrix< T > &alpha0, Matrix< T > &alpha, const ParamFISTA< T > ¶m1, Matrix< T > &optim_info, const GraphStruct< T > *graph_st=NULL, const TreeStruct< T > *tree_st=NULL, const GraphPathStruct< T > *graph_path_st=NULL) |
template<typename T > | |
void | solver_admm (const Matrix< T > &X, const Matrix< T > &alpha0, Matrix< T > &alpha, Matrix< T > &optim_info, SplittingFunction< T, SpMatrix< T > > **regularizers, SplittingFunction< T, Matrix< T > > **losses, const ParamFISTA< T > ¶m) |
template<typename T > | |
void | solver_aux1 (const Matrix< T > &X, const Matrix< T > &alpha0, Matrix< T > &alpha, Matrix< T > &optim_info, Regularizer< T, Vector< T > > **regularizers, Loss< T, Vector< T > > **losses, const ParamFISTA< T > ¶m) |
template<typename T > | |
void | solver_aux2 (const Matrix< T > &X, const Matrix< T > &alpha0, Matrix< T > &alpha, Matrix< T > &optim_info, Regularizer< T, Matrix< T > > **regularizers, Loss< T, Matrix< T > > **losses, const ParamFISTA< T > ¶m) |
template<typename T , typename D , typename E > | |
void | subGradientDescent_Generic (Loss< T, D, E > &loss, Regularizer< T, D > ®ularizer, const D &x0, D &x, Vector< T > &optim_info, const ParamFISTA< T > ¶m) |
template<typename T > | |
void | update_multipliers_ADMM (Vector< T > &w, const Matrix< T > &splitted_w_loss, const Matrix< T > &multipliers_w_loss, const SpMatrix< T > &splitted_w_reg, const SpMatrix< T > &multipliers_w_reg, const T gamma) |
template<typename T > | |
void | update_multipliers_LinADMM (Vector< T > &w, const SpMatrix< T > &splitted_w_reg, const SpMatrix< T > &multipliers_w_reg, const T gamma, const T delta) |
template<typename T > | |
void | update_multipliers_weighted_ADMM (Vector< T > &w, const Matrix< T > &splitted_w_loss, const Matrix< T > &multipliers_w_loss, const SpMatrix< T > &splitted_w_reg, const SpMatrix< T > &multipliers_w_reg, const T gamma, const T *inner_weights) |
template<typename T > | |
void | writeLog (const int iter, const T time, const T primal, const T dual, char *name) |
enum spams::FISTA::loss_t |
void spams::FISTA::ADMM | ( | const SplittingFunction< T, Matrix< T > > & | loss, |
const SplittingFunction< T, SpMatrix< T > > & | reg, | ||
const Vector< T > & | w0, | ||
Vector< T > & | w, | ||
Vector< T > & | optim_info, | ||
const ParamFISTA< T > & | param | ||
) |
update w
update the splitting variables
update multipliers
update w
update the splitting variables
update multipliers
stopping criterion
Definition at line 2929 of file fista.h.
References spams::Matrix< T >::add(), spams::SpMatrix< T >::add_direct(), spams::Matrix< T >::addVecToCols(), spams::SpMatrix< T >::addVecToCols(), spams::SpMatrix< T >::addVecToColsWeighted(), spams::FISTA::ParamFISTA< T >::c, spams::Matrix< T >::copy(), spams::Vector< T >::copy(), spams::SpMatrix< T >::copy(), spams::FISTA::ParamFISTA< T >::gamma, spams::Timer::getElapsed(), INFINITY, spams::FISTA::ParamFISTA< T >::inner_weights, spams::FISTA::ParamFISTA< T >::is_inner_weights, spams::FISTA::ParamFISTA< T >::it0, spams::FISTA::ParamFISTA< T >::lambda, spams::FISTA::ParamFISTA< T >::log, spams::FISTA::ParamFISTA< T >::logName, spams::FISTA::ParamFISTA< T >::loss, MAX, spams::FISTA::ParamFISTA< T >::max_it, spams::Matrix< T >::scal(), spams::SpMatrix< T >::scal(), spams::Timer::start(), spams::Timer::stop(), spams::FISTA::ParamFISTA< T >::tol, update_multipliers_ADMM(), update_multipliers_weighted_ADMM(), spams::FISTA::ParamFISTA< T >::verbose, and writeLog().
Referenced by solver_admm().
|
inline |
Definition at line 2039 of file fista.h.
References spams::SpMatrix< T >::n(), spams::SpMatrix< T >::pB(), spams::SpMatrix< T >::pE(), spams::SpMatrix< T >::r(), spams::SpMatrix< T >::resize(), spams::sort(), and spams::SpMatrix< T >::v().
T spams::FISTA::duality_gap | ( | Loss< T, D, E > & | loss, |
Regularizer< T, D > & | regularizer, | ||
const D & | x, | ||
const T | lambda, | ||
T & | best_dual, | ||
const bool | verbose = false |
||
) |
Definition at line 2527 of file fista.h.
References spams::FISTA::ParamFISTA< T >::delta, spams::FISTA::Loss< T, D, E >::eval(), spams::FISTA::Regularizer< T, D >::eval(), spams::FISTA::Loss< T, D, E >::fenchel(), spams::FISTA::Regularizer< T, D >::fenchel(), spams::FISTA::ParamFISTA< T >::intercept, spams::FISTA::Loss< T, D, E >::is_fenchel(), spams::FISTA::Regularizer< T, D >::is_fenchel(), spams::FISTA::Regularizer< T, D >::is_intercept(), MAX, spams::FISTA::Loss< T, D, E >::var_fenchel(), and spams::FISTA::ParamFISTA< T >::verbose.
Referenced by duality_gap(), dualityGraph(), FISTA_Generic(), ISTA_Generic(), and subGradientDescent_Generic().
T spams::FISTA::duality_gap | ( | Loss< T, D, E > & | loss, |
Regularizer< T, D > & | regularizer, | ||
const D & | x, | ||
const T | lambda, | ||
const bool | verbose = false |
||
) |
Definition at line 2555 of file fista.h.
References duality_gap(), INFINITY, and spams::FISTA::ParamFISTA< T >::verbose.
void spams::FISTA::dualityGraph | ( | const Matrix< T > & | X, |
const Matrix< T > & | D, | ||
const Matrix< T > & | alpha0, | ||
Vector< T > & | res, | ||
const ParamFISTA< T > & | param, | ||
const GraphStruct< T > * | graph_st | ||
) |
Definition at line 2562 of file fista.h.
References spams::FISTA::ParamFISTA< T >::clever, duality_gap(), spams::FISTA::Regularizer< T, D >::eval(), spams::FISTA::GraphLasso< T >::eval(), spams::FISTA::GraphLasso< T >::init(), spams::FISTA::ParamFISTA< T >::intercept, spams::FISTA::ParamFISTA< T >::lambda, LOG, LOGWEIGHT, spams::FISTA::ParamFISTA< T >::loss, spams::FISTA::ParamFISTA< T >::pos, spams::Matrix< T >::refCol(), spams::FISTA::Regularizer< T, D >::reset(), spams::FISTA::ParamFISTA< T >::resetflow, and SQUARE.
void spams::FISTA::EvalGraphPath | ( | const Matrix< T > & | alpha0, |
const ParamFISTA< T > & | param, | ||
Vector< T > & | val_loss, | ||
const GraphPathStruct< T > * | graph_path_st, | ||
SpMatrix< T > * | paths = NULL |
||
) |
Definition at line 3634 of file fista.h.
References spams::FISTA::Regularizer< T, D >::eval(), spams::FISTA::ParamFISTA< T >::eval_dual_norm, spams::FISTA::Regularizer< T, D >::eval_dual_norm(), spams::FISTA::Regularizer< T, D >::eval_dual_norm_paths(), spams::FISTA::Regularizer< T, D >::eval_paths(), spams::init_omp(), spams::FISTA::ParamFISTA< T >::intercept, MIN, spams::Matrix< T >::n(), spams::FISTA::ParamFISTA< T >::num_threads, print_regul(), spams::Matrix< T >::refCol(), spams::FISTA::ParamFISTA< T >::regul, regul_for_matrices(), spams::FISTA::Regularizer< T, D >::reset(), spams::Vector< T >::resize(), and spams::FISTA::ParamFISTA< T >::verbose.
void spams::FISTA::FISTA_Generic | ( | Loss< T, D, E > & | loss, |
Regularizer< T, D > & | regularizer, | ||
const D & | x0, | ||
D & | x, | ||
Vector< T > & | optim_info, | ||
const ParamFISTA< T > & | param | ||
) |
print loss
compute gradient
Definition at line 2739 of file fista.h.
References duality_gap(), EPSILON, spams::FISTA::Loss< T, D, E >::eval(), spams::FISTA::Regularizer< T, D >::eval(), spams::FISTA::ParamFISTA< T >::fixed_step, spams::FISTA::ParamFISTA< T >::gamma, spams::Timer::getElapsed(), spams::FISTA::Loss< T, D, E >::grad(), INFINITY, spams::FISTA::Loss< T, D, E >::is_fenchel(), spams::FISTA::Regularizer< T, D >::is_fenchel(), spams::FISTA::ParamFISTA< T >::it0, spams::FISTA::ParamFISTA< T >::L0, spams::FISTA::ParamFISTA< T >::lambda, spams::FISTA::ParamFISTA< T >::log, spams::FISTA::ParamFISTA< T >::logName, MAX, spams::FISTA::ParamFISTA< T >::max_it, spams::FISTA::ParamFISTA< T >::max_iter_backtracking, spams::FISTA::Regularizer< T, D >::prox(), spams::Vector< T >::set(), spams::Timer::start(), spams::Timer::stop(), spams::FISTA::Loss< T, D, E >::test_backtracking(), spams::FISTA::ParamFISTA< T >::tol, spams::FISTA::ParamFISTA< T >::verbose, and writeLog().
Referenced by solver(), solver_aux1(), and solver_aux2().
void spams::FISTA::ISTA_Generic | ( | Loss< T, D, E > & | loss, |
Regularizer< T, D > & | regularizer, | ||
const D & | x0, | ||
D & | x, | ||
Vector< T > & | optim_info, | ||
const ParamFISTA< T > & | param | ||
) |
print loss
compute gradient
Definition at line 2657 of file fista.h.
References duality_gap(), EPSILON, spams::FISTA::Loss< T, D, E >::eval(), spams::FISTA::Regularizer< T, D >::eval(), spams::FISTA::ParamFISTA< T >::gamma, spams::Timer::getElapsed(), spams::FISTA::Loss< T, D, E >::grad(), INFINITY, spams::FISTA::Loss< T, D, E >::is_fenchel(), spams::FISTA::Regularizer< T, D >::is_fenchel(), spams::FISTA::ParamFISTA< T >::it0, spams::FISTA::ParamFISTA< T >::L0, spams::FISTA::ParamFISTA< T >::lambda, spams::FISTA::ParamFISTA< T >::log, spams::FISTA::ParamFISTA< T >::logName, MAX, spams::FISTA::ParamFISTA< T >::max_it, spams::FISTA::ParamFISTA< T >::max_iter_backtracking, spams::FISTA::Regularizer< T, D >::prox(), spams::Vector< T >::set(), spams::Timer::start(), spams::Timer::stop(), spams::FISTA::Loss< T, D, E >::test_backtracking(), spams::FISTA::ParamFISTA< T >::tol, spams::FISTA::ParamFISTA< T >::verbose, and writeLog().
Referenced by solver(), solver_aux1(), and solver_aux2().
T spams::FISTA::LagrangianADMM | ( | const SplittingFunction< T, Matrix< T > > & | loss, |
const SplittingFunction< T, SpMatrix< T > > & | reg, | ||
const T | lambda, | ||
const T | gamma, | ||
const Vector< T > & | w, | ||
const Matrix< T > & | splitted_loss, | ||
const SpMatrix< T > & | splitted_reg, | ||
const Matrix< T > & | multi_loss, | ||
const SpMatrix< T > & | multi_reg, | ||
T & | los, | ||
const T * | weights = NULL |
||
) |
Definition at line 2829 of file fista.h.
References spams::Matrix< T >::addVecToCols(), spams::SpMatrix< T >::addVecToCols(), spams::Matrix< T >::copy(), spams::SpMatrix< T >::copy(), spams::Matrix< T >::dot(), spams::SpMatrix< T >::dot_direct(), spams::FISTA::ParamFISTA< T >::loss, spams::Matrix< T >::normFsq(), and spams::SpMatrix< T >::normFsq().
void spams::FISTA::LinADMM | ( | const SplittingFunction< T, Matrix< T > > & | loss, |
const SplittingFunction< T, SpMatrix< T > > & | reg, | ||
const Vector< T > & | w0, | ||
Vector< T > & | w, | ||
Vector< T > & | optim_info, | ||
const ParamFISTA< T > & | param | ||
) |
update primal_loss variables
update primal_reg variables
update w
update multipliers
stopping criterion
Definition at line 3073 of file fista.h.
References spams::Vector< T >::add(), spams::SpMatrix< T >::add_direct(), spams::SpMatrix< T >::addVecToCols(), spams::FISTA::ParamFISTA< T >::c, spams::Vector< T >::copy(), spams::SpMatrix< T >::copy(), spams::FISTA::ParamFISTA< T >::delta, spams::FISTA::ParamFISTA< T >::gamma, spams::Timer::getElapsed(), INFINITY, spams::FISTA::ParamFISTA< T >::it0, spams::FISTA::ParamFISTA< T >::lambda, spams::FISTA::ParamFISTA< T >::log, spams::FISTA::ParamFISTA< T >::logName, spams::FISTA::ParamFISTA< T >::loss, MAX, spams::FISTA::ParamFISTA< T >::max_it, spams::SpMatrix< T >::scal(), spams::Timer::start(), spams::Timer::stop(), spams::FISTA::ParamFISTA< T >::tol, update_multipliers_LinADMM(), spams::FISTA::ParamFISTA< T >::verbose, and writeLog().
Referenced by solver_admm().
bool spams::FISTA::loss_for_matrices | ( | const loss_t & | loss | ) |
loss_t spams::FISTA::loss_from_string | ( | char * | loss | ) |
Definition at line 70 of file fista.h.
References CUR, HINGE, INCORRECT_LOSS, LOG, LOGWEIGHT, MULTILOG, SQUARE, and SQUARE_MISSING.
bool spams::FISTA::param_for_admm | ( | const ParamFISTA< T > & | param | ) |
Definition at line 236 of file fista.h.
References spams::FISTA::ParamFISTA< T >::admm, GRAPH, GRAPH_L2, HINGE, spams::FISTA::ParamFISTA< T >::loss, NONE, spams::FISTA::ParamFISTA< T >::regul, and SQUARE.
Referenced by print_info_solver(), and solver().
void spams::FISTA::print_info_solver | ( | const ParamFISTA< T > & | param | ) |
Definition at line 3275 of file fista.h.
References spams::FISTA::ParamFISTA< T >::admm, spams::FISTA::ParamFISTA< T >::clever, GRAPH, GRAPHMULT, spams::FISTA::ParamFISTA< T >::intercept, spams::FISTA::ParamFISTA< T >::ista, L1LINFCR, spams::FISTA::ParamFISTA< T >::lin_admm, spams::FISTA::ParamFISTA< T >::log, spams::FISTA::ParamFISTA< T >::logName, spams::FISTA::ParamFISTA< T >::loss, param_for_admm(), print_loss(), print_regul(), spams::FISTA::ParamFISTA< T >::regul, spams::FISTA::ParamFISTA< T >::subgrad, TREEMULT, and spams::FISTA::ParamFISTA< T >::verbose.
Referenced by solver().
void spams::FISTA::print_loss | ( | const loss_t & | loss | ) |
Definition at line 81 of file fista.h.
References CUR, HINGE, LOG, LOGWEIGHT, MULTILOG, SQUARE, and SQUARE_MISSING.
Referenced by print_info_solver().
void spams::FISTA::print_regul | ( | const regul_t & | regul | ) |
Definition at line 98 of file fista.h.
References ELASTICNET, FUSEDLASSO, GRAPH, GRAPH_L2, GRAPH_PATH_L0, GRAPH_RIDGE, GRAPHMULT, GROUPLASSO_L2, GROUPLASSO_L2_L1, GROUPLASSO_LINF, GROUPLASSO_LINF_L1, L0, L1, L1CONSTRAINT, L1L2, L1L2_L1, L1LINF, L1LINF_L1, L1LINFCR, L2, LINF, NONE, RANK, RANK_VEC, RIDGE, TRACE_NORM, TRACE_NORM_VEC, TREE_L0, TREE_L2, TREE_LINF, and TREEMULT.
Referenced by EvalGraphPath(), print_info_solver(), and PROX().
void spams::FISTA::PROX | ( | const Matrix< T > & | alpha0, |
Matrix< T > & | alpha, | ||
const ParamFISTA< T > & | param, | ||
Vector< T > & | val_loss, | ||
const GraphStruct< T > * | graph_st = NULL , |
||
const TreeStruct< T > * | tree_st = NULL , |
||
const GraphPathStruct< T > * | graph_path_st = NULL |
||
) |
regul for matrices
Definition at line 3567 of file fista.h.
References spams::FISTA::ParamFISTA< T >::clever, spams::FISTA::ParamFISTA< T >::eval, spams::FISTA::Regularizer< T, D >::eval(), GRAPH, GRAPHMULT, spams::init_omp(), spams::FISTA::ParamFISTA< T >::intercept, L1LINFCR, spams::FISTA::ParamFISTA< T >::lambda, spams::Matrix< T >::m(), MIN, spams::Matrix< T >::n(), spams::FISTA::ParamFISTA< T >::num_threads, print_regul(), spams::FISTA::Regularizer< T, D >::prox(), spams::Matrix< T >::refCol(), spams::FISTA::ParamFISTA< T >::regul, regul_for_matrices(), spams::FISTA::Regularizer< T, D >::reset(), spams::Vector< T >::resize(), setRegularizerMatrices(), setRegularizerVectors(), TREEMULT, and spams::FISTA::ParamFISTA< T >::verbose.
bool spams::FISTA::regul_for_matrices | ( | const regul_t & | regul | ) |
regul_t spams::FISTA::regul_from_string | ( | char * | regul | ) |
Definition at line 34 of file fista.h.
References ELASTICNET, FUSEDLASSO, GRAPH, GRAPH_L2, GRAPH_PATH_CONV, GRAPH_PATH_L0, GRAPH_RIDGE, GRAPHMULT, GROUPLASSO_L2, GROUPLASSO_L2_L1, GROUPLASSO_LINF, GROUPLASSO_LINF_L1, INCORRECT_REG, L0, L1, L1CONSTRAINT, L1L2, L1L2_L1, L1LINF, L1LINF_L1, L1LINFCR, L2, LINF, NONE, RANK, RANK_VEC, RIDGE, TRACE_NORM, TRACE_NORM_VEC, TREE_L0, TREE_L2, TREE_LINF, and TREEMULT.
SplittingFunction<T, SpMatrix<T> >* spams::FISTA::setRegularizerADMM | ( | const ParamFISTA< T > & | param, |
const GraphStruct< T > * | graph_st = NULL , |
||
const TreeStruct< T > * | tree_st = NULL |
||
) |
Definition at line 3156 of file fista.h.
References spams::FISTA::ParamFISTA< T >::clever, spams::FISTA::ParamReg< T >::clever, GRAPH, GRAPH_L2, spams::FISTA::ParamReg< T >::graph_st, spams::FISTA::ParamFISTA< T >::intercept, spams::FISTA::ParamReg< T >::intercept, spams::FISTA::ParamReg< T >::linf, NONE, spams::FISTA::ParamFISTA< T >::pos, spams::FISTA::ParamReg< T >::pos, spams::FISTA::ParamFISTA< T >::regul, spams::FISTA::ParamFISTA< T >::resetflow, spams::FISTA::ParamReg< T >::resetflow, and spams::FISTA::ParamReg< T >::tree_st.
Referenced by solver().
Regularizer<T, Matrix<T> >* spams::FISTA::setRegularizerMatrices | ( | const ParamFISTA< T > & | param, |
const int | m, | ||
const int | n, | ||
const GraphStruct< T > * | graph_st = NULL , |
||
const TreeStruct< T > * | tree_st = NULL , |
||
const GraphPathStruct< T > * | graph_path_st = NULL |
||
) |
Definition at line 3226 of file fista.h.
References spams::FISTA::ParamFISTA< T >::clever, spams::FISTA::ParamReg< T >::clever, ELASTICNET, FUSEDLASSO, GRAPH, GRAPH_PATH_L0, spams::FISTA::ParamReg< T >::graph_st, GRAPHMULT, spams::FISTA::ParamFISTA< T >::intercept, spams::FISTA::ParamReg< T >::intercept, spams::FISTA::ParamFISTA< T >::L0, L1, L1CONSTRAINT, L1L2, L1L2_L1, L1LINF, L1LINF_L1, L1LINFCR, L2, spams::FISTA::ParamFISTA< T >::lambda, spams::FISTA::ParamFISTA< T >::lambda2, spams::FISTA::ParamReg< T >::lambda2d1, spams::FISTA::ParamFISTA< T >::lambda3, spams::FISTA::ParamReg< T >::lambda3d1, LINF, spams::FISTA::ParamReg< T >::linf, NONE, spams::FISTA::ParamReg< T >::num_cols, spams::FISTA::ParamFISTA< T >::pos, spams::FISTA::ParamReg< T >::pos, RANK, spams::FISTA::ParamFISTA< T >::regul, spams::FISTA::ParamFISTA< T >::resetflow, spams::FISTA::ParamReg< T >::resetflow, RIDGE, spams::FISTA::ParamFISTA< T >::size_group, spams::FISTA::ParamReg< T >::size_group, TRACE_NORM, spams::FISTA::ParamFISTA< T >::transpose, spams::FISTA::ParamReg< T >::transpose, TREE_L0, TREE_L2, TREE_LINF, spams::FISTA::ParamReg< T >::tree_st, and TREEMULT.
Referenced by PROX(), and solver().
Regularizer<T>* spams::FISTA::setRegularizerVectors | ( | const ParamFISTA< T > & | param, |
const GraphStruct< T > * | graph_st = NULL , |
||
const TreeStruct< T > * | tree_st = NULL , |
||
const GraphPathStruct< T > * | graph_path_st = NULL |
||
) |
Definition at line 3177 of file fista.h.
References spams::FISTA::ParamFISTA< T >::clever, spams::FISTA::ParamReg< T >::clever, ELASTICNET, FUSEDLASSO, GRAPH, GRAPH_L2, GRAPH_PATH_L0, spams::FISTA::ParamReg< T >::graph_path_st, GRAPH_RIDGE, spams::FISTA::ParamReg< T >::graph_st, GROUPLASSO_L2, GROUPLASSO_L2_L1, GROUPLASSO_LINF, GROUPLASSO_LINF_L1, spams::FISTA::ParamFISTA< T >::groups, spams::FISTA::ParamReg< T >::groups, spams::FISTA::ParamFISTA< T >::intercept, spams::FISTA::ParamReg< T >::intercept, spams::FISTA::ParamFISTA< T >::L0, L1, L1CONSTRAINT, L2, spams::FISTA::ParamFISTA< T >::lambda, spams::FISTA::ParamReg< T >::lambda, spams::FISTA::ParamFISTA< T >::lambda2, spams::FISTA::ParamReg< T >::lambda2d1, spams::FISTA::ParamFISTA< T >::lambda3, spams::FISTA::ParamReg< T >::lambda3d1, LINF, spams::FISTA::ParamReg< T >::linf, spams::FISTA::ParamFISTA< T >::ngroups, spams::FISTA::ParamReg< T >::ngroups, NONE, spams::FISTA::ParamFISTA< T >::pos, spams::FISTA::ParamReg< T >::pos, RANK_VEC, spams::FISTA::ParamFISTA< T >::regul, spams::FISTA::ParamFISTA< T >::resetflow, spams::FISTA::ParamReg< T >::resetflow, RIDGE, spams::FISTA::ParamFISTA< T >::size_group, spams::FISTA::ParamReg< T >::size_group, TRACE_NORM_VEC, TREE_L0, TREE_L2, TREE_LINF, and spams::FISTA::ParamReg< T >::tree_st.
Referenced by PROX(), and solver().
void spams::FISTA::solver | ( | const Matrix< T > & | X, |
const AbstractMatrixB< T > & | D, | ||
const Matrix< T > & | alpha0, | ||
Matrix< T > & | alpha, | ||
const ParamFISTA< T > & | param1, | ||
Matrix< T > & | optim_info, | ||
const GraphStruct< T > * | graph_st = NULL , |
||
const TreeStruct< T > * | tree_st = NULL , |
||
const GraphPathStruct< T > * | graph_path_st = NULL |
||
) |
AbstractMatrixB is basically either SpMatrix or Matrix.
(loss not for matrices and regul for matrices) or CUR
Definition at line 3436 of file fista.h.
References spams::FISTA::ParamFISTA< T >::compute_gram, spams::FISTA::ParamFISTA< T >::copied, CUR, FISTA_Generic(), HINGE, spams::FISTA::Loss< T, D, E >::init(), spams::init_omp(), spams::FISTA::Loss< T, D, E >::is_fenchel(), spams::FISTA::Regularizer< T, D >::is_fenchel(), spams::FISTA::ParamFISTA< T >::ista, ISTA_Generic(), LOG, LOGWEIGHT, spams::FISTA::ParamFISTA< T >::loss, loss_for_matrices(), spams::Matrix< T >::m(), MIN, MULTILOG, spams::Matrix< T >::n(), spams::FISTA::ParamFISTA< T >::num_threads, param_for_admm(), print_info_solver(), spams::Matrix< T >::refCol(), spams::FISTA::ParamFISTA< T >::regul, regul_for_matrices(), spams::Matrix< T >::resize(), setRegularizerADMM(), setRegularizerMatrices(), setRegularizerVectors(), solver_admm(), solver_aux1(), solver_aux2(), SQUARE, SQUARE_MISSING, spams::FISTA::ParamFISTA< T >::subgrad, subGradientDescent_Generic(), spams::FISTA::ParamFISTA< T >::transpose, spams::FISTA::ParamFISTA< T >::verbose, and spams::AbstractMatrixB< T >::XtX().
Referenced by callFunction().
void spams::FISTA::solver_admm | ( | const Matrix< T > & | X, |
const Matrix< T > & | alpha0, | ||
Matrix< T > & | alpha, | ||
Matrix< T > & | optim_info, | ||
SplittingFunction< T, SpMatrix< T > > ** | regularizers, | ||
SplittingFunction< T, Matrix< T > > ** | losses, | ||
const ParamFISTA< T > & | param | ||
) |
Definition at line 3312 of file fista.h.
References spams::FISTA::ParamFISTA< T >::admm, ADMM(), spams::FISTA::ParamFISTA< T >::lin_admm, LinADMM(), spams::Matrix< T >::n(), spams::Matrix< T >::refCol(), and spams::Matrix< T >::resize().
Referenced by solver().
void spams::FISTA::solver_aux1 | ( | const Matrix< T > & | X, |
const Matrix< T > & | alpha0, | ||
Matrix< T > & | alpha, | ||
Matrix< T > & | optim_info, | ||
Regularizer< T, Vector< T > > ** | regularizers, | ||
Loss< T, Vector< T > > ** | losses, | ||
const ParamFISTA< T > & | param | ||
) |
Definition at line 3348 of file fista.h.
References FISTA_Generic(), spams::FISTA::ParamFISTA< T >::ista, ISTA_Generic(), spams::Matrix< T >::n(), spams::Matrix< T >::refCol(), spams::Matrix< T >::resize(), spams::FISTA::ParamFISTA< T >::subgrad, subGradientDescent_Generic(), and spams::FISTA::ParamFISTA< T >::verbose.
Referenced by solver().
void spams::FISTA::solver_aux2 | ( | const Matrix< T > & | X, |
const Matrix< T > & | alpha0, | ||
Matrix< T > & | alpha, | ||
Matrix< T > & | optim_info, | ||
Regularizer< T, Matrix< T > > ** | regularizers, | ||
Loss< T, Matrix< T > > ** | losses, | ||
const ParamFISTA< T > & | param | ||
) |
Definition at line 3393 of file fista.h.
References FISTA_Generic(), spams::FISTA::ParamFISTA< T >::ista, ISTA_Generic(), spams::Matrix< T >::n(), spams::Matrix< T >::refCol(), spams::Matrix< T >::refSubMat(), spams::Matrix< T >::resize(), spams::FISTA::ParamFISTA< T >::subgrad, subGradientDescent_Generic(), and spams::FISTA::ParamFISTA< T >::verbose.
Referenced by solver().
void spams::FISTA::subGradientDescent_Generic | ( | Loss< T, D, E > & | loss, |
Regularizer< T, D > & | regularizer, | ||
const D & | x0, | ||
D & | x, | ||
Vector< T > & | optim_info, | ||
const ParamFISTA< T > & | param | ||
) |
print loss
compute gradient
Definition at line 2599 of file fista.h.
References spams::FISTA::ParamFISTA< T >::a, spams::FISTA::ParamFISTA< T >::b, duality_gap(), spams::FISTA::Loss< T, D, E >::eval(), spams::FISTA::Regularizer< T, D >::eval(), spams::Timer::getElapsed(), spams::FISTA::Loss< T, D, E >::grad(), INFINITY, spams::FISTA::Loss< T, D, E >::is_fenchel(), spams::FISTA::Regularizer< T, D >::is_fenchel(), spams::FISTA::ParamFISTA< T >::it0, spams::FISTA::ParamFISTA< T >::lambda, spams::FISTA::ParamFISTA< T >::log, spams::FISTA::ParamFISTA< T >::logName, MAX, spams::FISTA::ParamFISTA< T >::max_it, spams::Vector< T >::set(), spams::FISTA::ParamFISTA< T >::sqrt_step, spams::Timer::start(), spams::Timer::stop(), spams::FISTA::Regularizer< T, D >::sub_grad(), spams::FISTA::ParamFISTA< T >::tol, spams::FISTA::ParamFISTA< T >::verbose, and writeLog().
Referenced by solver(), solver_aux1(), and solver_aux2().
void spams::FISTA::update_multipliers_ADMM | ( | Vector< T > & | w, |
const Matrix< T > & | splitted_w_loss, | ||
const Matrix< T > & | multipliers_w_loss, | ||
const SpMatrix< T > & | splitted_w_reg, | ||
const SpMatrix< T > & | multipliers_w_reg, | ||
const T | gamma | ||
) |
Definition at line 2856 of file fista.h.
References spams::Vector< T >::add(), spams::Vector< T >::copy(), spams::Vector< T >::div(), spams::SpVector< T >::L(), spams::Matrix< T >::n(), spams::Vector< T >::n(), spams::SpMatrix< T >::n(), spams::SpVector< T >::r(), spams::SpMatrix< T >::refCol(), spams::Vector< T >::set(), and spams::Matrix< T >::sum_cols().
Referenced by ADMM().
void spams::FISTA::update_multipliers_LinADMM | ( | Vector< T > & | w, |
const SpMatrix< T > & | splitted_w_reg, | ||
const SpMatrix< T > & | multipliers_w_reg, | ||
const T | gamma, | ||
const T | delta | ||
) |
Definition at line 3044 of file fista.h.
References spams::Vector< T >::add(), spams::Vector< T >::div(), spams::FISTA::ParamFISTA< T >::gamma, spams::SpVector< T >::L(), spams::Vector< T >::n(), spams::SpMatrix< T >::n(), spams::SpVector< T >::r(), spams::SpMatrix< T >::refCol(), and spams::Vector< T >::set().
Referenced by LinADMM().
void spams::FISTA::update_multipliers_weighted_ADMM | ( | Vector< T > & | w, |
const Matrix< T > & | splitted_w_loss, | ||
const Matrix< T > & | multipliers_w_loss, | ||
const SpMatrix< T > & | splitted_w_reg, | ||
const SpMatrix< T > & | multipliers_w_reg, | ||
const T | gamma, | ||
const T * | inner_weights | ||
) |
Definition at line 2892 of file fista.h.
References spams::Vector< T >::add(), spams::Vector< T >::copy(), spams::Vector< T >::div(), spams::SpVector< T >::L(), spams::Matrix< T >::n(), spams::Vector< T >::n(), spams::SpMatrix< T >::n(), spams::SpVector< T >::r(), spams::SpMatrix< T >::refCol(), spams::Vector< T >::set(), spams::Matrix< T >::sum_cols(), and spams::SpVector< T >::v().
Referenced by ADMM().
void spams::FISTA::writeLog | ( | const int | iter, |
const T | time, | ||
const T | primal, | ||
const T | dual, | ||
char * | name | ||
) |
Definition at line 2587 of file fista.h.
Referenced by ADMM(), FISTA_Generic(), ISTA_Generic(), LinADMM(), and subGradientDescent_Generic().