随机计算机模型的优化


11

对于Google来说,这对我来说是一个艰巨的主题,因为在搜索中使用“优化和随机”一词几乎会自动默认为搜索随机优化。但是,我真正想知道的是,当计算机模型输出是随机的(即不确定的)时,存在哪些方法可以优化计算机模型?

例如,如果您考虑一个计算机模型,其中有一些未知函数代表计算机模型的输出,那么存在许多用于解决问题的统计方法,例如f(x)

minf(x)xX

f(x)是确定性的时。但是,当f(x)随机时会发生什么?有没有解决问题的方法,或者充其量只能解决

minE[f(x)]xX

其中E()是通常的期望运算符。


1
这是一个非常有趣的问题。优化是唯一真正可行的方法。与该问题相关的统计应用是MCEM算法,其中只有在其顶部具有MCMC误差的情况下,才能观察到完全似然函数。同样,MCMC粒子过滤器算法具有相同的问题。我对这两种文献都没有足够的了解,无法知道答案的最新技术水平。E[f(x)]
Cliff AB

2
这取决于您的目标。只是许多可能的选择之一。在某些应用程序中,您可能需要一种“可靠”的解决方案,而不仅仅是“平均”的解决方案。在这种情况下,您可以将wrt优化为一些分位数。贝叶斯优化处理昂贵的(有时是嘈杂的)函数评估。例如检查这个问题f x E[f(x)]f(x)
lacerbi '16

1
@lacerbi这些例子中有什么吵吗?我认为它们只是确定性的。
RustyStatistician

@RustyStatistician:没错,大多数示例都是确定性的,或者一般来讲是关于贝叶斯优化的。请参阅以下参考资料,更多地关注“嘈杂”部分。
lacerbi '16

您是否访问了计算机程序,以便可以自己为选定的输入运行它?然后可以使用实验设计方法!站内搜索。x
kjetil b halvorsen

Answers:


10

(将我的评论扩展为适当的答案。

正如我提到的,这取决于您的目标。

期望值仅是优化目标的许多可能选择之一。例如,假设是正态分布的,则可以执行以下操作:f x E[f(x)]f(x)

κ∈[Rκ>0κκ

xopt=argminx{E[f(x)]+κVar[f(x)]}
为中的一些操纵风险敏感性。如果您正在寻找一种可靠的解决方案,该解决方案可能是最好的,并且可以阻止较大的正波动。反之亦然,负会倾向于“乐观”优化,该优化会寻找较大的负波动(负值是好的,因为我们正将其最小化)。您可以根据正态分布的分位数选择(请参见下面的参考2)。κRκ>0κκ

通常,贝叶斯优化(BO,与高斯过程和kriging有关)处理昂贵的,有时嘈杂的函数评估。尽管文献的大部分焦点都集中在前一部分。您可以在此问题上找到有关贝叶斯优化的评论。

有人将BO应用于嘈杂的功能。作为该主题的简介,David Ginsbourger在全球优化的高斯过程研讨会(谢菲尔德,2015年9月17日)上作了题为“预期改进的变化”的精彩演讲。您可以在这里找到他的演讲,并且所有演讲都可以在此页面找到(我也建议所有其他演讲作为对BO的出色一般介绍。)

作为参考,我将从Ginsbourger和同事以及Gramacy和同事所做的工作开始:

  1. Picheny,V.和Ginsbourger,D.,2014年。“基于噪声的基于Kriging的优化方法:DiceOptim软件包中的统一实现”。计算统计与数据分析,71,第1035-1053页。(链接

  2. Picheny,V.,Ginsbourger,D.,Richet,Y.和Caplin,G.,2013年。“基于分位数的具有可调精度的嘈杂计算机实验优化”。Technometrics,55(1),第2-13页。(链接

  3. Grabacy,RB和Lee,HK,2012。“贝叶斯树状高斯过程模型及其在计算机建模中的应用”。美国统计协会杂志。(链接

  4. Grabacy,RB和Apley,DW,2015年。“大型计算机实验的局部高斯过程近似”。计算与图形统计杂志,24(2),pp.561-578。(链接

Ginsburger和Gramacy都有R包,分别实现DiceOptimtgp来实现其BO方法。


1
您的答案在哪里,或者您表示?κkκ
RustyStatistician

1
SNOBFIT是我还没有使用过*但在有趣的名称部门中获胜的另一种算法。(*作者优化社区中的
佼佼者

4

当前的答案集中在随机优化目标的正确(数学)定义上-我想提供一些更实用的观点。

当拟合随机模型时,例如使用非正式或综合可能性,该问题经常发生。参考文献(1)为您提供了一系列选项,可用于定义随机模型与数据之间的距离。

以这种方式定义了目标之后,剩下的问题就是找到某个嘈杂目标平均值的最佳方法。有两条路可走,a)优化,b)MCMC采样。您是在专门询问优化问题,但是我想引入MCMC,因为在执行此任务时,它们通常表现得更好。

a)如果您坚持进行优化,则需要确保您不会陷入困境,并且优化器可以处理随机目标。Matteo Fasiolo博士论文的第4章给出了一些提示,请参阅(2)。

b)正如我们在(1)中所指出的,MCMC通常对随机目标更为稳健-在噪声分布的温和条件下,MCMC会将噪声平均掉,并且采样目标与无噪声的目标将无法区分目标与噪声目标的平均值。但是,MCMC在遇到特别好的评估时也会卡住。您现在必须做的就是得到以下“显而易见”的想法:只需在每次MCMC迭代中计算当前值和建议值。在此处查找的关键字是“伪边际”,另请参见此处此处

1)Hartig,F .; 卡拉布雷斯(JM);Reineking,B .;Wiegand,T.&Huth,A.(2011)随机模拟模型的统计推论-理论与应用。Ecol。Lett。,14,816-827。

2)Fasiolo,M.(2016)复杂人口动态统计方法。巴斯大学


4

假设我们处于离散的概率空间中,因此。直观地,您需要一些函数以便可以优化。您只能优化一个目标! ù - [R Ñ[R ù ˚F X f(x)RnU:RnRU(f(x))

优化单个目标函数可能听起来很困难,但事实并非如此!相反,一个目标可以代表您对什么是更好或更坏的解决方案可能拥有难以置信的多样化偏好。

跳过之前,一个简单的开始可能是选择一个随机变量然后求解:λ

ë[˚FX]

minimize (over x)E[λf(x)]subject toxX
这是的简单线性重新加权。无论如何,这里有一个争论,为什么通常可以将多个目标折叠为一个目标。E[f(x)]

基本设置:

  • 你有一个选择变量和可行集。XxX
  • 您选择的会导致随机结果xy~=f(x)
  • 您对随机结果有理性的偏好 。(基本上,您可以说您是否更喜欢一个随机结果而不是另一个。)y~

您的问题是选择:xX

xXf(x)f(x)
在英语中,您希望选择以便没有可行的选择导致比更好的结果。xxf(x)

等价于最大化效用(在某些技术条件下)

为了简化技术,我会说我们处于结果的离散概率空间中,因此我可以的向量来表示随机结果。ny~yRn

在某些技术条件下(从实际意义上讲不是限制性的),上述问题等同于最大化效用函数。(效用函数将更优先的结果分配给更高的数目。)U(y)

该逻辑适用于您选择导致多个结果变量的任何问题。

maximize (over x)U(f(x))subject toxX

为效用函数赋予更多结构:期望效用假设:U

如果我们处于概率环境中并且接受Neumann-Morgernstern公理,则总效用函数必须采用特殊形式:U

U(y)=E[u(yi)]=ipiu(yi)
凡是状态的概率和是凹的效用函数。的曲率衡量风险规避。只需将这种特殊形式的替换为:piiuuU

maximize (over x)ipiu(yi)subject toxXy=f(x)

观察到简单情况使期望值最大化(即无风险规避)。u(yi)=yi

另一种方法:权重λ

另一件事是:

maximize (over x)iλiyisubject toxXy=f(x)

直观地,您可以选择权重大于或小于状态出现的概率,这抓住了状态的重要性。p λipi

这种方法的更深层理由是,在某些技术条件下,存在lambda权重,使得上述问题和更早的问题(例如,最大化)具有相同的解决方案。ù ˚F X λU(f(x))


但是在此设置中,并非所有实用程序功能都能导致正确的答案?
RustyStatistician

实用程序功能是否有典型的选择?我的问题是随机计算机模拟器,实际上是黑盒模拟器,因此我不了解有关底层机制的信息,因此我甚至可以为其分配实用程序功能吗?
RustyStatistician

您需要考虑问题的逻辑,什么才是好的结果,然后找到一些目标函数,为更好的结果分配更多的数字。(或者等效地,您可以将其设置为最小化问题,并为更差的结果分配更大的数字,例如,最小化平方误差等概念。)
Matthew Gunn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.