Black-Box Optimisation

Black-Box OptimisationPyTorchScikit-LearnPython
Screenshot of Black-Box Optimisation project

About This Project

A capstone project that searches for the maxima of eight unknown black-box functions, queried one input at a time over several weeks. The approach fits an ensemble of surrogate models (Ridge, KNN, Random Forest, SVR, Gradient Boosting, Gaussian Processes, and PyTorch MLPs), validates each with leave-one-out cross-validation, and only trusts models that beat the baseline when choosing the next query. The strategy adapts per function: exploitation when a model has clearly earned trust, consensus across top performers when they disagree, and informed exploration when no model is reliable. The setting mirrors real-world problems in drug discovery and engineering design, where each evaluation is expensive.

Key Features

  • Surrogate ensemble across classical ML and PyTorch models
  • Validate-then-trust framework using LOOCV
  • Adaptive exploration vs exploitation per function

Technologies

Black-Box OptimisationPyTorchScikit-LearnPython