Filter values by replacing large function values by the median of all.
This strategy was proposed by [1] based on results from [2]. Use this
strategy to reduce oscillations of the interpolator, especially if the range
target function is large. This filter may reduce the quality of the
approximation by the surrogate.
\(\beta_i\) are the coefficients of the RBF model.
\(\phi\) is the kernel function.
\(p_i\) are the basis functions of the polynomial tail.
\(n\) is the dimension of the polynomial tail.
This implementation focuses on quick successive updates of the model, which
is essential for the good performance of active learning processes.
Parameters:
kernel (RadialBasisFunction) – Kernel function \(\phi\) used in the RBF model. (default: <soogo.model.rbf_kernel.CubicRadialBasisFunctionobjectat0x7f33de78a570>)
iindex (tuple[int, ...]) – Indices of integer variables in the feature space. (default: ())
filter (Optional[RbfFilter]) – Filter to be used in the target (image) space. (default: None)
The mu measure was first defined in [3] with suggestions of usage for
global optimization with RBF functions. In [4], the authors detail the
strategy to make the evaluations computationally viable.
The current
implementation, uses a different strategy than that from Björkman and
Holmström (2000), where a single LDLt factorization is used instead of
the QR and Cholesky factorizations. The new algorithm’s performs 10
times less operations than the former. Like the former, the new
algorithm is also able to use high-intensity linear algebra operations
when the routine is called with multiple points \(x\) are evaluated
at once.
Note
Before calling this method, the model must be prepared with
prepare_mu_measure().
Parameters:
x (ndarray) – m-by-d matrix with m point coordinates in a d-dimensional
space.
This routine computes the LDLt factorization of the matrix A, which is
used to compute the mu measure. The factorization is computed only once
and can be reused for multiple calls to mu_measure().
This routine avoids successive dynamic memory allocations with
successive calls of update(). If the input maxeval is smaller
than the current number of sample points, nothing is done.
Parameters:
maxeval (int) – Maximum number of function evaluations.
dim (int) – Dimension of the domain space.
ntarget (int) – Dimension of the target space. (default: 1)