Regularization (simpeg.regularization
)#
Regularization
classes are used to impose constraints on models recovered through geophysical
inversion. Constraints may be straight forward, such as: requiring the recovered model be
spatially smooth, or using a reference model to add apriori information. Constraints may also
be more sophisticated; e.g. crossvalidation and petrophysicallyguided regularization.
In SimPEG, constraints on the recovered model can be defined using a single Regularization
object, or defined as a weighted sum of Regularization
objects.
Basic Theory#
Most geophysical inverse problems suffer from nonuniqueness; i.e. there is an infinite number of models (\(m\)) capable of reproducing the observed data to within a specified degree of uncertainty. The challenge is recovering a model which 1) reproduces the observed data, and 2) reasonably approximates the subsurface structures responsible for the observed geophysical response. To accomplish this, regularization is used to ensure the solution to the inverse problem is unique and is geologically plausible. The regularization applied to solve the inverse problem depends on user assumptions and a priori information.
SimPEG uses a deterministic inversion approach to recover an appropriate model. The algorithm does this by finding the model (\(m\)) which minimizes a global objective function (or penalty function) of the form:
The global objective function contains two terms: a data misfit term \(\phi_d\) which ensures data predicted by the recovered model adequately reproduces the observed data, and the model objective function \(\phi_m\) which is comprised of one or more regularization functions (objective functions) \(\phi_i (m)\). I.e.:
The model objective function imposes all the desired constraints on the recovered model. Constants \(\alpha_i\) weight the relative contributions of the regularization functions comprising the model objective function. The tradeoff parameter \(\beta\) balances the relative contribution of the data misfit and regularization functions on the global objective function.
Regularization classes within SimPEG correspond to different regularization (objective) functions that can be used individually or combined to define the model objective function \(\phi_m (\mathbf{m})\). For example, a combination of regularization functions that ensures the values in the recovered model are not too large and are spatially smooth in the x and ydirections can be expressed as:
where \(w_s(r), w_x(r), w_y(r)\) are userdefined weighting functions. For practical implementation within SimPEG, the regularization function and all its dependent variables are discretized to a numerical grid (or mesh). The model is therefore defined as a discrete set of model parameters \(\mathbf{m}\). And the regularization is implemented using a weighted sum of objective functions:
where \(\mathbf{G_x}\) and \(\mathbf{G_y}\) are partial gradient operators along the x and ydirections, respectively. \(\mathbf{W_s}\), \(\mathbf{W_x}\) and \(\mathbf{W_y}\) are weighting matrices that apply userdefined weights and account for cell dimensions in the inversion mesh.
The API#
Weighted Least Squares Regularization#
Weighted least squares regularization functions are defined as weighted L2norms on the model, its firstorder directional derivative(s), or its secondorder directional derivative(s).

Weighted leastsquares regularization using smallness and smoothness. 

Smallness regularization for leastsquares inversion. 

Firstorder smoothness leastsquares regularization. 

Secondorder smoothness (flatness) leastsquares regularization. 

Measures the gradient of a model using optionally anisotropic weighting. 
Sparse Norm Regularization#
Sparse norm regularization allows for the recovery of compact and/or blocky structures. An iteratively reweighted leastsquares approach allows smallness and smoothness regularization functions to be defined using norms between 0 and 2.

Sparse norm weighted least squares regularization. 

Sparse smallness (compactness) regularization. 

Sparse smoothness (blockiness) regularization. 
Vector Regularizations#
Vector regularization allows for the recovery of vector models; that is, a model where the parameters for each cell define directional components of a vector quantity.

Cross reference regularization for models representing vector quantities. 

Sparse vector amplitude regularization. 

Sparse smallness regularization on vector amplitudes. 

Sparse amplitude smoothness (blockiness) regularization. 
Joint Regularizations#
Regularization functions for joint inversion involving one or more physical properties.

Crossgradient regularization for joint inversion. 

Joint total variation regularization for joint inversion. 

Regularization function for petrophysically guided inversion (PGI). 

Smallness regularization function for petrophysically guided inversion (PGI). 

Linear correspondence regularization for joint inversion with two physical properties. 
Base Regularization Classes#
Base regularization classes. Inherited by other classes and not used directly to constrain inversions.

Regularization Mesh 

Base regularization class. 

Base regularization class for joint inversion. 

Base class for sparsenorm regularization. 

Base regularization class for models defined by vector quantities. 

Base amplitude regularization class for models defined by vector quantities. 