SPQR API summary

Oracles

First Order Oracles for superquantile optimization:

spqr.OracleSubgradient(loss, loss_grad, p)

Base class that instantiate the superquantile oracle for a non differentiable loss

spqr.OracleSmoothGradient(loss, loss_grad, p)

Base class that instantiate the superquantile oracle for a differentiable loss

First Order Oracles for hyperquantile optimization:

spqr.IntergratedOracleSubgradient(loss, …)

Base class that instantiate the hyperquantile oracle for a non differentiable loss

spqr.IntegratedOracleSmoothGradient(loss, …)

Base class that instantiate the hyperquantile oracle for a differentiable loss

Optimization Algorithms

Algorithms for a non-smooth loss function:

spqr.algorithms.SubgradientMethod(oracle, params)

Class aimed at running subgradient method.

spqr.algorithms.DualAveraging(oracle, params)

spqr.algorithms.DualAveragingAdvanced(…)

Class aimed at running Dual Averaging Method.

Algorithms for a smooth loss function:

spqr.algorithms.GradientMethod(oracle, params)

spqr.algorithms.NesterovMethod(oracle, params)

Class aimed at running Accelerated Gradient Method.

spqr.algorithms.LBFGS(oracle, params)

Class aimed at running Low memory bfgs method.

Risk Optimization Framework

spqr.RiskOptimizer(loss, loss_grad[, …])

Base class for optimization of superquantile-based losses.