代理优化
字数 1420 2025-11-02 13:21:06
代理优化
代理优化是一种用于解决计算昂贵黑箱函数优化问题的方法。当目标函数或约束条件的每次评估都需要大量计算资源(如复杂的数值模拟或物理实验)时,传统优化算法可能因需要过多函数调用而变得不实用。代理优化的核心思想是构建一个计算成本较低的代理模型(也称为元模型或响应面模型)来近似原始昂贵函数,并通过智能采样策略逐步改进模型并寻找最优解。
1. 基本问题设置
考虑最小化问题:min f(x),其中 x ∈ D ⊆ Rⁿ,且 f(x) 是计算昂贵的黑箱函数(即我们只能获得输入x对应的输出f(x),但不知道其解析形式或导数信息)。代理优化通过以下步骤迭代进行:
- 初始实验设计:在定义域D内选择少量初始点,计算其真实函数值。
- 代理模型构建:使用初始数据拟合一个易于计算的近似函数(如多项式、径向基函数、高斯过程等)。
- 寻找候选点:基于代理模型,通过某种采集函数(acquisition function)确定下一个有希望的评价点。
- 模型更新:在新点计算真实函数值,将新数据加入训练集,更新代理模型。
- 终止判断:重复直到满足停止条件(如迭代次数、精度或预算耗尽)。
2. 代理模型类型
代理模型的选择直接影响算法性能。常见类型包括:
- 多项式响应面:使用低阶多项式(如线性或二次)进行全局拟合,简单但可能无法捕捉复杂非线性。
- 径向基函数(RBF)插值:通过基函数的线性组合进行插值,能精确通过所有已知点,适合光滑函数。
- 高斯过程(GP)回归:提供函数值的概率预测(均值和方差),能量化预测不确定性,是代理优化中最常用的模型之一。其协方差函数(核函数)控制函数的平滑度假设。
- Kriging模型:起源于地质统计学,是高斯过程的一种特例,提供最佳线性无偏预测。
- 支持向量回归(SVR):基于结构风险最小化,对异常值鲁棒,但不确定性量化较弱。
3. 采集函数与自适应采样
采集函数平衡探索(在不确定性高的区域采样)和利用(在预测最优的区域采样)。设代理模型在点x的预测均值为μ(x),方差为σ²(x),常见采集函数包括:
- 概率提升(PI):P(f(x) ≤ f_min - ε),倾向于选择可能超过当前最优的点。
- 期望提升(EI):E[max(0, f_min - f(x))],综合考虑提升的概率和幅度,最常用。
- 置信上界(UCB):μ(x) - κσ(x)(最小化问题),参数κ控制探索-利用权衡。
通过优化采集函数(通常使用低成本优化器)选择下一个评估点。
4. 算法流程与变种
标准流程(如高效全局优化EGO):
- 初始设计:使用拉丁超立方采样或全因子设计选择m个点,计算真实函数值。
- 拟合GP模型:估计超参数(如长度尺度、方差)。
- 优化采集函数:找到使EI等最大的新点x_new。
- 计算f(x_new),更新数据集和模型。
- 重复步骤3-4直到收敛。
变种包括针对约束问题的约束EI、多目标代理优化、并行采样(同时评估多个点)等。
5. 应用与注意事项
代理优化广泛应用于工程设计(如空气动力学外形优化)、机器学习超参数调优、计算化学等领域。关键注意事项包括:
- 初始点数量应随维度增加而增长,以避免模型初始偏差。
- 高维问题中,代理模型可能因数据稀疏而失效,需结合降维或特定核函数。
- 离散或混合变量问题需调整模型和采集函数(如基于树的GP)。
代理优化通过减少昂贵函数调用次数,显著提高了复杂系统优化的可行性。