You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GPs can make use of inducing points. Basically, instead of fitting the posterior to every training point, we can instead fit to to a smaller set of inducing points to make fitting more computationally efficient.
AEPsych can make use of Botorch's GreedyVarianceReduction by setting the inducing point method to 'pivoted_chol', but we should be able to pass in allocator classes directly so that we can make use of GreedyImprovementReduction or any other methods that get implemented. The Sobol and kmeans++ heuristics should be implemented as InducingPointAllocator classes, and the select_inducing_points utility function should be deprecated.
The user should also be able to use the data itself as the inducing points.
The text was updated successfully, but these errors were encountered:
crasanders
changed the title
Enable GreedyVarianceReduction algorithm in GPClassificationModel
Refactor GPClassificationModel to use Botorch's InducingPointAllocator's
Oct 29, 2024
GPs can make use of inducing points. Basically, instead of fitting the posterior to every training point, we can instead fit to to a smaller set of inducing points to make fitting more computationally efficient.
AEPsych implements some heuristics for selecting these inducing points in a utility function: https://github.com/facebookresearch/aepsych/blob/main/aepsych/models/utils.py#L54
Botorch implements some more principled algorithms as InducingPointAllocator classes: https://github.com/pytorch/botorch/blob/main/botorch/models/utils/inducing_point_allocators.py#L252
https://github.com/pytorch/botorch/blob/16853b46da337c8f9a4f51386d1c5eb690f337ad/botorch/models/approximate_gp.py#L168
AEPsych can make use of Botorch's GreedyVarianceReduction by setting the inducing point method to 'pivoted_chol', but we should be able to pass in allocator classes directly so that we can make use of GreedyImprovementReduction or any other methods that get implemented. The Sobol and kmeans++ heuristics should be implemented as InducingPointAllocator classes, and the
select_inducing_points
utility function should be deprecated.The user should also be able to use the data itself as the inducing points.
The text was updated successfully, but these errors were encountered: