Linear Constrained Solver for FrankWolfe. More...
Public Member Functions | |
| ConstrStructGroupSolver (GroupType &groupExtractor) | |
| Construct the structure group optimization solver. More... | |
| void | Optimize (const arma::mat &v, arma::mat &s) |
| Optimizer of structure group ball constrained Problem for FrankWolfe. More... | |
Linear Constrained Solver for FrankWolfe.
Constrained domain given in the form of unit ball of different structured group. That is, given original vector
in high dimensional space, suppose we can map it into different smaller dimensional spaces (decomposing the information):
For example, each group corresponds to a specific set of support subsets, as in GroupLpBall class. Also, a norm would be equipped for each group:
, for example lp norm could be used, as in GroupLpBall class. Now, the norm defined for the original vector is:
This norm is an atom norm, and the dual norm is given by
See Jaggi's paper:
For ConstrStrctGroupSolver to work, we need to use template class GroupType, which gives functions:
size_t NumGroups(); double DualNorm(const arma::vec& yk, const int group_ind); ProjectToGroup(const arma::mat& v, const size_t groupId, arma::vec& y); void OptimalFromGroup(const arma::mat& v, const size_t groupId, arma::mat& s);
| GroupType | Class that implements functions to map original vectors to each group, and to solve linear optimization problem in the unit ball defined by the norm of each group. |
Definition at line 68 of file constr_structure_group.hpp.
|
inline |
Construct the structure group optimization solver.
| groupExtractor | Class used to project to a group, recovery from a group, and compute norm in each group. |
Definition at line 77 of file constr_structure_group.hpp.
|
inline |
Optimizer of structure group ball constrained Problem for FrankWolfe.
| v | Input local gradient. |
| s | Output optimal solution in the constrained atom domain. |
Definition at line 87 of file constr_structure_group.hpp.