-
Notifications
You must be signed in to change notification settings - Fork 458
Efficient leave-one-out cross-validation for Gaussian processes #3098
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@SebastianAment has exported this pull request. If you are a Meta employee, you can view the originating Diff in D88273413. |
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Differential Revision: D88273413
5aa2693 to
ee39085
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3098 +/- ##
=======================================
Coverage 99.99% 99.99%
=======================================
Files 219 219
Lines 21013 21080 +67
=======================================
+ Hits 21012 21079 +67
Misses 1 1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Differential Revision: D88273413
f289b11 to
3b54e7b
Compare
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Differential Revision: D88273413
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Differential Revision: D88273413
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Differential Revision: D88273413
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Differential Revision: D88273413
3b54e7b to
9e6b37e
Compare
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Differential Revision: D88273413
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Reviewed By: Balandat Differential Revision: D88273413
9e6b37e to
9b23352
Compare
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Reviewed By: Balandat Differential Revision: D88273413
|
This pull request has been merged in 976a944. |
Summary:
BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately.
However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total.
This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals.
Differential Revision: D88273413