gemseo.mlearning.linear_model_fitting.spgl1 module#

SPGL1 (Spectral Projected Gradient for L1 minimization) algorithm.

class SPGL1(settings=None)[source]#

Bases: BaseLinearModelFitter[_SGPL1FittingFunction, SPGL1_Settings]

SPGL1 (Spectral Projected Gradient for L1 minimization) algorithm.

Given the linear model fitting problem presented in this page, this algorithm solves a penalized least squares problem of the form:

  1. Basis pursuit denoise (BPDN) when sigma is a positive number:

\[\min_w \|w\|_1 \quad \text{s.t.} \quad \|Xw-y\|_2 \leq \sigma , \qquad \sigma > 0\]
  1. Basis pursuit (BP) when tau and sigma are 0:

\[\min_w \|w\|_1 \quad \text{s.t.} \quad Xw=y\]
  1. Lasso when tau is a positive number:

\[\min_w \|Xw-y\|_2 \quad \text{s.t.} \quad \|w\|_1 \leq \tau , \qquad \tau > 0\]

where \(\|w\|_1\) is the \(\ell_1\)-norm of the coefficients \(w\) and \(\|Xw-y\|_2\) is the \(\ell_2\)-norm of the residual \(Xw-y\).

Initialize self. See help(type(self)) for accurate signature.

Parameters:

settings (SettingsType | None) -- The settings of the linear model fitting algorithm. If None, use a default instance of Settings.

Settings#

alias of SPGL1_Settings