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.