Acquisition Functions
Active learning acquisition functions.
- openadmet.models.active_learning.acquisition.expected_improvement(mean, std, best_y=0, xi=0.01, **kwargs)[source]
Get expected Improvement (EI) acquisition function. Balances exploration and exploitation.
\[ \begin{align}\begin{aligned}EI(x) = (\mu(x) - f^* - \xi) \cdot \Phi(Z) + \sigma(x) \cdot \phi(Z)\\Z = \frac{\mu(x) - f^* - \xi}{\sigma(x)}\end{aligned}\end{align} \]- Where:
\( mu(x) \): Predictive mean at \( x \)
\( sigma(x) \): Predictive standard deviation at \( x \)
\( f^* \): Best observed value so far
\( xi \): Small positive number to encourage exploration
\( Phi(Z) \): CDF of standard normal distribution
\( phi(Z) \): PDF of standard normal distribution
- Parameters:
mean (np.array) – Predicted mean values.
std (np.array) – Predicted standard deviation values.
best_y (float) – Best observed value so far.
xi (float) – Exploration-exploitation tradeoff parameter.
kwargs (keyword arguments) – Additional keyword arguments.
- Returns:
Expected improvement values for each instance in X.
- Return type:
np.array
References
functions. Journal of Global Optimization, 13(4), 455–492.
- openadmet.models.active_learning.acquisition.exploitation(mean, std, **kwargs)[source]
Return the instances within X with highest predicted values.
- Parameters:
mean (np.array) – Predicted mean values.
std (np.array) – Predicted standard deviation values, unused.
kwargs (keyword arguments) – Additional keyword arguments.
- Returns:
Predicted values for each instance in X.
- Return type:
np.array
- openadmet.models.active_learning.acquisition.max_uncertainty_reduction(mean, std, **kwargs)[source]
Maximum uncertainty reduction acquisition function. Refines an already well-performing model.
\[x_{\text{next}} = \arg\max_x \sigma(x)\]- Where:
\( sigma(x) \): Predictive standard deviation at \( x \)
- Parameters:
mean (np.array) – Predicted mean values, unused.
std (np.array) – Predicted standard deviation values.
kwargs (keyword arguments) – Additional keyword arguments.
- Returns:
Uncertainty values for each instance in X.
- Return type:
np.array
References
[1] Cohn, D., Ghahramani, Z., & Jordan, M. I. (1996). Active Learning with Statistical Models.
Journal of Artificial Intelligence Research, 4, 129–145.
- openadmet.models.active_learning.acquisition.probability_improvement(mean, std, best_y=0, xi=0.01, **kwargs)[source]
Probability Improvement (PI) acquisition function. Balances exploration and exploitation.
\[PI(x) = \Phi(\frac{\mu(x) - f^* - \xi}{\sigma(x)})\]- Where:
\( mu(x) \): Predictive mean at \( x \)
\( sigma(x) \): Predictive standard deviation at \( x \)
\( f^* \): Best observed value so far
\( xi \): Small positive number to encourage exploration
\( Phi(Z) \): CDF of standard normal distribution
- Parameters:
mean (np.array) – Predicted mean values.
std (np.array) – Predicted standard deviation values.
best_y (float) – Best observed value so far.
xi (float) – Exploration-exploitation tradeoff parameter.
kwargs (keyword arguments) – Additional keyword arguments.
- Returns:
Probability improvement values for each instance in X.
- Return type:
np.array
References
[1] Kushner, H. J. (1964). A new method of locating the maximum point of an arbitrary multipeak curve in the
presence of noise. Journal of Basic Engineering, 86(1), 97–106.
- openadmet.models.active_learning.acquisition.upper_confidence_bound(mean, std, beta=2.0, **kwargs)[source]
Upper Confidence Bound (UCB) acquisition function. Ensures exploration while still considering high predictions.
\[UCB(x) = \mu(x) + \beta \cdot \sigma(x)\]- Where:
\( mu(x) \): Predictive mean at \( x \)
\( sigma(x) \): Predictive standard deviation at \( x \)
\( beta \): Trade-off parameter (higher \( beta \) favors exploration)
- Parameters:
mean (np.array) – Predicted mean values.
std (np.array) – Predicted standard deviation values, unused.
beta (float) – Tradeoff parameter (higher = more exploration).
kwargs (keyword arguments) – Additional keyword arguments.
- Returns:
Upper confidence bound values for each instance in X.
- Return type:
np.array
References
[1] Srinivas, N., Krause, A., Kakade, S. M., & Seeger, M. (2010). Gaussian Process Optimization in the Bandit
Setting: No Regret and Experimental Design. ICML.