有没有办法使用GPML对多维输出(可能相关)执行高斯过程回归?
在演示脚本中 ,我只能找到一个 1D 示例。
一个关于 CV 的类似问题,它解决了多维输入的情况。
我翻阅了他们的书,看看是否能找到任何东西。在本书的第 9 章(第 9.1 节)中,他们已经提到了这种多输出的情况。他们提到了几种处理这个问题的方法,一种是使用相关噪声过程,另一种是使用 Cokriging(相关先验)。
我仍然不知道如何将这些想法融入 GPML 框架。
另外,还有其他支持多维输出的 GP 库/框架吗?
有没有办法使用GPML对多维输出(可能相关)执行高斯过程回归?
在演示脚本中 ,我只能找到一个 1D 示例。
一个关于 CV 的类似问题,它解决了多维输入的情况。
我翻阅了他们的书,看看是否能找到任何东西。在本书的第 9 章(第 9.1 节)中,他们已经提到了这种多输出的情况。他们提到了几种处理这个问题的方法,一种是使用相关噪声过程,另一种是使用 Cokriging(相关先验)。
我仍然不知道如何将这些想法融入 GPML 框架。
另外,还有其他支持多维输出的 GP 库/框架吗?
我相信双高斯过程正是您正在寻找的。我无法比论文本身的摘要更好地描述模型,所以我只是复制粘贴它:
我们描述双高斯过程 (TGP) 1,一种通用的结构化预测方法,它在协变量和响应上使用高斯过程 (GP) 先验 [2],都是多元的,并通过最小化两个 GP 之间的 Kullback-Leibler 散度来估计输出,该两个 GP 建模为有限索引集上的正态分布,并且测试示例,强调相似输入应该产生相似感知的目标,并且这应该平均保持在它们的边际分布之间。TGP 不仅像典型的 GP 那样捕获协变量之间的相互依赖关系,而且还捕获响应之间的相互依赖关系,因此考虑了输入和输出之间的相关性。在最近推出的 HumanEva 基准测试中,TGP 被举例说明了从单目和多摄像机视频序列重建 3d 人体姿势,并取得了可喜的结果,对于联合训练的模型,我们使用来自多人和多项活动的数据,平均每个 3d 标记实现 5 厘米的误差。该方法快速且自动:它不需要手工制作初始姿势、相机校准参数或与用于训练或测试的人类受试者相关的 3d 身体模型的可用性。
作者慷慨地提供了代码和示例数据集以供入门。
简答 多维输出的回归有点棘手,并且在我目前的知识水平上并没有直接包含在 GPML 工具箱中。
长答案您可以将多维输出回归问题分解为 3 个不同的部分。
我希望它有帮助:)
这是 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)
我正在寻找多输出高斯过程,并找到了许多使用它的方法,例如卷积方法、混合效果建模方法和最新的双高斯过程 (TGP)。
我对双高斯过程(TGP)的概念有疑问。有人可以帮我吗?
在 TGP 中,作者正在找出预测的输出 () 最小化输入和输出之间的 KL 散度,反之亦然。但总的来说,我们寻找输出的预测分布,即. 这里要注意的一件事是预测方差即,在其中没有任何作用。在 TGP 的情况下,是预测输出与预测分布的均值相同?