问题标签 [gaussian-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
62 浏览

python - 在 scikit-learn 中使用带有预计算内核的 GaussianProcessRegressor

我正在尝试将GaussianProcessRegressorin scikit-learn 与 grakel 软件计算的一些图形内核一起使用。下面是我对 100 个图形数据进行 5 折交叉验证的代码。为了测试方便,我已经注释掉了所有与图形相关的行,并改用随机内核矩阵和y值。

但是,我收到以下错误

当我更改sklearn.gaussian_process.GaussianProcessRegressorsklearn.svm.SVR(支持向量回归)时,我的代码不会抛出任何错误,但由于某种原因它会永远运行。我还测试了类似的分类器,sklearn.svm.SVC并且我的代码运行良好。

有人知道如何在 scikit-learn 中使用预计算内核GaussianProcessRegressor吗?

0 投票
1 回答
59 浏览

python - 具有向量输入的 GPFlow 多类分类导致形状不匹配的值错误

我正在尝试按照此处描述的 GPFlow(使用 v2.1.3)中的多类分类:

https://gpflow.readthedocs.io/en/master/notebooks/advanced/multiclass_classification.html

与示例的不同之处在于X向量是 10 维的,要预测的类数是 5。但是在使用诱导变量时似乎存在维数错误。我更改了内核并使用虚拟数据来实现可重复性,只是想让这段代码运行。我把变量的维度放在了以防万一。任何损失计算都会导致错误,例如:

就好像它需要诱导变量的Y结果,但 gpflow 站点上的示例不需要它,或者它混淆了X输入的长度和要预测的类数。

我尝试在gpflow 分类实现中扩展Y的维度,但没有帮助。

可重现的代码:

方面:

错误:

0 投票
0 回答
35 浏览

python - Scikit 高斯过程预测

我正在尝试使用 scikit 的 Gaussian Process 包来学习时间序列预测,但我没有在网上找到任何示例来说明如何做到这一点。在对一些数据进行过程训练之后,我想将来自测试集的时间序列的一些部分观察结果提交给模型,并让它返回预测的未来观察结果。

有人可以为一个概念示例展示如何执行此操作的代码吗?

0 投票
0 回答
47 浏览

python - Scikit learn 的 GaussianProcessRegressor 用于 2D 输入(整数变量)和 1D 输出,给出 lbfgs 无法收敛

我正在尝试使用 scikit learn 的 GaussianProcessRegressor 构建 gpr 模型。我的输入是 X 中的两个参数和 y 中的一个输出。由于我在 X 中的两个参数是整数变量,因此我的采样具有舍入函数。我有多个 y,但是这个例子只用一个表示。MWE如下,

对应的输出如下,

现在,我尝试在this1this2的帮助下运行它,它们都没有在 0,1 之间对其进行标准化,我认为这可能是不正确的情节和如此高的 NLML 的可能原因。关于如何让 lbfgs 在这里汇聚有什么建议吗?或者我可能遗漏了什么?

0 投票
0 回答
14 浏览

python - 我可以在 scikit 中平均内核吗?

我有一个 RBF 内核列表,每个内核都有不同的参数。有没有办法让我在 scikit 中获得这个列表的平均内核?

我发现我可以添加和乘以内核,但还没有弄清楚如何将它们除以常数。

0 投票
1 回答
75 浏览

tensorflow - 如何将 gpflow GPR 的批量训练编译成 tf.function?

我需要使用自定义损失函数在每个时期分多个批次训练 GPR 模型。我想用GPflow来做这件事,我想用它来编译我的培训tf.function以提高效率。但是,gpflow.GPR每次提供新数据时都必须重新实例化,因此tf.function每次都必须重新跟踪。这会使代码变慢而不是变快。

这是初始设置:

这就是我在没有 a 的情况下训练的方式tf.function

这就是我训练的方式tf.function

tf.function每批的回溯速度明显慢于正常训练。

有没有办法tf.function在使用自定义损失函数和 GPflow 的同时加快 GPR 模型的批量训练?如果没有,我愿意接受有关替代方法的建议。

0 投票
1 回答
59 浏览

tensorflow - 有没有办法从 GPflow GPR 模型中检索权重?

有没有办法从GPflow GPR 模型中检索权重?

我不一定需要明确的权重。但是,我有两个问题可以使用权重解决:

  1. 我想编译一个经过训练的模型并将其发送给第三方。我想在不发送训练数据且第三方无法访问训练数据的情况下执行此操作。
  2. 我希望能够在不计算新方差的情况下预测新的平均值。目前 predict_f 计算均值和方差,但我只使用均值。我相信如果我不计算方差,我可以显着加快我的预测。

如果我可以在训练后从 GPR 模型中检索权重,我可以解决这两个问题。但是,如果可以在不处理显式权重的情况下解决这些任务,那就更好了。

0 投票
1 回答
47 浏览

gpflow - GPflow中是否有关于异方差高斯过程的代码或研究?

我现在正在研究具有异方差噪声的 GP 模型,我想知道 GPflow 社区中是否有代码或注释,以便我了解它们。非常感谢!

0 投票
0 回答
43 浏览

matlab - 高斯-赛德尔的 SOR

我使用 Gauss-Seidel 方法解决了以前的线性系统。现在我正在尝试为 10 种不同的欧米茄值添加过度松弛。我已将 GS 方法编码为以下函数:

我正在尝试将这个等式实现为x(i)

方程 到目前为止我已经想出了这个

我知道omega > 1过度放松,但我真的坚持如何在 GS 函数中实现过度放松。

0 投票
1 回答
37 浏览

tensorflow - 如何在 gpflow 中使用带有非变分 GPR 的小批量?

我试图调整本文档中的说明以使用小批量来训练 GPR 模型,但我没有尝试过任何工作。我无法将批处理迭代器提供给 training_loss_closure 方法,也无法将批处理迭代器用于模型的数据属性。有没有办法在 gpflow 中使用具有非变分模型(如 GPR 或 SGPR)的小批量?