mlpack  git-master
ConstrStructGroupSolver< GroupType > Class Template Reference

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...

## Detailed Description

### template<typenameGroupType> class mlpack::optimization::ConstrStructGroupSolver< GroupType >

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:

@inproceedings{Jag:2013Revisiting,
Author = {Jaggi, Martin},
Booktitle = {ICML (1)},
Pages = {427--435},
Title = {Revisiting Frank-Wolfe: Projection-Free Sparse Convex Optimization.},
Year = {2013}}

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);

Template Parameters
 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.

## ◆ ConstrStructGroupSolver()

 ConstrStructGroupSolver ( GroupType & groupExtractor )
inline

Construct the structure group optimization solver.

Parameters
 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.

## ◆ Optimize()

 void Optimize ( const arma::mat & v, arma::mat & s )
inline

Optimizer of structure group ball constrained Problem for FrankWolfe.

Parameters
 v Input local gradient. s Output optimal solution in the constrained atom domain.

Definition at line 87 of file constr_structure_group.hpp.

The documentation for this class was generated from the following file: