深度gp:一个R(右)-的程序包贝叶斯深高斯过程

安妮·索尔·布斯(annie_booth@ncsu.edu)

图书馆(深度gp)

概述

这个深度糖蛋白包提供了一个完整的贝叶斯深高斯过程(DGP)回归模型的实现马尔可夫链蒙特卡罗(MCMC)。这个包裹是用眼睛设计的计算机实验的代理建模。它支持多个战略顺序设计的采购标准和可选方案Vecchia近似法,用于使用较大数据量进行更快的计算。计算在中执行信用证++地下,有可选并行化开放式多媒体播放器.

这个小插曲是对包的主要内容的介绍特征。我的博士论文(绍尔2023)和在以下手稿:

虽然我将在这里展示简单的一维示例这些工程中提供的模拟示例跨越了七个维度,训练数据大小高达数万。现实世界计算机实验的应用包括三维兰利后滑助推器的仿真(LGBB、Pamadi等人,2004年),的七维测试粒子蒙特卡罗模拟器近地轨道卫星(Sun等人。2019年)以及RAE-2822的七维模拟音速翼型(Economon等人,2016年),训练数据大小从\(n)=300\)\(n=100000).

所有练习都由公共git存储库中的代码支持:https://bitbucket.org/gramacylab/depgp-ex网站/.进一步函数参数和默认设置的详细信息(包括之前的发行版)在函数文档中提供。

在第一部分中,我将讨论模型拟合(通过MCMC然后生成后验预测)。我将回顾一个典型的引入DGP功能之前的一层高斯过程。我还将讨论对原始DGP框架的扩展,包括Vecchia近似的应用(韦基亚1988)用于更快的计算。在第二部分中,我将介绍三个不同目标的顺序设计标准:优化响应,定位轮廓,并最小化后部方差。

首先,让我们定义一个一维函数,用于演示和可视化。以下代码定义了“Higdon函数“(希格顿,2002年),在上找到虚拟仿真实验库页面(苏亚诺维奇和宾厄姆,2013年).

希格顿<- 功能(x){
<- 哪一个(x)<= 0.6)
x(i)<- 2 * (π* 0.8 *x[i]* 4)+ 0.4 * 余弦(π* 0.8 *x[i]* 16)
x个[-i)<- 2 *x个[-i)- 1
  返回(x)
}

接下来,我们生成训练和测试数据。现在,我们将在无噪音设置(尽管我们不知道有无噪音)。

#培训数据
n个<- 24
x个<- 序列(0,1,长度=n)
<- 希格顿(x)

#测试数据
净现值<- 100
极限功率<- 序列(0,1,长度=净现值)
yp(英制)<- 希格顿(极限)

情节(xp、yp、,类型= “l”,科尔= 4,xlab公司= “X”,伊拉布= “Y”,主要= “Higdon函数”)
(x,y)


此函数的分段形式是“非国家性”。有两种不同的制度(一种是摇摆的,另一种是线性),在x=0.6。我们很快就会看到一个单层GP如何受到平稳性假设的影响限制它同时适应这两种不同的制度。DGP更适合处理此类复杂曲面。


模型拟合

单层浅层GP

传统的高斯过程(GP)是一种流行的非线性回归优选用于其闭合形式的后验预测矩的模型,与机器学习相关的应用程序(ML,拉斯穆森和威廉姆斯,2005年)和计算机实验替代模型(桑特纳、威廉姆斯、,和2018年诺茨;Robert B.Gramacy 2020).GP模型放置响应的多元正态先验分布,\[Y\sim\mathcal{N}\左(0,\Sigma(X)\右),\]具有\[\西格玛(X)^{ij}=\Sigma(X_i,X_j)=\tau^2\left(k\ left(\frac{||X_i-x_j||^2}{\theta}\right)+g\mathbb{我}_{i=j}\右),\]哪里\(k(\cdot)\)代表平稳核函数(深度gp提供了平方指数和Matérn核)。该软件包仅支持平均零先验值(除了两层DGP中的特殊情况外),但非零均值可以通过预先调整响应来解决适当地。在这种规范形式下,普通合伙人受到以下限制基于协方差核的平稳性\(k(\cdot)\)严格来说是欧几里得距离。

这种协方差取决于超参数\(τ^2),\(\θ\)、和\(克\)控制比例、长度比例和噪声。[注意如何\(\θ\)按平方距离操作在此参数化下。]期待我们的DGP实施,我们采用MCMC计划,利用Metropolis-Hastings对这些未知的超参数(除了\(\套^2 \)可以进行保证金化在逆伽马参考先验下进行分析,请参见Robert B.Gramacy(2020年),第5章)。

好的,让我们来看一些代码。MCMC采样θ对于单层GP,内置于fit_one层功能。以下代码收集10000Metropolis Hastings示例(默认情况下使用Matérn内核创建的S3对象普通合伙人类),然后显示跟踪对数似然图和相应的样本。

适合1<- fit_one层(x,y,国家军事委员会= 10000,动词= 错误的)
情节(适合1)


MCMC提案涉及随机化因此这些轨迹图在不同的渲染。在这种简单的情况下,它们很快就会老化。之前我们对这些样品做了任何其他处理,我们可能想减少老化并稀释剩余的样品。此功能内置于修剪函数(它将在我们的任何模型上工作,而不是只有一层)。

适合1<- 修剪(图1,5000,2)#去除5000作为老化,薄一半

现在我们有一组后验样本θ,我们可以为测试地点极限功率在全科医生的指导下,前后预言\(Y^\星号\)\(X ^\星\)位置跟随\[\开始{对齐}Y^\星\mid X,Y\sim\mathcal{N}\左(\mu^\星,\Sigma^\星\右)\quad\textrm{where}\quad\mu^\star&=\Sigma(X^\star,十) \西格玛(X)^{-1}是 \\\Sigma^\star&=\Sigma(X^\star)-\Sigma-(X^\star,十) \西格玛(X)^{-1}\西格马(X,X^\星)\结束{对齐}\]

每个\(\Sigma(\cdot)\)以上依赖关于\(\θ\)\(克\).因为我们有MCMC样品\({\theta^t,g^t\})对于\(在mathcal{t}中),我们可以评估\(\mu^{\star(t)}\)\(\西格玛^{\星(t)}\)对于每个\(在mathcal{t}中)并汇总结果利用总方差定律,\[\mu^\star=\sum_{t=1}^\mathcal{t}\mu^{\star(t)}\quad\textrm{和}\quad\西格玛^\star=\sum_{t=1}^\mathcal{t}\Sigma^{\star(t)}+\mathbb{C}\mathrm{ov}\left(\mu^{star(t)}\right)\]

这个过程被整齐地包装在预测功能(为每个S3类对象量身定制),在中提供的一维情节功能。

适合1<- 预测(fit1、xp、,光= 错误的)
情节(适合1)


GP提供了良好的非线性拟合不确定性估计,但它没有意识到政权的转变。我们允许模型估计噪声参数,并且它过于平滑数据。

双层DGP

DGP公司(Damianou和Lawrence,2013年)通过函数组合来解决这种平稳性限制高斯层。中间层充当原始输入,允许非平稳灵活性。“双层”DGP可以表述为\[\开始{对齐}Y\mid W&\sim\mathcal{N}\左(0,\Sigma(W)\右)\\W_i&\sim\mathcal{N}\left(0,\Sigma_i(X)\right)\quad\textrm{for}\quad i=1,\点,D\结束{对齐}\]哪里\(\Sigma(\cdot)\)表示上一节中定义的静态核函数小节和\(W=[W_1,W_2,\点,W_D]\)是个体的列组合矩阵\(W_i\)“节点”。潜在层无噪音单位刻度(即\(g=0)\(套^2=1)对于每个\(W_i\)). 中间潜伏层\(W \)未被观察到并呈现推理挑战(不能从后面边缘化分析)。许多人接受了快速的变分推理,节俭的近似马尔敏和菲利波恩(2022). The深度gp套餐提供了一种替代方案,基于完全贝叶斯抽样的推理方案,详见Sauer、Gramacy和Higdon(2023).本次抽样该方法提供了完全不确定度量化(UQ),这一点至关重要用于顺序设计。

通过椭圆切片采样对潜在高斯层进行采样(ESS、穆雷、亚当斯和麦凯,2010年).通过Metropolis Hastings对核超参数进行采样。所有这些在Gibbs方案中迭代。两层DGP的MCMC采样被包裹在fit_two层功能。

适合2<- fit_two层(x,y,国家军事委员会= 8000,动词= 错误的)
情节(适合2)


请注意,现在有两个长度比例参数,每个GP一个层(将有额外的θ_w[i]在更高的尺寸,每个\(\西格玛_ i(X)\)有自己的)。这又涉及到一些随机化取样。这些轨迹图有助于诊断老化需要运行更多MCMC样本,您可以使用持续功能。

适合2<- 持续(fit2,2000,动词= 错误的)

现在共有10000个样本存储在适合2,

适合2$国家军事委员会
#> [1] 10000

在一维中,我们可以通过指定隐藏=真情节呼叫。

情节(fit2,轨迹= 错误的,隐藏的= 真的)


每行代表一个ESS样本\(W \)。因为10000条线路对图中,显示了均匀间隔的样本选择。这些样品是渐变色–红线是最早的迭代,黄色是行是最新的。在这个简单的例子中,这些行看起来并不全是太有趣了,但我们看到他们在左侧区域(由更陡的斜率表示)和中的“挤压”输入右侧区域(由更平坦的坡度表示)。这适应了事实上有更多的信号x<0.6.

然后,我们可以使用相同的函数调用进行修剪/精简和预测。预测遵循单层GP的相同结构,它们只是包含的附加映射\(X^\星号\)通过\(W \)在获得之前\(\mu^\star\)\(\西格玛^\星\).我们利用lite=假这里是完全后验预测返回协方差(默认情况下,只有点式方差返回)。

适合2<- 修剪(图2,5000,2)
适合2<- 预测(fit2、xp、,光= 错误的)
情节(适合2)


双层DGP更容易识别“摇摆”区域,同时预测线性拟合右边。我们允许DGP也估计噪声参数,因此它过于平滑了一点。

三层DGP

三层DGP包含一个额外的功能组成,\[\开始{对齐}Y\mid W&\sim\mathcal{N}\左(0,\Sigma(W)\右)\\W_i\mid Z&\sim\mathcal{N}\left(0,\Sigma_i(Z)\right)\quad\textrm{for}\quad i=1,\点,D\\Z_j&\sim\mathcal{N}\左(0,\Sigma_j(X)\右)\quad\textrm{for}\quad j=1,\点,D\结束{对齐}\]我们对Metropolis Hastings的最内层和附加椭圆的长度刻度参数切片采样\(Z\).英寸预测,我们合并了一个额外的映射\(X^\星形\右箭头Z\右箭头W\)在获得预测之前\(Y^\星号\)训练/预测利用相同的功能,只需使用适合三层功能。

适合3<- 适合三层(x,y,国家军事委员会= 10000,动词= 错误的)
适合3<- 修剪(图3,5000,2)
配件3<- 预测(fit3、xp、,光= 错误的)
情节(适合3)


您可能会注意到,三层贴合设计与两层拟合(尽管它需要更多的计算)。额外深度的回报递减。我们将正式接下来比较一下预测。

评估指标

为了客观地比较各种模型,我们可以评估预测测试地点的真实反应。有三个包中包含的评估指标:

让我们为我们拥有的四个模型计算这些指标得到款待的。

韵律学<- 数据帧(“RMSE” = c(c)(rmse公司(yp,配件1$平均值),
                                 rmse公司(yp,配件2$平均值),
                                 rmse公司(yp,配件3$平均值),
                      “CRPS” = c(c)(crps公司(yp,配件1$平均值,诊断(适合1$西格玛)),
                                 crps公司(yp,配件2$平均值,诊断(适合2$西格玛)),
                                 crps公司(yp,配件3$平均值,诊断(适合3$西格玛))),
                      “得分” = c(c)(分数(yp,配件1$平均值,fit1$西格玛),
                                  分数(yp,配件2$平均值,fit2$西格玛),
                                  分数(yp,配件3$平均值,fit3$西格玛))
行名称(指标)<- c(c)(“一层GP”,“双层DGP”,“三层DGP”)
韵律学
#>RMSE CRPS评分
#>单层GP 0.19375467 0.12445641 2.023996
#>双层DGP 0.08187180 0.06806456 2.980133
#>三层DGP 0.06562534 0.04712727 3.762263

三层跑赢了两层,而两层跑赢全板的一层。

扩展

Vecchia近似

贝叶斯DGP受到以下计算瓶颈的影响在典型的全科医生中流行。稠密协方差矩阵的逆经验\(\mathcal{O}(n^3)\)成本。韦基亚近似(韦基亚,1988年)规避通过在精度矩阵中引入稀疏性来解决这个瓶颈(Katzfuss等人,2020年;Katzfess和吉尼斯2021).精度矩阵的稀疏Cholesky分解很容易并行填充(包使用开放式多媒体播放器对于这),有助于快速评估高斯概率和后验概率预测时刻。除了原始的,不近似的实施深度糖蛋白包提供了以下选项在所有井下计算中使用Vecchia近似。通过指定vecchia=真在任何fit函数中。

fit2_vec(适合2-vec)<- fit_two层(x,y,国家军事委员会= 10000,维基亚= 真的,米= 20)

这个参数控制的保真度近似值。有关详细信息,请参阅绍尔,库珀和格拉米奇(2022)虽然最初的实施是Vecchia选项仅适用于数百个数据大小用于数据大小高达十万的可行计算。

注意,这个Vecchia实现的目标是无噪声或低噪音设置。它不适合高噪声、低信号情况尚未出现。

无噪声建模

如果我们知道我们的训练数据是无噪音的,我们可以判断其适合性通过修正进行无噪建模的函数\(g=0\).实际上,有数字把金块修得太小(尤其是更平滑的内核)。为了避免任何数字问题,我建议使用小值,例如\(g=1e-4)而不是。此参数由参数指定正确_g至任一方适合一层,fit_two层,或fit_three_layer(fit_three_layer).

适合2否<- fit_two层(x,y,国家军事委员会= 10000,正确_g= 1e-4号机组)

如果您使用修剪,预测、和情节在这种情况下,你会看到预测插值这些点。[如果您遇到数字问题或fit不是插值点,只需增加正确_g。这很可能发生在单层GP中因为它更光滑。]

单层GP的可分离长度标尺

为了允许沿轴对齐的非平稳性,通常使用矢量化的长度刻度\(\theta_h\)对于每个尺寸\(X)(请参见罗伯特B。格莱美(2020),第5章)。\[\西格玛(X)^{ij}=\Sigma(X_i,X_j)=\tau^2\left(k\left(sum_{h=1}^d\左(\ frac{(x{ih}-x{jh})^2}{\thetah}\右)\右)+克\mathbb{我}_{i=j}\右),\]虽然这不是深度gp包装,一层GP,带可分离长度刻度(通过其他Metropolis Hastings进行采样)可能很方便基准。可分离(各向异性)长度刻度由论点sep=真fit_one层.

fit1_sep(适合1月)<- fit_one层(x、y,国家军事委员会= 10000,9月= 真的)

注意,可分离长度刻度不适用于两个和作为潜在层的三层模型提供了足够的灵活性模拟矢量化\(\θ\).潜在层节点的建模是各向同性的,以保持可识别性和吝啬。


主动学习

主动学习(也称为“顺序设计”)是使用统计数据顺序选择训练位置为收购提供信息的“代理”模型。收购可能以具体目标包括优化响应或最小化后验方差。DGP的非平稳灵活性通过贝叶斯MCMC的完整UQ,非常适合顺序设计任务。如果典型的静止GP可能会出现填空,则DGP为能够瞄准高信号/高兴趣区域(Sauer、Gramacy和Higdon,2023年).

通过预期改进进行优化

如果顺序设计目标是使响应最小化,则预期改进标准(EI、Jones、,Schonlau和Welch 1998)通过指定参数提供EI=真预测功能。对于Higdon函数示例,我们可以使用测试位置计算EI极限功率作为候选人

适合2<- 预测(fit2、xp、,EI公司= 真的)

要使用相应的配合可视化EI,请使用以下代码将EI(绿线)覆盖在双层DGP配合之上。

情节(适合2)
标准(新= 真的)
情节(xp,配件2$EI中,类型= “l”,随钻测井= 2,科尔= 3,轴= 错误的,xlab公司= "",伊拉布= "")
(xp[which.max(最大值)(适合2$EI)],最大值(适合2$EI),多氯联苯= 17,cex公司= 1.5,科尔= 3)


下一次收购被选为最大化的候选人EI(以绿色三角形突出显示)。在本例中,EI标准是准确识别响应面。此实现依赖于通过以下方式进行优化候选人评估。战略性地选择候选人至关重要;看见Robert B.Gramacy、Sauer和Wycoff(2022)讨论EI的候选优化DGP。

通过熵进行轮廓定位

如果顺序设计目标是定位整个轮廓或响应面中的水平集,熵准则由规范熵_极限预测功能。这个熵_极限代表分隔通过/失败区域的响应值。对于Higdon函数示例,如果我们在y=0再次使用测试网格作为候选,这将产生

适合2<- 预测(fit2、xp、,熵极限= 0)
情节(适合2)
标准(新的= 真的)
情节(xp,配件2$熵,类型= “l”,随钻测井= 2,科尔= 3,轴= 错误的,xlab公司= "",伊拉布= "")


注意,预测平均值与限制阈值。仅熵准则及其极端峰值并且有限地纳入后验不确定性,不是理想的收购标准。相反,最好将其与其他鼓励探索的指标。请参见展位,Renganathan和Gramacy(2024年)供进一步讨论。再一次,该实现依赖于候选人,以及候选地点至关重要。

最小化后验方差

如果相反,我们只是想获得最佳替代品选择以最小后验为目标进行序列设计方差。

为了让事情保持有趣,让我们介绍一个新的本节中用于可视化的一维示例(以及演示无噪音情况)。以下代码定义了一个简单的阶跃函数。

(f)<- 功能(x)作为数字(x)> 0.5)

#培训数据
x个<- 序列(0,1,长度= 8)
<- (f)(x)

#测试数据
极限功率<- 序列(0,1,长度= 100)
yp(英制)<- (f)(极限)

情节(xp、yp、,类型= “l”,科尔= 4,xlab公司= “X”,伊拉克镑= “Y”,主要= “阶跃函数”)
(x,y)


然后,我们拟合一层和两层模型,这次指定平方指数核和固定噪声参数值。

适合1<- fit_one层(x,y,国家军事委员会= 10000,覆盖(cov)= “经验2”,正确_g= 1e-4号机组,动词= 错误的)
适合1<- 修剪(图1,5000,5)
适合1<- 预测(fit1,xp)
情节(适合1)

适合2<- fit_two层(x,y,国家军事委员会= 10000,覆盖(cov)= “经验2”,真实(_g)= 1e-4号机组,动词= 错误的)
适合2<- 修剪(图2,5000,5)
适合2<- 预测(适合2,xp)
情节(适合2)


注意,DGP模型更适合逐步性质由于其非平稳性的灵活性,响应面会发生变化。

这个深度糖蛋白该包提供了两个收购标准目标最小后验方差。积分均方误差(IMSE)采集标准(Sacks等人。1989)在中实现IMSE公司功能。这个以下代码评估了单层和双层的标准上述模型使用预测网格作为候选,并绘制结果值。选择下一次收购作为候选生成最小IMSE(用蓝色三角形突出显示)。

图像1<- IMSE公司(fit1,xp)
图像2<- IMSE公司(适合2,xp)
标准(mfrow公司= c(c)(1,2))
情节(xp,imse1)$值,类型= “l”,伊拉布= “IMSE”,主要= “单层”)
(xp[其中分钟(第1页$值)],最小值(插图1$值),多氯联苯= 17,cex公司= 1.5,科尔= 4)
情节(xp,imse2)$值,类型= “l”,伊拉布= “即时消息”,主要= “双层”)
(xp[其中分钟(插图2$值)],最小值(插图2$值),多氯联苯= 17,cex公司= 1.5,科尔= 4)


而单层模型倾向于以低IMSE跨越大多数领域,适当地使用两层模型目标收购位于不确定性最高的中部地区。IMSE的和近似值,在ML文献在自动高度控制功能(尽管ALC采集被选为候选产生最大标准值)。

酒精1<- 自动高度控制(fit1,xp)
酒精2<- 自动高度控制(适合2,xp)

在进行完整的顺序设计时,初始化采集最后一次潜在采样值后的DGP链层和核超参数。MCMC采样的初始值双层DGP可由θy_0,θ_ w_0,第0组、和w_0(周_0)论据fit_two层。对实现了类似的参数fit_one层适合三层.示例这在git存储库的“activelearning”文件夹中提供(https://bitbucket.org/gramacylab/depgp-ex网站/).


计算注意事项

Fully-Bayesian DGP是需要大量计算。虽然我有集成的工具来帮助快速计算中,仍有一些相关考虑因素。


工具书类

Booth、Annie S、S Ashwin Renganathan和Robert B Gramacy。2024“翼型模拟可靠性的轮廓定位使用深度高斯过程的实验。” arXiv预打印arXiv公司:2308.04420.
Damianou、Andreas和Neil D Lawrence。2013“深高斯流程。”人工智能与统计,207–15. PMLR公司。
Economon、Thomas D、Francisco Palacios、Sean R Copeland、Trent W卢卡奇克和胡安·阿隆索。2016“SU2:开源套件多物理模拟与设计” Aiaa杂志54(3): 828–46.
Gramacy,Robert B.2020年。代理人:G公司奥斯汀过程应用科学建模、设计和优化.博卡佛罗里达州拉顿:查普曼霍尔/CRC。
Gramacy、Robert B、Annie Sauer和Nathan Wycoff。2022“贝叶斯优化的三角剖分候选。” 神经信息处理系统研究进展35: 35933–45.
戴夫·希格顿。2002“使用过程的空间和时空建模卷积。”电流的定量方法环境问题第37页至第56页。斯普林格。
Jones博士、M Schonlau和WJ Welch。1998“高效的全球优化昂贵的黑盒功能。” 第页,共页全局优化13 (4): 455–92.
Katzfuss、Matthias和Joseph Guinness。2021“将军高斯过程的Vecchia近似框架。” 统计科学36(1):124–41。
Katzfuss、Matthias、Joseph Guinness、Wenlong Gong和Daniel Zilber。2020高斯过程的维奇近似预测。” 农业、生物与科学杂志环境统计25 (3): 383–414.
马尔明、塞巴斯蒂安和毛里齐奥·菲利波内。2022计算机校准的深高斯过程模型.” 贝叶斯分析, 1–30.https://doi.org/10.1214/21-BA1293.
默里、伊恩、瑞恩·普雷斯科特·亚当斯和大卫·J·C·麦凯。2010“椭圆切片采样。”The Proceedings of The第十三届国际人工智能和统计, 9:541–48. JMLR:带CP.PMLR。
帕马迪、班杜、彼得·科维尔、保罗·塔塔比尼和凯利·墨菲。2004“兰利的空气动力学特性和滑翔回性能滑翔助推器。”第22届应用空气动力学会议和展品, 5382.
拉斯穆森、卡尔·爱德华和克里斯托弗·威廉姆斯。2005机器学习的高斯过程马萨诸塞州剑桥:麻省理工学院按。
Sacks、J、WJ Welch、TJ Mitchell和HP Wynn。1989“设计和计算机实验分析” 统计科学4(4): 409–23.
Salimbeni、Hugh和Marc Deisenroth。2017“双重随机深高斯过程的变分推断” arXiv公司预印arXiv:1705.08933.
桑特纳、TJ、BJ威廉姆斯和W诺茨。2018设计与分析计算机实验第二版。纽约州纽约市:斯普林格-弗拉格。
安妮·索尔。2023“计算机的深高斯过程替代实验。”弗吉尼亚理工大学博士论文。
Sauer、Annie、Andrew Cooper和Robert B Gramacy。2022“计算机的Vecchia-近似深高斯过程实验。” 计算与图形杂志统计, 1–14.
Sauer、Annie、Robert B Gramacy和David Higdon。2023“活动学习深高斯过程替代。” 技术计量学65 (1): 4–18.
孙、芙蓉、罗伯特·B·葛兰西、本杰明·哈兰德、伯爵·劳伦斯和安德鲁·沃克。2019“模拟卫星拖曳模拟实验。” SIAM/ASA不确定性杂志量化7 (2): 720–59.
苏亚诺维奇、S和D宾厄姆。2013“虚拟仿真库实验:测试函数和数据集。” https://www.sfu.ca/~苏尔加诺/.
Vecchia,Aldo V.1988年。“的估计和模型识别连续空间过程。” 《皇家杂志》统计学会:B辑(方法学)50 (2): 297–312.