mlpack  3.0.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
UpdateClassic Class Reference

Use classic rule in the update step for FrankWolfe algorithm. More...

Public Member Functions

 UpdateClassic ()
 Construct the classic update rule for FrankWolfe algorithm. More...
 
template<typename FunctionType >
void Update (FunctionType &, const arma::mat &oldCoords, const arma::mat &s, arma::mat &newCoords, const size_t numIter)
 Classic update rule for FrankWolfe. More...
 

Detailed Description

Use classic rule in the update step for FrankWolfe algorithm.

That is, take $ \gamma = \frac{2}{k+2} $, where $ k $ is the iteration number. The update rule would be:

\[ x_{k+1} = (1-\gamma) x_k + \gamma s \]

Definition at line 29 of file update_classic.hpp.

Constructor & Destructor Documentation

UpdateClassic ( )
inline

Construct the classic update rule for FrankWolfe algorithm.

Definition at line 35 of file update_classic.hpp.

Member Function Documentation

void Update ( FunctionType &  ,
const arma::mat &  oldCoords,
const arma::mat &  s,
arma::mat &  newCoords,
const size_t  numIter 
)
inline

Classic update rule for FrankWolfe.

$ x_{k+1} = (1-\gamma)x_k + \gamma s $, where $ \gamma = 2/(k+2) $

Parameters
functionfunction to be optimized, not used in this update rule.
oldCoordsprevious solution coords.
scurrent linear_constr_solution result.
newCoordsoutput new solution coords.
numItercurrent iteration number

Definition at line 49 of file update_classic.hpp.


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