SG++-Doxygen-Documentation
|
Fast Iterative Shrinkage Tresholding Algorithm is a solver for least-squares problems. More...
#include <Fista.hpp>
Public Member Functions | |
Fista (F g) | |
Fista. More... | |
void | solve (base::OperationMultipleEval &op, base::DataVector &weights, const base::DataVector &classes, size_t maxIt, double threshold, double L=0.5) override |
solve solves the problem. More... | |
Public Member Functions inherited from sgpp::solver::FistaBase | |
double | getL () |
Additional Inherited Members | |
Protected Attributes inherited from sgpp::solver::FistaBase | |
double | L = 0.5 |
Fast Iterative Shrinkage Tresholding Algorithm is a solver for least-squares problems.
It can solve all problems that are seperable in a least-squares part and a convex, not necessarily smooth other function. The other function is a template argument. FISTA is an optimal first order method for this problem class.
|
inlineexplicit |
g | is the regularization function. |
|
inlineoverridevirtual |
solve solves the problem.
op | |
weights | is the first guess for the solution |
classes | is the target vector |
maxIt | is the maximum number of iterations |
threshold | is the desired accuracy |
L | is a guess for the Lipschitz number of the gradient of the least squares part. It is used to improve the speed of the linesearch, and should be 0.5 for the first iteration. Has to be positive. |
Implements sgpp::solver::FistaBase.
References sgpp::base::DataVector::add(), chess::b, sgpp::base::DataVector::dotProduct(), sgpp::base::DataVector::getSize(), sgpp::solver::FistaBase::L, sgpp::base::OperationMultipleEval::mult(), sgpp::base::DataVector::mult(), sgpp::base::OperationMultipleEval::multTranspose(), sgpp::base::DataVector::sqr(), sgpp::base::DataVector::sub(), and sgpp::base::DataVector::sum().