代理优化
字数 2139 2025-11-05 08:31:36
代理优化
代理优化是一种基于模型的最优化方法,适用于目标函数或约束函数计算成本高昂、存在噪声或难以求导的复杂优化问题。其核心思想是:构建一个计算成本较低的代理模型(或称元模型、响应面模型)来近似真实函数,通过在该代理模型上进行优化来指导对真实函数的评估,从而以较少的真实函数评估次数找到高质量的解。
1. 基本思想与动机
在许多工程和科学领域(如飞机机翼设计、仿真模型参数标定),一次真实的目标函数评估可能需要运行耗时数小时甚至数天的物理实验或高保真计算机仿真。直接应用传统的迭代优化算法(如梯度下降法)可能因评估次数过多而不可行。代理优化通过建立一个“替身”——代理模型来解决此问题。这个代理模型基于一组有限的、已评估的真实数据点构建,能够快速预测新点的目标函数值。优化过程主要在代理模型上进行,并智能地选择新的评估点来更新模型,逐步逼近真实函数的最优解。
2. 代理模型(元模型)的类型
代理模型是代理优化的基石。常用的代理模型包括:
- 多项式响应面模型: 使用低阶多项式(如线性或二次)拟合数据。简单快速,但可能无法捕捉复杂非线性关系。
- 径向基函数模型: 使用一系列基于距离的基函数的线性组合来插值或近似数据点。对非线性函数拟合能力较强。
- 克里金模型: 一种高斯过程回归模型。它不仅预测函数值,还提供预测的不确定性(方差)。这种不确定性估计在指导搜索时极为重要。克里金模型是代理优化中最常用的模型之一。
- 支持向量回归: 基于统计学习理论,适用于高维问题,对异常值相对稳健。
- 人工神经网络: 具有强大的非线性拟合能力,尤其适用于大数据集,但训练成本可能较高。
选择哪种模型取决于问题的性质(如非线性程度、维度)、数据量以及是否需要不确定性估计。
3. 代理优化的一般流程
代理优化通常采用序贯策略,步骤如下:
- 实验设计: 在变量的可行域内,选择一组初始样本点(如使用拉丁超立方抽样、全因子设计等),并计算这些点的真实函数值。这组点构成了构建初始代理模型的训练数据集。
- 代理模型构建: 使用初始数据集,构建一个代理模型来近似真实函数。
- 代理模型优化与采样准则: 在当前的代理模型上,根据一个特定的采样准则(或称填充准则)寻找下一个需要评估的候选点。这个准则旨在平衡“利用”(在模型预测最优的区域搜索)和“探索”(在模型不确定性高的区域搜索)。最著名的准则是期望改进。
- 期望改进: EI准则量化了一个候选点相比当前已找到的最佳点能带来改进的“期望值”。它同时考虑该点预测值的好坏(利用)和预测的不确定性(探索)。优化EI函数(在代理模型上计算)来确定下一个评估点。
- 真实函数评估与模型更新: 在选出的候选点处计算真实函数值,并将这个新的数据点加入训练集。随后,用更新后的数据集重新拟合或更新代理模型。
- 收敛判断: 检查收敛条件是否满足(如最大评估次数耗尽、连续多次迭代改进小于阈值、代理模型精度足够等)。若未收敛,则返回步骤3。若收敛,则输出当前找到的最佳解。
4. 关键技术与概念
- 利用与探索的平衡: 这是代理优化的核心。过度“利用”可能陷入局部最优;过度“探索”则效率低下。EI等准则通过数学方式实现了这一平衡。
- 期望改进准则: 对于最小化问题,设当前最佳函数值为 \(f_{min}\),在点 \(x\) 处,代理模型给出的预测值为 \(\hat{y}(x)\),预测标准差为 \(s(x)\)。改进量 \(I(x) = \max(0, f_{min} - Y(x))\),其中 \(Y(x)\) 是服从 \(N(\hat{y}(x), s^2(x))\) 的正态分布随机变量。EI即为 \(I(x)\) 的期望值:\(EI(x) = \mathbb{E}[I(x)]\)。当 \(s(x) > 0\) 时,有解析表达式:\(EI(x) = (f_{min} - \hat{y}(x)) \Phi(z) + s(x) \phi(z)\),其中 \(z = (f_{min} - \hat{y}(x)) / s(x)\),\(\Phi\) 和 \(\phi\) 分别是标准正态分布的累积分布函数和概率密度函数。
- 约束处理: 对于带约束的问题,可以将约束函数也用代理模型来近似,并在采样准则中引入约束违反的惩罚或概率可行性。
5. 优点与应用场景
- 优点: 显著减少昂贵函数的评估次数;能处理噪声函数;无需梯度信息;适用于黑箱优化问题。
- 应用场景: 计算机辅助工程设计(如空气动力学、结构设计)、仿真模型校准、机器学习超参数调优、实验优化等。
6. 与相关方法的比较
- 与启发式算法(如遗传算法): 代理优化通常需要更少的函数评估,但依赖于构建高质量的代理模型,且更适合连续变量问题。启发式算法评估次数多,但对问题结构假设少,更适用于离散或混合变量问题。
- 与基于梯度的方法: 代理优化不要求函数可导,适用于黑箱问题。而基于梯度的方法在函数光滑且梯度易得时通常更高效。
代理优化通过智能地构建和利用廉价的计算模型,为解决昂贵的现实世界优化问题提供了一个强大而实用的框架。