章节 01
导读 / 主楼:贝叶斯黑盒优化:帝国理工机器学习硕士毕业项目的实践探索
BBO-Capstone 是帝国理工学院机器学习与人工智能硕士项目的毕业设计项目,专注于贝叶斯黑盒优化技术的实际应用。该项目通过高斯过程代理模型和采集函数策略,在有限的实验预算下高效优化未知数学函数。
正文
BBO-Capstone 是帝国理工学院机器学习与人工智能硕士项目的毕业设计项目,专注于贝叶斯黑盒优化技术的实际应用。该项目通过高斯过程代理模型和采集函数策略,在有限的实验预算下高效优化未知数学函数。
章节 01
BBO-Capstone 是帝国理工学院机器学习与人工智能硕士项目的毕业设计项目,专注于贝叶斯黑盒优化技术的实际应用。该项目通过高斯过程代理模型和采集函数策略,在有限的实验预算下高效优化未知数学函数。
章节 02
在科学研究、工程设计和商业决策中,我们经常面临一类特殊的优化问题:黑盒优化(Black-Box Optimization, BBO)。这类问题的特点是目标函数的内部机制未知或过于复杂,我们只能通过输入输出观测来评估其性能,而无法直接获取梯度信息或函数解析形式。
从新药分子设计中的化合物筛选,到工业制造中的工艺参数调优,再到机器学习模型的超参数优化,黑盒优化问题无处不在。传统的网格搜索或随机搜索方法往往需要大量昂贵的实验评估,在实际应用中成本高昂且效率低下。贝叶斯优化(Bayesian Optimization) 作为一种数据高效的优化方法,为解决这类问题提供了强有力的工具。
本文介绍的 BBO-Capstone 项目是帝国理工学院机器学习与人工智能硕士项目的毕业设计,系统展示了贝叶斯黑盒优化在复杂函数优化中的实际应用。
章节 03
BBO-Capstone 由帝国理工学院(Imperial College London)机器学习与人工智能硕士项目的学生 Gian Franco Cattaneo 完成,是该项目第25模块(Module 25)的毕业设计作品。帝国理工学院作为全球顶尖的理工科大学,其机器学习项目以理论与实践并重著称,该项目正是这一教育理念的体现。
章节 04
项目的核心挑战是:在严格的查询预算限制下,对八个维度从2维到8维不等的未知数学函数进行最大化优化。每个函数的具体形式对优化器来说都是"黑盒"——我们只能观察到输入参数组合对应的输出分数,而无法获知函数的内部结构。
这种设置模拟了真实世界中的许多优化场景,例如:
章节 05
项目的目标函数包括八个合成黑盒函数 f₁(x) 到 f₈(x),其特性如下:
| 函数 | 维度 | 搜索空间 |
|---|---|---|
| f₁ | 2维 | [0, 1)² |
| f₂ | 2维 | [0, 1)² |
| f₃ | 3维 | [0, 1)³ |
| f₄ | 4维 | [0, 1)⁴ |
| f₅ | 4维 | [0, 1)⁴ |
| f₆ | 5维 | [0, 1)⁵ |
| f₇ | 6维 | [0, 1)⁶ |
| f₈ | 8维 | [0, 1)⁸ |
所有函数都设定为最大化目标(高分数更好),如果是原始的最小化问题,则通过取负值转换为最大化问题。
章节 06
项目的核心技术是**高斯过程(Gaussian Process, GP)**作为代理模型(Surrogate Model)。高斯过程是一种强大的非参数贝叶斯方法,能够从有限的观测中学习目标函数的近似,并提供预测的不确定性估计。
核函数选择
项目采用 Matérn-5/2 核函数配合 ARD(Automatic Relevance Determination)技术:
核函数 = ConstantKernel(1.0) × Matern(ν=2.5, ARD) + WhiteKernel
Matérn-5/2 核函数的优势在于:
数据预处理
在拟合高斯过程之前,项目对输入特征 X 应用 StandardScaler 标准化,这有助于:
章节 07
采集函数(Acquisition Function)决定了在何处进行下一次评估,是贝叶斯优化的关键组件。项目主要使用以下策略:
期望改进(Expected Improvement, EI)
作为主要采集函数,EI 平衡了探索(Exploration)和利用(Exploitation):
EI(x) = (μ(x) - y* - ξ)·Φ(Z) + σ(x)·φ(Z)
其中 Z = (μ(x) - y* - ξ) / σ(x)
上置信界(Upper Confidence Bound, UCB)
对于 f₆ 函数(所有输出均为负值的情况),项目采用 UCB 采集函数优先进行探索:
UCB(x) = μ(x) + κ·σ(x)
这种策略在目标值普遍较低时更有效,能够更积极地探索未知区域。
章节 08
多起点 L-BFGS-B 优化
为最大化采集函数,项目使用 L-BFGS-B 算法配合 35 个随机起点:
神经网络梯度分析
项目还探索了使用神经网络作为替代代理模型:
MLPRegressor: 2×32 隐藏层, ReLU激活, L-BFGS-B求解器, α=1e-3
通过有限差分梯度分析,识别主导输入维度,为采集函数的边界设置提供信息。