def _ei(x, gp, y_max, xi):
"""
Expected Improvement, (Mockus, 1978)
"""
mean, var = gp.predict(x, eval_MSE=True)
var = np.maximum(var, 1e-9 + 0 * var) # ????????
z = (mean - y_max - xi) / np.sqrt(var)
return (mean - y_max - xi) * norm.cdf(z) + np.sqrt(var) * norm.pdf(z)
评论列表
文章目录