Multivariate Point Process Package  0.1
Public Member Functions | List of all members
Optimizer Class Reference

Optimizer encapsulates a collection of optimization algorithms used in the toolbox. More...

#include "include/Optimizer.h"

Public Member Functions

 Optimizer (IProcess *process)
 The constructor. More...
 
void SGD (const double &gamma0, const unsigned &ini_max_iter, const std::vector< Sequence > &data)
 Stochastic gradient descend. More...
 
void PLBFGS (const double &LB, const double &UB)
 Projected LBFGS. More...
 
void ProximalGroupLasso (const double &gamma0, const double &lambda, const unsigned &ini_max_iter, const unsigned &group_size)
 Proximal method with group lasso type of regularization. More...
 
void ProximalGroupLassoForHawkes (const double &gamma0, const double &lambda, const unsigned &ini_max_iter, const unsigned &group_size)
 Proximal method with group lasso type of regularization for fitting Hawkes processes. More...
 
void ProximalNuclear (const double &lambda, const double &rho, const unsigned &ini_max_iter, const Eigen::VectorXd &trueparameters)
 Proximal method with nuclear norm regularization. More...
 
void ProximalFrankWolfe (const double &gamma0, const double &lambda, const double &rho, const double &ub_alpha, const unsigned &ini_max_iter, const Eigen::VectorXd &trueparameters)
 Proximal method using conditional gradient update. More...
 
void ProximalFrankWolfe (const double &gamma0, const double &lambda, const double &rho, const double &ub_alpha, const unsigned &ini_max_iter)
 Proximal method using conditional gradient update. More...
 
void ProximalFrankWolfeForLowRankHawkes (const double &gamma0, const double &lambda0, const double &lambda, const double &ub_lambda0, const double &ub_alpha, const double &rho, const unsigned &ini_max_iter, const unsigned &num_rows, const unsigned &num_cols, const Eigen::MatrixXd &TrueLambda0, const Eigen::MatrixXd &TrueAlpha)
 Proximal method using conditional gradient update for Low-rank Hawkes process. More...
 
void ProximalFrankWolfeForLowRankHawkes (const double &gamma0, const double &lambda0, const double &lambda, const double &ub_lambda0, const double &ub_alpha, const double &rho, const unsigned &ini_max_iter, const unsigned &num_rows, const unsigned &num_cols)
 Proximal method using conditional gradient update for Low-rank Hawkes process. More...
 

Detailed Description

Optimizer encapsulates a collection of optimization algorithms used in the toolbox.

Definition at line 17 of file Optimizer.h.

Constructor & Destructor Documentation

Optimizer::Optimizer ( IProcess process)
inline

The constructor.

Parameters
processthe given point process model to fit.

Definition at line 90 of file Optimizer.h.

Member Function Documentation

void Optimizer::PLBFGS ( const double &  LB,
const double &  UB 
)

Projected LBFGS.

Parameters
[in]LBlower bound of the parameters.
[in]UBupper bound of the parameters.

Definition at line 230 of file Optimizer.cc.

void Optimizer::ProximalFrankWolfe ( const double &  gamma0,
const double &  lambda,
const double &  rho,
const double &  ub_alpha,
const unsigned &  ini_max_iter,
const Eigen::VectorXd &  trueparameters 
)

Proximal method using conditional gradient update.

Parameters
gamma0initial learning rate.
lambdaregularization coefficient.
rhocoefficient to enforce the low-rank constraint.
ub_alphaupper bound of the nuclear norm of the excitation matrix.
ini_max_iterinitial maximum number of iterations.
trueparameterstrue model parameters to compare with the current solution.

Definition at line 709 of file Optimizer.cc.

void Optimizer::ProximalFrankWolfe ( const double &  gamma0,
const double &  lambda,
const double &  rho,
const double &  ub_alpha,
const unsigned &  ini_max_iter 
)

Proximal method using conditional gradient update.

Parameters
gamma0initial learning rate.
lambdaregularization coefficient.
rhocoefficient to enforce the low-rank constraint.
ub_alphaupper bound of the nuclear norm of the excitation matrix.
ini_max_iterinitial maximum number of iterations.

Definition at line 785 of file Optimizer.cc.

void Optimizer::ProximalFrankWolfeForLowRankHawkes ( const double &  gamma0,
const double &  lambda0,
const double &  lambda,
const double &  ub_lambda0,
const double &  ub_alpha,
const double &  rho,
const unsigned &  ini_max_iter,
const unsigned &  num_rows,
const unsigned &  num_cols,
const Eigen::MatrixXd &  TrueLambda0,
const Eigen::MatrixXd &  TrueAlpha 
)

Proximal method using conditional gradient update for Low-rank Hawkes process.

Parameters
gamma0initial learning rate.
lambda0regularization coefficient for the base intensity function.
lambdaregularization coefficient for the excitation matrix.
ub_lambda0upper bound of the nuclear norm of the base intensity matrix.
ub_alphaupper bound of the nuclear norm of the excitation matrix.
rhocoefficient to enforce the low-rank constraint.
ini_max_iterinitial maximum number of iterations.
num_rowsthe number of rows (or users) of the base intensity (or excitation) matrix.
num_colsthe number of cols (or items) of the base intensity (or excitation) matrix.
TrueLambda0true model parameters of the base intensity matrix to compare with the current solution.
TrueAlphatrue model parameters of the excitation matrix to compare with the current solution.

Definition at line 861 of file Optimizer.cc.

void Optimizer::ProximalFrankWolfeForLowRankHawkes ( const double &  gamma0,
const double &  lambda0,
const double &  lambda,
const double &  ub_lambda0,
const double &  ub_alpha,
const double &  rho,
const unsigned &  ini_max_iter,
const unsigned &  num_rows,
const unsigned &  num_cols 
)

Proximal method using conditional gradient update for Low-rank Hawkes process.

Parameters
gamma0initial learning rate.
lambda0regularization coefficient for the base intensity function.
lambdaregularization coefficient for the excitation matrix.
ub_lambda0upper bound of the nuclear norm of the base intensity matrix.
ub_alphaupper bound of the nuclear norm of the excitation matrix.
rhocoefficient to enforce the low-rank constraint.
ini_max_iterinitial maximum number of iterations.
num_rowsthe number of rows (or users) of the base intensity (or excitation) matrix.
num_colsthe number of cols (or items) of the base intensity (or excitation) matrix.

Definition at line 953 of file Optimizer.cc.

void Optimizer::ProximalGroupLasso ( const double &  gamma0,
const double &  lambda,
const unsigned &  ini_max_iter,
const unsigned &  group_size 
)

Proximal method with group lasso type of regularization.

Parameters
gamma0initial learning rate.
lambdaregularization coefficient.
ini_max_iterinitial maximum number of iterations.
group_sizethe size of the entire parameter vector to be pushed into zero.

Definition at line 454 of file Optimizer.cc.

void Optimizer::ProximalGroupLassoForHawkes ( const double &  gamma0,
const double &  lambda,
const unsigned &  ini_max_iter,
const unsigned &  group_size 
)

Proximal method with group lasso type of regularization for fitting Hawkes processes.

Parameters
gamma0initial learning rate.
lambdaregularization coefficient.
ini_max_iterinitial maximum number of iterations.
group_sizethe size of the entire parameter vector to be pushed into zero.

Definition at line 579 of file Optimizer.cc.

void Optimizer::ProximalNuclear ( const double &  lambda,
const double &  rho,
const unsigned &  ini_max_iter,
const Eigen::VectorXd &  trueparameters 
)

Proximal method with nuclear norm regularization.

Parameters
lambdaregularization coefficient.
rhocoefficient to enforce the low-rank constraint.
ini_max_iterinitial maximum number of iterations.
trueparameterstrue model parameters to compare with the current solution.

Definition at line 639 of file Optimizer.cc.

void Optimizer::SGD ( const double &  gamma0,
const unsigned &  ini_max_iter,
const std::vector< Sequence > &  data 
)

Stochastic gradient descend.

Parameters
[in]gamma0initial learning rate.
[in]ini_max_iterinitial maximum number of iterations.
[in]datathe sampled sequence of events.

Definition at line 14 of file Optimizer.cc.


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