Optimization Algorithms¶
Algorithms for non-differentiable losses¶
-
class
spqr.algorithms.
SubgradientMethod
(oracle, params)[source]¶ Class aimed at running subgradient method.
- Parameters
oracle – An oracle object among
OracleSubgradient
,OracleSmoothGradient
,IntergratedOracleSubgradient
,IntegratedOracleSmoothGradient
.params – A dictionnary containing the parameters of the algorithm
-
run
(x, y, verbose_mode=False)[source]¶ Runs the subgradient method
- Parameters
x (numpy.ndarray) – matrix whose lines are realizations of random variable X
y (numpy.array) – vector whose coefficients are realizations of random variable y
verbose_mode (bool) – If
True
, saves function values during iterations of selected algorithm as well as time since start.
-
class
spqr.algorithms.
DualAveraging
(oracle, params)[source]¶ -
run
(x, y, verbose_mode=False)[source]¶ Runs a bacic version of Dual Averaging Algorithm
- Parameters
x (numpy.ndarray) – matrix whose lines are realizations of random variable X
y (numpy.array) – vector whose coefficients are realizations of random variable y
verbose_mode (bool) – If
True
, saves function values during iterations of selected algorithm as well as time since start.
-
Algorithms for differentiable losses¶
-
class
spqr.algorithms.
GradientMethod
(oracle, params)[source]¶ -
run
(x, y, verbose_mode=False)[source]¶ Runs Gradient Method
- Parameters
x (numpy.ndarray) – matrix whose lines are realizations of random variable X
y (numpy.array) – vector whose coefficients are realizations of random variable y
verbose_mode (bool) – If
True
, saves function values during iterations of selected algorithm as well as time since start.
-
-
class
spqr.algorithms.
NesterovMethod
(oracle, params)[source]¶ Class aimed at running Accelerated Gradient Method.
- Parameters
oracle – An oracle object among
OracleSubgradient
,OracleSmoothGradient
,IntergratedOracleSubgradient
,IntegratedOracleSmoothGradient
.params – A dictionnary containing the parameters of the algorithm
-
run
(x, y, verbose_mode=False)[source]¶ Runs Nesterov Algorithm
- Parameters
x (numpy.ndarray) – matrix whose lines are realizations of random variable X
y (numpy.array) – vector whose coefficients are realizations of random variable y
verbose_mode (bool) – If
True
, saves function values during iterations of selected algorithm as well as time since start.
-
class
spqr.algorithms.
LBFGS
(oracle, params)[source]¶ Class aimed at running Low memory bfgs method.
- Parameters
oracle – An oracle object among
OracleSubgradient
,OracleSmoothGradient
,IntergratedOracleSubgradient
,IntegratedOracleSmoothGradient
.params – A dictionnary containing the parameters of the algorithm
-
run
(X, y, verbose_mode=False)[source]¶ Runs low-memory LBFGS algorithm
- Parameters
x (numpy.ndarray) – matrix whose lines are realizations of random variable X
y (numpy.array) – vector whose coefficients are realizations of random variable y
verbose_mode (bool) – If
True
, saves function values during iterations of selected algorithm as well as time since start.