贝叶斯优化:最大化 MaxPro 准则各位亲爱的社区和JMP专家们,大家好!
我对贝叶斯优化批量自定义设置中的一个选项的名称感到困惑。其中一个选项叫做最大化 MaxPro 标准在贝叶斯优化平台中。本节的帮助文档提到:“此选项是对因子空间进行无模型探索,避免在训练数据和当前批次中重复任何因子设置。当一个或多个模型拟合不佳时,无论批次大小如何,都可以使用此选项。 ”
关于快速灵活填充设计细节帮助部分中对 MaxPro 准则的定义,“ MaxPro 准则旨在最大化潜在设计点之间距离的乘积,并考虑所有因素。这有助于在因素投影上提供良好的空间填充特性。” 此外,还提到 MaxPro 准则“力求在聚类中找到使以下准则最小化的点”(在查看公式之前):

由于公式分母是距离平方的乘积,最小化该准则实际上会最大化潜在设计点之间的距离。因此,最大化 MaxPro 准则实际上可能导致点之间的距离更小,从而增加在观察实验空间较小子空间时,运行结果可能出现聚集或“堆叠”的风险。观察贝叶斯优化分析器,似乎该采集函数背后的公式并没有像原始 MaxPro 准则那样在分母中使用(平方)距离,而是在分子中使用了距离。因为我们可以看到凹形期望曲线与涉及原始设计点之间距离的 -X² 型公式相匹配。MaxPro 采集函数在新点与原始设计点之间的距离最大时达到最大值:

能否请各位解释一下空间填充设计中的“最小化 MaxPro 准则”和贝叶斯优化中的“最大化 MaxPro 准则”之间的区别?贝叶斯优化平台中的 MaxPro 准则是否与空间填充平台中的 MaxPro 准则使用相同的公式?MaxPro 空间填充准则获取函数中显示的公式是什么?
提前致谢 !
高级统计建模实验设计回复:贝叶斯优化:最大化 MaxPro 准则能否请JMP官方人员或高级用户解答一下这个具体问题/疑惑?
我真心希望 JMP BayesOpt 的文档能够得到扩充,因为它缺少一些基本信息,例如关于核函数/连续相关性类型的公式和图表。目前已经有关于核函数选择中涉及的函数类型的优秀文档:
https://fr.mathworks.com/help/stats/kernel-covariance-function-options.html
https://www.comsol.fr/support/learning-center/course/surrogate-modeling-theory-271/more-on-covariance-functions-96531
https://indico.cern.ch/event/1407896/contributions/6068668/attachments/2947366/5179857/Lecture_2_vkain_BO.pdf
...
回复:贝叶斯优化:最大化 MaxPro 准则嗨@Victor_G ,
我完全同意您对新版 BayesOp 平台的评估和疑问。自从今年年初第一次听说它以来,我就一直想和同事们一起试用,但我也在权衡可能的收益与资源/时间投入之间的关系,不想在没有先了解 JMP 如何实现 BayesOp 的基本原理之前,就让同事们陷入无尽的摸索——这部分比较有挑战性。
这里有一些不错的网络教程,讲解了开发早期阶段以及 JMP 19 Pro 的最新新增功能:
https://community.jmp.com/t5/Phil-Kay-s-Blog/Active-Learning-in-JMP-Chris-Gotwalt-ENBIS-Workshop/ba-p/835262
https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-Bayesian-Optimization/ev-p/894910
他们很擅长对事物的工作原理进行非常高层次的描述(这对管理层来说很好,尤其是第二个视频,大约到 20 分钟左右),但我仍然找不到更详细的解释,或者如何针对手头的具体任务调整优化和采集功能的算法。
在教程中,他们承认存在陷入局部最优解的风险,但也声称他们的方法能够摆脱这种困境,因为它平衡了探索和优化的双重需求。他们的解释比较笼统,我理解他们无法完全公开底层原理,但如果能提供更多细节就更好了。特别是对于我们这些身处行业的人来说,我们不仅看到了这种方法的价值,也希望能够更深入地了解其运作机制,而不是仅仅停留在“黑箱”状态。这样,即使事情没有按预期发展(这种情况很常见),我们也能及时调整,确保已完成的工作仍然能够提供有价值的信息。
以下是我在尝试了解 JMP 最新平台后的一些想法。
感谢您提供的其他链接和资源!
DS
回复:贝叶斯优化:最大化 MaxPro 准则您好,感谢您对 JMP Pro 中贝叶斯优化的关注。我理解您对“最大化 MaxPro”这个表述的困惑,JMP 实际上最大化的是 MaxPro 准则的倒数。这样做是为了确保所有运行采集选项都以最大化的形式呈现,而不是部分选项是最小化,部分选项是最大化。事后看来,更好的表述应该是“最大化空间填充准则”,并在文档中详细说明我们最大化的是 MaxPro 准则的倒数。
回复:贝叶斯优化:最大化 MaxPro 准则谢谢@chris_gotwalt1 !
当我查看贝叶斯优化分析器中 MaxPro 准则的采集函数形式和空间填充设计部分的方程时,我就知道有些地方不一样(甚至可能是相反的)。感谢您的澄清。
我理解最大化任何采集函数的简化方法,但是这个准则与空间填充设计使用相同的名称让我感到困惑。
我希望相关文档能够得到修订和完善,以避免任何混淆,并为用户提供更多关于 BayesOpt 平台功能的信息。
最好的,
回复:贝叶斯优化:最大化 MaxPro 准则嗨@SDF1 ,
感谢您的解答和提供的补充链接。
虽然这些链接对于实际操作 BayesOpt 可能很有用,但它们并没有深入探讨一些技术选择,例如核函数、采集函数形式(和方程)等。
无法保证一定能达到全局最优解。我已经在探索研讨会上展示了一个关于 BO 的用例:仅使用“自动”模式(盲目地按照平台建议添加后续运行)得到的结果是次优的,不如在开始时强制探索,甚至不如使用空间填充方法创建初始运行结果来得好。


所以我对你提到的说法有点怀疑:如果在 BO 循环中达到了目标(无论是局部最优还是全局最优),那么平台会建议复制该点,然后就结束了。
在本次 JMP Discovery 研讨会上,全局最优与局部最优是常见问题,另一个常见问题是“如何使用/信任模型的预测结果”。我指出,基于贝叶斯优化循环中使用的高斯过程来计算特征重要性/敏感性指标可能会产生很大的误导: https://www.linkedin.com/posts/victorguiller_bayesianoptimization-designofexperiments-activity-7475080705866174465-e3uV

这种可解释性方法只能解释算法遵循的路径,而不一定能解释因素的“真正”重要性/敏感性。
非常感谢大家的讨论和提供的链接!
最好的,
回复:贝叶斯优化:最大化 MaxPro 准则嗨@Victor_G ,
是的,我完全同意您对算法的担忧,以及迭代是否能准确探测设计空间,从而快速找到全局最大值(甚至是聚集最大值)。需要澄清的是,我并没有对算法的能力做出任何断言,只是复述了在线研讨会中的一些观点。正如我在最初的回复中提到的,这些研讨会作为入门资料还不错,但并没有深入探讨方法论、算法以及如何调整它们——显然更适合JMP和DOE方法论的“非专业”用户。
在某种程度上,我同意并理解BO平台演示中传达/展示的内容——在行业中,很多时候,深入理解每个因素与其他因素的相互作用并建立一个完美的模型并非至关重要。只要知道你已经完成了85%到90%的目标,并且拥有一个能够稳定生成所需响应的流程就足够了。剩余的10%到15%可以通过在接近最优状态时进行微调来优化。但是,在对运营领域知之甚少的情况下,能够快速接近最优状态是非常理想的。
所有这些例子都没有展示从接近最优解的位置开始会发生什么。如果你已经完成了一次 BO 优化并找到了一个“最大值”,那么探索算法和利用算法会如何运作?如果你使用接近该最大值的几个点重新启动优化过程,又会发生什么?它会卡住吗?还是会继续搜索设计空间?我可以想到几种情况,其中可能至少存在两个全局最大值,可以通过两种不同的设置达到——其中一个可能从生产角度来看更实用。但是,如果 BO 算法总是卡在某个局部最大值上而没有进行充分的探索,那么你可能会错过重要的信息。
感谢您分享在“自动”和监督模式下运行 BO 的对比结果,以及不同方法在实现预期目标方面的效果。与其他实验方法一样,我认为它更像是一种迭代方法,是工具箱中的又一个工具。网络研讨会“几乎”让人觉得它可能会成为 DOE 的“新”替代品,尽管演讲者表示并非如此,但其中仍然隐含着一种暗示,认为它可能是下一个重大突破。任何事物都一样——谨慎使用。
我最大的体会是,对于所有计算机辅助建模(无论称之为机器学习、人工智能还是生成人工智能),过程监督至关重要。无监督的计算机辅助建模或生成很容易出现“幻觉”。我曾给几个不同的人工智能平台设定指令,让他们生成人物轮廓,这些人物正在执行各种任务——非常简单,没有细节,仅仅是一个轮廓。结果,不同的人工智能平台很容易在人物轮廓上“幻觉”出额外的肢体——三条腿或四条胳膊。即使我指出人工智能的生成过程中存在错误,下一次迭代仍然会出现“幻觉”。这个过程仍然需要相当严格的人工监督和监管。目前看来,BO平台也需要一些细致的监督。
保持一些健康的怀疑态度。
DS
回复:贝叶斯优化:最大化 MaxPro 准则嗨,DS,
很抱歉造成了误会,我理解这些说法是来自 JMP 团队,而不是您(如果我的回答造成了任何困惑,我深表歉意)。
您说得对,初始起点(分布和位置)与启动 BO 循环后所做的选择同样重要。初始点与最优解的接近程度决定了算法可能会“倾向于”该区域,尤其是在它符合您的目标和目的的情况下。为了强制算法进行探索,可以添加具有空间填充(MaxPro)准则的运行,因为它会生成与现有点距离最大的点(或者添加具有强调不确定性的采集函数的运行,例如多模型标准差或置信上限) 。用户在使用 BO 时的决策会对项目结果产生非常大的影响。
没错,BO 是工具箱中另一种“智能实验”方法。我也认为,在实践中,每次迭代进行多次运行(而不仅仅是每次迭代一次运行)可能更有效,并且不断改变运行类型,添加不同的采集函数,以确保运行批次的多样性,避免过早停止探索。例如,我们可以考虑每次迭代运行 5 次,其中一到两次用于开发,两次(或更多)用于探索,其余运行则以“平衡”模式进行。我认为,结合采集函数的 BO 可以用于创建“微型”DoE 实验类型,其中采集函数类似于设计最优性,并且“设计”增强在运行规模方面具有高度灵活性。但这会牺牲一些统计“机制”和保障措施,例如分块或其他降噪技术,因此这两种方法不能完全互换。我同意“谨慎使用”,首先确定实验设置和约束条件,然后再选择实验方法。
是的,像机器学习这样的计算机建模工具非常擅长发现模式,并且可以拓宽建模选项,但结果必须谨慎对待,因为某些算法可能容易过拟合(或者对于基因人工智能而言,可能出现幻觉)。因此,在评估和评价模型结果时,务必运用领域专业知识、批判性思维和统计学思维。
非常感谢大家的讨论,我非常期待看到 BayesOpt 平台(以及文档!)在未来的版本中会如何发展。
最好的,
回复:贝叶斯优化:最大化 MaxPro 准则感谢大家的精彩讨论。简单来说,我认为这归根结底是两种截然不同的实验方法。
一种方法是算法驱动的。其目标很简单,就是找到能够产生理想结果的设置。只要算法能够可靠地收敛到令人满意的解,其背后的机制是否被理解就无关紧要了。
第二种方法将实验视为一个学习过程。其目标不仅在于找到合适的实验设置,更在于理解其有效的原因。这种机制性的理解使我们能够预测新情况下的性能,识别条件的变化,将知识应用于未来的设计,并开发出更稳健的产品和流程。
这两种方法本身并无对错之分——它们只是优化不同的目标。如果唯一目标是尽快优化单个系统,那么贝叶斯优化就极具吸引力。如果目标是构建超越当前问题的科学或工程知识,那么实验设计就必须旨在揭示机制,而不仅仅是寻找最优解。
我担心的是,我们有时评估这些方法时仅仅问自己: “我们是否找到了更好的解决方案?”我认为同样重要的问题是: “我们从中学到的哪些经验在下一个项目中仍然有用?”这两者并不总是同一回事。
数据可以识别出最优解所在。理解其机制可以解释最优解存在的原因。只有后者才能让我们预测当世界不可避免地发生变化时将会发生什么。