问题标签 [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 回答
53 浏览

python - GPFlow 模型对测试集给出了错误的预测

再会!

我正在使用 GPFlow 回归来模拟球体上的函数(点和北极之间的球面距离)。这是我的代码:

我在球体上随机选择了训练和测试集

train_test_split(data, test_size = 0.33)

我设置了一个不可训练的参数,因为我的模型在测试集和训练集上都给出了不好的预测。现在我predict_f()对测试集有非常糟糕的预测(使用 )和对训练集的非常好的预测,同样在测试集上,它看起来模型给出了具有预测协方差的任意分布值。这是一个可视化(我将函数的值从球体上的对应点推迟)

问题:如何修复测试集的预测?可能是什么问题呢?

图片

列车组预测 对测试集的预测
在此处输入图像描述 在此处输入图像描述
0 投票
1 回答
32 浏览

python - 高斯置信区间:Python

我正在编写一个脚本,它使用 GPR 来分析和预测不同燃料的燃烧特性。我的测试集有很好的输出,现在想要添加 95% 的置信区间。当我尝试实施间隔时,我得到了可怕的结果。请发送帮助。

0 投票
1 回答
35 浏览

gpflow - 如何从 GPFlow 中的随机变分高斯过程 (SVGP) 中获取噪声方差

正如问题所述,我想知道如何从 GPFlow 中的 SVGP 模型中获取噪声方差(而不是信号方差)。为了澄清,我所说的噪声方差是指高斯似然的参数,我理解它是观测值的预测方差减去潜在函数的预测方差之间的差异(后者是我所说的信号方差)。

SVGP 实际上不是我的目标,我试图理解异方差模型,但它也使用 SVGP,所以我想我会从那里开始。

0 投票
0 回答
24 浏览

scikit-learn - “CompoundKernel”对象没有属性“k1” - 集成学习中高斯过程中的复合内核错误

我正在尝试在集成装袋分类器/回归器中使用 GaussianProcess 分类器或回归器。高斯内核在集成工作流之外工作正常,但只要它在集成模型中实现(此处装袋),它就会生成有关其内核的错误,声明“CompoundKernel”对象没有属性“k1”。我使用以下更简单的代码重新生成了错误:

以下是错误:

请注意,将复合内核更改为单个内核(例如 RBF)可以解决问题,但我想在我的模型中使用混合内核。您对我如何处理这个问题有任何想法吗?

0 投票
0 回答
13 浏览

python - 我们可以在核矩阵的构造上应用向量化吗

我正在努力在 GP 中生成一个内核矩阵。这是我的功能:

cov_function是我使用的核函数,例如 se、exp 或 matern。你可以看到我仍然使用for循环,我知道向量化更有效但我不知道如何向量化它。所以我想请教一些建议。

0 投票
1 回答
36 浏览

python - SKlearn:高斯过程回归(长度尺度值

我正在尝试使用 GaussianProcessRegressor 拟合 GP,并尝试获取长度比例值(超参数)。我试过了 gp.kernel_.get_params(),我得到了所有的参数(结果如下)。但是,我只想将向量保存length_scale=[7.68, 100, 6.04]到文件或变量中,以便我可以在后处理特征中使用它。如果您有任何想法,我将不胜感激。

0 投票
1 回答
74 浏览

gpflow - GPflow SGPR 的预测公式错误?

我相信这个GPflow 文档页面的倒数第二个等式有错误 。我在这里提供详细信息。这可能是对的吗?

0 投票
1 回答
36 浏览

python - 高斯过程回归:基于验证集调整超参数

高斯过程回归 (GPR) 的标准 scikit-learn 实现中,(内核的)超参数是根据训练集选择的。

是否有一个易于使用的 GPR 实现(在 python 中),其中超参数(内核的)是基于单独的验证集选择的?或者交叉验证也是寻找合适超参数的一个很好的替代方法(经过优化以在多个 train-val 分割上表现良好)。(我更喜欢基于 scikit-learn GPR 的解决方案。)

详细说明:应该找到一组超参数 theta,在以下指标中表现良好:根据训练数据计算后验 GP(给定具有超参数 theta 的先验 GP)。然后评估验证数据相对于后验的负对数似然。对于 theta,这种负对数可能性应该是最小的。

换句话说,我想找到这样的“P [ valData | trainData,theta ]”是最大的。更准确地说,我想找到 theta 使得 sum_i log(P[ valData_i | trainData, theta ] 是最大的,其中 P[ valData_i | trainData, theta ] 是给定训练的验证数据点 valData_i 的高斯边际后验密度-给定具有超参数 theta 的先前 GP 的数据集。

0 投票
0 回答
17 浏览

python - 我怎样才能给高斯过程一个张量(长度,n_step,nb_features)作为输入?

有谁知道我们怎样才能给 sklearn 的高斯过程一个张量作为输入?我用神经网络做到了,但我会尝试用高斯过程。

0 投票
0 回答
27 浏览

python - 我的高斯过程回归器预测任何输入为 0

由于前面的 3 个,我尝试做的是预测函数的下一个点。例如,我想用 ((x0,y0), (x1,y1), (x2,y2)) 作为输入来预测 (x3,y3)。当向量 x 是 linspace 时,一切正常,但当它是 np.random.uniform 时,它就不起作用了。

我的训练数据看起来像这样: 训练数据

我的测试数据看起来像这样: 测试数据

我的模型是一个高斯过程,定义如下:

我得到的结果如下: 预测结果

我唯一的结果是(0,0)。有人知道为什么它不起作用吗?