Ridge

The Ridge model sets up and solves the Ridge (or Tikhonov) least squares problem:

$$\text{minimize } || Ax+\eta-b ||_2 + \alpha || \Delta x_i ||_2$$ $$\text{subject to } x_i \ge 0$$

where A is the a basis matrix, b is an observation, x is a vector of coefficients, and eta is a constant background term. Alpha is a hyperparameter that specifies the weight given to the smoothness regularization term.

Ridge differs from Quadratic in that it gives defined the problem in terms of cvxpy’s norm2() function, and lets it handle the appropriate factorizations.

class kemitter.model.Ridge(alpha)

Solves and stores results of cvxpy ridge regression solver, implemented by the cvxpy.norm2() function.

name

str – “RIDGE” (constant)

alpha

float – the regularization parameter for the smoothness penalty

See also

Model

run(bases, observation, verbose=True)

Runs the model calculations.

Bases and observations are loaded into proper polarized data sets. In this step, arguments are checked to ensure polarization angles match in value and order. Any bases that have not been built already are built with their corresponding build() method.

Bases and observations of multiple polarizations are then concatenated and given to cvxpy and MOSEK for solving.

Results are returned and processed in inherited Model attributes.

Parameters:
  • bases (list of Basis) – The basis objects (built or not) of several polarizations, to be used for fitting.
  • observation (list of Observation) – The observation objects of several polarizations, to be used for fitting.
  • verbose (bool) – The console verbosity of the called solver (MOSEK).