Expected posterior entropy measures the uncertainty expected to remain after a prospective observation. Information-seeking policies choose observations that reduce this quantity for the outcome of interest. section 6.2.2
The intuition is simple: consider each possible observation, calculate the resulting posterior uncertainty, and average those entropies using the probabilities of the observations. In Bayesian optimization, modeling the objective’s optimal value makes this calculation more tractable than modeling the location of the optimum directly. section 6.2.2
Choosing a phone-drop floor
Suppose X is the highest floor from which a phone does not break. Dropping it from the fifth floor produces one of two posterior distributions: if it survives, X is at least 5; if it breaks, X is at most 4. Compute both posterior entropies, weight them by their probabilities, and compare this expected entropy with the values for other floors. The best floor gives the largest expected entropy reduction, which need not match binary search when the goal is information rather than merely locating a threshold. section 6.3.1
num_candidates = 1000 #1
sobol = torch.quasirandom.SobolEngine(1, scramble=True) #1
candidate_x = sobol.draw(num_candidates) #1
candidate_x = 10 * candidate_x - 5 #2
policy = botorch.acquisition.max_value_entropy_search
.qMaxValueEntropy( #3
model, candidate_x #3
) #3
with torch.no_grad(): #4
acquisition_score = policy(xs.unsqueeze(1)) #4
A BoTorch implementation samples candidate points, constructs a maximum-value entropy policy, and evaluates acquisition scores without exposing the underlying entropy calculations. section 6.2.2
