simpeg.directives.BetaEstimateMaxDerivative#
- class simpeg.directives.BetaEstimateMaxDerivative(beta0_ratio=1.0, random_seed=None, **kwargs)[source]#
Bases:
BaseBetaEstimator
Estimate initial trade-off parameter (beta) using largest derivatives.
The initial trade-off parameter (beta) is estimated by scaling the ratio between the largest derivatives in the gradient of the data misfit and model objective function. The estimated trade-off parameter is used to update the beta property in the associated
simpeg.inverse_problem.BaseInvProblem
object prior to running the inversion. A separate directive is used for updating the trade-off parameter at successive beta iterations; seeBetaSchedule
.- Parameters:
- beta0_ratio: float
Desired ratio between data misfit and model objective function at initial beta iteration.
- random_seed
None
orRandomSeed
,optional
Random seed used for random sampling. It can either be an int, a predefined Numpy random number generator, or any valid input to
numpy.random.default_rng
.- seed
None
orRandomSeed
,optional
Deprecated since version 0.23.0: Argument
seed
is deprecated in favor ofrandom_seed
and will be removed in SimPEG v0.24.0.
Attributes
The estimated ratio is multiplied by this to obtain beta.
verbose.debug has been deprecated.
Data misfit associated with the directive.
Inverse problem associated with the directive.
Inversion object associated with the directive.
Optimization algorithm associated with the directive.
Random seed to initialize with.
Regularization associated with the directive.
random_seed.seed has been deprecated.
Return simulation for all data misfits.
Return survey for all data misfits
Whether or not to print debugging information.
Methods
endIter
()Update inversion parameter(s) according to directive at end of iteration.
finish
()Update inversion parameter(s) according to directive at end of inversion.
Initialize inversion parameter(s) according to directive.
validate
(directive_list)Validate directive.
Notes
Let \(\phi_d\) represent the data misfit, \(\phi_m\) represent the model objective function and \(\mathbf{m_0}\) represent the starting model. The first model update is obtained by minimizing the a global objective function of the form:
\[\phi (\mathbf{m_0}) = \phi_d (\mathbf{m_0}) + \beta_0 \phi_m (\mathbf{m_0})\]where \(\beta_0\) represents the initial trade-off parameter (beta).
We define \(\gamma\) as the desired ratio between the data misfit and model objective functions at the initial beta iteration (defined by the ‘beta0_ratio’ input argument). Here, the initial trade-off parameter is computed according to:
\[\beta_0 = \gamma \frac{| \nabla_m \phi_d (\mathbf{m_0}) |_{max}}{| \nabla_m \phi_m (\mathbf{m_0 + \delta m}) |_{max}}\]where
\[\delta \mathbf{m} = \frac{m_{max}}{\mu_{max}} \boldsymbol{\mu}\]and \(\boldsymbol{\mu}\) is a set of independent samples from the continuous uniform distribution between 0 and 1.