高斯过程:如何使用GPML进行多维输出


13

有没有一种方法可以使用GPML对多维输出(可能是相关的)执行高斯过程回归?

演示脚本中, 我只能找到一维示例。

关于CV 的类似问题,涉及多维输入的情况。


我浏览了他们的书,看看是否能找到任何东西。在本书的第9章(第9.1节)中,他们提到了这种多输出的情况。他们提到了几种解决方法,一种是使用相关的噪声处理,另一种是使用Cokriging(相关的先验)。

我还是不知道如何将所有这些想法整合到GPML框架中。


另外,还有其他支持多维输出的GP库/框架吗?


“预测结构化数据”讨论在输入和输出之间的联合内核的一类(内核密度估计)情况下利用SVM。假设它们都是内核机器,则此方法应该有效。我发现一篇论文提到类似的内容。datamin.ubbcluj.ro/tr/2011/sogp.pdf我尝试拟合结构化学习算法的尝试非常糟糕,因此我不确定这是如何叠加的。
Jessica Collins

Answers:


7

我相信双高斯过程正是您想要的。我无法比论文本身的摘要更好地描述模型,所以我只想复制粘贴一下:

我们描述双高斯过程(TGP)1,这是一种通用的结构化预测方法,在协变量和响应(均是多元变量)上均使用高斯过程(GP)先验[2],并通过最小化两个GP的Kullback-Leibler散度来估计输出,这些GP被建模为训练和有限索引集上的正态分布测试示例,强调目标是相似的输入应产生相似的感知,并且平均而言应保持在其边际分布之间。TGP不仅捕获了典型GP中协变量之间的相互依存关系,而且还捕获了响应之间的相互依存关系,因此考虑了输入和输出之间的相关性。以最近发布的HumanEva基准测试中的单眼和多镜头视频序列中的3d人体姿势重建为例,TGP的效果令人鼓舞。对于联合训练的模型,使用来自多个人员和多个活动的数据,我们平均每3d标记平均出现5厘米的误差。该方法快速,自动:无需手工制作初始姿势,相机校准参数,也不需要与用于训练或测试的人类对象相关的3d人体模型。

作者慷慨地提供了代码和示例数据集以供入门。


欢迎来到该网站,@ caoy。您介意提供有关该链接内容的一些信息吗?这样,读者就可以知道对他们来说是否值得追求,并且这意味着在将来使用linkrot的情况下这里仍然有价值。
gung-恢复莫妮卡

@gung,谢谢,希望摘要能起到作用。
曹燕帅

@caoy ...您能否详细说明双高斯过程中输出的预测分布均值和方差?
Sandipan Karmakar

3

简短的回答多维输出的回归有些棘手,在我目前的知识水平上,还没有直接纳入GPML工具箱中。

长答案您可以将多维输出回归问题分解为3个不同的部分。

  1. 输出互不相关 -只需像一维案例的演示脚本那样分别对输出进行回归。
  2. 输出是相关的,但不知道它们之间的关系 -您基本上想了解输出之间的内部关系。正如书中提到的,协同克里金法是一个很好的开始。除GPML之外,还有其他一些软件可以直接让您执行协同克里格法。ooDace
  3. 输出是相关的,并且您知道它们之间的关系 -执行常规的cokriging,但是您可以通过应用优化器中的约束(同时使对数边际可能性最小化)来应用输出之间的硬约束(如Hall&Huang 2001所述)或如Constantinescu和Anitescu 2013所述,将这些关系应用于先验函数。

希望对您有所帮助:)


2

这是scikit-learn的一个模块,对我来说非常好:

http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regression.html

# Instanciate a Gaussian Process model
gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1e-1,
                     random_start=100)

# Fit to data using Maximum Likelihood Estimation of the parameters
gp.fit(X, y)

# Make the prediction on the meshed x-axis (ask for MSE as well)
y_pred, MSE = gp.predict(x, eval_MSE=True)
sigma = np.sqrt(MSE)

1

我正在寻找多输出高斯过程,并发现了许多处理方法,例如卷积方法,混合效果建模方法以及最新的一种双高斯过程(TGP)。

我对双高斯过程(TGP)的​​概念有疑问。有人可以帮我吗?

在TGP中,作者正在找出预测输出(),从而使输入和输出之间的KL差异最小,反之亦然。但总的来说,我们寻找输出的预测分布,即。这里要说明的一件事是预测方差,即,在其中没有任何作用。对于TGP,预测输出是否与预测分布的平均值相同? pÿ*|Ýμσ2σ2ÿ ÿ ÿy^p(y|y)(μ,σ2)σ2yy^y

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.