贝叶斯优化最常被提及的特点之一是,它可以通过少量实验得出最优解。
当单个实验耗时或成本高昂时,此功能就成为一项显著优势。
去年九月发布的 JMP Pro 19 版本新增了贝叶斯优化平台。事实上,许多人正在考虑采用或对其感兴趣,因为他们觉得“减少实验次数”的功能很有吸引力。

1. 除了“需要的实验次数更少”之外的其他主要特点
贝叶斯优化还有另一个重要特点:它可以捕捉复杂的非线性,而无需预先为响应和因素之间的关系指定特定的函数形式(例如具有二次多项式的响应面模型)。
因此,即使对实验设计 (DOE) 所需的交互作用模型和响应面模型等统计模型没有足够的了解,它也能够更容易地找到最佳条件。
因此,本文将比较贝叶斯优化和实验设计,利用已知理论公式(真实响应)的模拟数据来寻找最佳条件,并解释它们的特点。
2. 验证示例
这里,我们将以优化以下酶催化反应的产率为例进行说明。
目的:探索三种脂肪酶与反应条件(反应物浓度、催化剂用量)相结合,以最大限度地提高酯合成产率的最佳条件。
回复

因子

该因子具有约束条件“0.5 × 反应物浓度 + 5 × 催化剂用量 ≤ 110”。
这次,我们进行的是模拟,其中真正的最优值(理论公式)是已知的。
下图显示了理论公式的分布和最优值,其中酶类型 = “CALB”,反应物浓度 = 109.7,催化剂用量 = 6.98。
等高线轮廓显示了酶类型为“CALB”时的响应分布。深红色表示产量较高,在本例中,可以看出它具有复杂的非线性结构,有两个峰(多峰)。

3. 如何比较贝叶斯优化和实验设计。
对于同一个理论公式*,我们将采用两种不同的方法进行实验设计:贝叶斯优化和实验设计。
贝叶斯优化
空间填充计划生成三个满足约束条件的初始实验,并输入这些实验的响应。
使用[贝叶斯优化]平台,实验按顺序逐一添加。实验点是根据批量选择中显示的实验候选对象添加的(使用自动模式)。
当系统在自动模式下进入最优值搜索阶段,或者当响应值显著超过目标值(70% 或以上)时,实验将按顺序终止,最后一个实验条件被认为是最优条件。

实验设计
使用“自定义设计”,采用以下设置拟合响应面模型(二次多项式)。

两者之间的区别可以概括如下:
贝叶斯优化是一种根据先前的实验结果,按顺序确定“下一步要尝试什么”的方法,它不预先确定具体的函数,并使用灵活的模型(高斯过程模型)进行探索。
实验设计:预先确定因素组合,并假设响应面模型(二阶)来创建模型。
*实际上,理论公式中会加入一个轻微的误差(噪声)。
4. 实验结果的比较与讨论
得到以下结果。可以看出,即使实验次数较少,贝叶斯优化方法也能取得显著更优的结果。
| 手法 |
实验次数 |
找到最佳产量 |
| 贝叶斯优化 |
14次 |
超过 90%(远超规格要求) |
| 实验设计 |
18次 |
约15% |
利用贝叶斯优化,经过三次初步实验后,我们找到了在另外 11 次实验中得到 90% 以上结果的条件。

另一方面,我们事先进行了实验,构建了整个实验区域的响应面模型,并根据结果估计了最佳条件。

我们将使用“轮廓线”来比较使用每种方法获得的最佳值。
贝叶斯优化达到了高产率的红色区域(峰值),而实验设计估计最佳条件位于远离红色区域的地方。

造成这些结果的原因可能如下:
- 实验设计方法(响应面)依赖于基于二次多项式(单峰)的模型,因此无法捕捉像本例中这样的具有多个峰值(多峰特性)的复杂形状。
- 在贝叶斯优化中,不预先假设特定的函数形式,而是使用灵活的代理模型进行顺序探索。这种方法被认为即使在过程中存在多个峰值的情况下,也能探索高产区域。
5. 总结
贝叶斯优化有两个主要特点。本文重点关注第二个特点:它捕捉复杂非线性关系的能力。
1. 只需少量实验即可获得最优解。
- 通过学习过去的实验结果并智能地选择下一个实验点,可以减少不必要的实验并降低成本。
2. 能够捕捉复杂的非线性关系。
- 特定函数形式因为它不做某些假设,所以能够捕捉到复杂的非线性关系以及变量之间的相互作用,而不会忽略它们。
在实验初期,响应变量与各因素之间的关系往往尚未完全明了。在这种情况下,仅靠响应面分析可能不足以找到最佳条件,正如本例所示。
在这种情况下,可以考虑使用贝叶斯优化作为一种可行的选择。
*除了本示例之外,我们还准备了视频,让您可以系统地学习 JMP Pro 贝叶斯优化的功能和使用示例。
贝叶斯优化:基础与应用——以更少的实验次数高效搜索最优条件——按需版本(日语)
作者:Naohiro Masukawa(JMP 日本)
Naohiro Masukawa - JMP 用户社区