dival.reconstructors.regression_reconstructors module
Provides reconstructors performing regression.
- class dival.reconstructors.regression_reconstructors.LinRegReconstructor(hyper_params=None, **kwargs)[source]
Bases:
LearnedReconstructor
- HYPER_PARAMS = {'l2_regularization': {'default': 0.0, 'range': [0.0, inf], 'retrain': True}}
Reconstructor learning and applying linear regression.
Assumes the inverse operator is linear, i.e.
x = A_inv * y
. Learns the entries ofA_inv
by l2-regularized linear regression:A_inv = 1/2N * sum_i ||x_i - A_inv * y_i||^2 + alpha/2 * ||A_inv||_F^2
, where (y_i, x_i) with i=1,…,N are pairs of observations and the corresponding ground truth.- weights
The weight matrix.
- Type:
np.ndarray
- __init__(hyper_params=None, **kwargs)[source]
- Parameters:
hyper_params (dict, optional) – A dict with no items or an item
'l2_regularization': float
. Cf.Reconstructor.init()
.
- train(dataset)[source]
Train the reconstructor with a dataset by adapting its parameters.
Should only use the training and validation data from dataset.
- Parameters:
dataset (
Dataset
) – The dataset from which the training data should be used.
- property l2_regularization