Full correction approach to update the solution. More...
Public Member Functions | |
| UpdateFullCorrection (const double tau, const double stepSize) | |
| Construct UpdateFullCorrection class. More... | |
| void | Update (FuncSq &function, const arma::mat &oldCoords, const arma::mat &s, arma::mat &newCoords, const size_t) |
| Update rule for FrankWolfe, recalculate the coefficents of of current atoms, while satisfying the norm constraint. More... | |
Full correction approach to update the solution.
UpdateSpan class reoptimize the solution in the span of all current atoms, which is used in OMP, which only focus on sparsity.
UpdateFullCorrection class reoptimize the solution in a similar way, however, the solutions need to satisfy the constraint that the atom norm has to be smaller than or equal to tau. This constraint optimization problem is solved by projected gradient method. See Atoms.ProjectedEnhancement().
Currently only works for function in FuncSq class.
Definition at line 37 of file update_full_correction.hpp.
|
inline |
Construct UpdateFullCorrection class.
| tau | atom norm constraint. |
| stepSize | step size used in projected gradient method. |
Definition at line 46 of file update_full_correction.hpp.
|
inline |
Update rule for FrankWolfe, recalculate the coefficents of of current atoms, while satisfying the norm constraint.
| function | function to be optimized. |
| oldCoords | previous solution coords. |
| s | current linear_constr_solution result. |
| newCoords | new output solution coords. |
| numIter | current iteration number. |
Definition at line 60 of file update_full_correction.hpp.
References Atoms::AddAtom(), Atoms::CurrentCoeffs(), Atoms::ProjectedGradientEnhancement(), and Atoms::RecoverVector().