sparse_ho.criterion.FiniteDiffMonteCarloSure

class sparse_ho.criterion.FiniteDiffMonteCarloSure(sigma, finite_difference_step=None, random_state=42)

Smoothed version of the Stein Unbiased Risk Estimator (SURE).

Implements the iterative Finite-Difference Monte-Carlo approximation of the SURE. By default, the approximation is ruled by a power law heuristic [1].

Parameters
sigma: float

Noise level

finite_difference_step: float, optional

Finite difference step used in the approximation of the SURE. By default, use a power law heuristic.

random_stateint, RandomState instance, default=42

The seed of the pseudo random number generator. Pass an int for reproducible output across multiple function calls.

References

1

C.-A. Deledalle, Stein Unbiased GrAdient estimator of the Risk

(SUGAR) for multiple parameter selection. SIAM J. Imaging Sci., 7(4), 2448-2487.

Attributes
Finite differentiation Monte Carlo SURE relies on the resolution of 2
optimization problems.
mask0: array-like, shape (n_features,)

Boolean array corresponding to the non-zeros coefficients of the solution of the first optimization problem.

mask02: array-like, shape (n_features,)

Boolean array corresponding to the non-zeros coefficients of the solution of the second optimization problem.

dense: ndarray

Values of the non-zeros coefficients of the solution of the first optimization problem.

dense2: ndarray

Values of the non-zeros coefficients of the solution of the second optimization problem.

__init__(sigma, finite_difference_step=None, random_state=42)

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

Methods

__init__(sigma[, finite_difference_step, …])

Initialize self.

get_val(model, X, y, log_alpha[, monitor, tol])

Get value of criterion.

get_val_grad(model, X, y, log_alpha, …[, …])

Get value and gradient of criterion.

get_val_outer(X, y, mask, dense, mask2, dense2)

Compute the value of the smoothed version of the Stein Unbiased Risk Estimator (SURE).