.. _ExplorationObjective: Exploration objective --------------------- The objective is to learn the global behaviour of a target variable by exploring regions with large information gain. It implements two exploration strategies: :uncertainty: Samples are targeted that have a large prediction uncertainty. That is, the posterior of the target variable has a large variance. :surprise: This strategy only works in conjunction with neural network ensembles. It considers the gradient of the weights of the output layer (feature layer) with respect to the loss :math:`L(\mathbf{p}) = \sum_i \left(nn_i(\mathbf{p}) - \overline{y}(\mathbf{p})\right)^2`, where :math:`nn_i(\mathbf{p})` is the prediction of the :math:`i`-th ensemble member and :math:`\overline{y}(\mathbf{p})` is the fantasy of the function value (i.e. the average of the ensemble members). The strategy targets parameters with maximal gradient magnitude, :math:`\Vert \nabla_\theta L(\mathbf{p}) \Vert_2`, where :math:`\theta` denotes the weights of the output layer. If using a neural network ensemble, the ``'surprise'`` strategy offers often offers more informed sampling leading to slightly more accurate predictions. .. _ActiveLearning.Explorer.name: name (str) """""""""" The name of the objective. Default: ``'objective'`` .. _ActiveLearning.Explorer.variable: variable (str) """""""""""""" The name of a single-output variable that specifies the objective value. Default: The first variable in the list of all variables. .. _ActiveLearning.Explorer.penalize_boundaries: penalize_boundaries (bool) """""""""""""""""""""""""" If true, the uncertainty is penalized by a small distance to the domain boundary. Default: ``False`` .. _ActiveLearning.Explorer.min_uncertainty: min_uncertainty (float) """"""""""""""""""""""" The study is stopped if the uncertainty (square root of variance) of the objective at the last 5 sampling points was below ``min_uncertainty``. Default: ``0.0`` .. _ActiveLearning.Explorer.strategy: strategy (str) """""""""""""" Exploration strategy. If ``strategy='surprise'`` all input surrogates must be neural network ensembles. Default: ``'uncertainty'`` Choices: ``'uncertainty'``, ``'surprise'``.