具有最少评估次数的近似函数

计算科学 插值
2021-12-15 09:17:51

我试图逼近一个未知的非线性函数f:AR(在我的情况下:A=B×B在哪里B是一个无限但紧凑的子集R)。也就是说,评价f很昂贵,我正在寻找一个易于评估的功能g这样f接近gA. 给定一个错误界限,我该如何计算g用尽可能少的评价f尽可能?

我对错误的精确定义很灵活。例如,预期平均误差和预期最大误差都会起作用。同样,我并不真正关心用于g(样条、多项式等)只要它可以被有效地评估。评价次数f不一定要证明是最小的,在实践中运行良好的方法就足够了。

对我来说,听起来实验设计可能会提供合适的工具,但是,我不确定如何将我的设置与该统计上下文相匹配。贝叶斯优化似乎也有一个非常相似的设置,但我不确定如何调整它来优化f而不是它的优化。

1个回答

您可能可以使用代理模型g你的功能f使用克里金法,例如通过代理模型进行工程设计,以及来自 sklearn 的 GaussianProcess for python。

真的很简短;使用它你可以建立一个预测g(x)及其方差s2(x)对所有人x从有限数量的样本点X如 :

g(x)=pxTβ~+rxTR1fxPβ~)

s2(x)=σ~2[1+rxTR1rx]

在哪里px是的响应x到一个选定的多项式回归和P学习点对这种回归的反应。rx是相关向量xR学习点的相关矩阵X. 最后,β~σ2~是已知系数。

然后,为了节省调用昂贵函数的次数f

1- 建立第一个代理g具有有限且合理数量的学习点 (DOE)

2- 用一个新的学习点来丰富你的代理人,这个学习点是根据一个标准选择的s. 在代理项最差、误差最大的地方添加一个学习点。

3- 重复 2 直到获得满意的结果g, 这很容易评估。

所以,评估的数量是样本点的数量X加上浓缩的次数。