问题标签 [gpflow]
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.
gpflow - GPFlow 同一 GP 的多个独立实现,不规则的采样时间/长度
在 GPflow 中,我有多个时间序列,并且采样时间没有跨时间序列对齐,并且时间序列可能有不同的长度(纵向数据)。我假设它们是来自同一个 GP 的独立实现。用 svgp 处理这个问题的正确方法是什么,更普遍的是用 GPflow?我需要使用共同区域化吗?共同区域化笔记本假设相关轨迹,而我想要共享均值/内核但独立。
python - 高斯过程wrt特征的偏导数
给定具有多维特征和标量观察的高斯过程模型,如何在 GPyTorch 或 GPFlow(或 scikit-learn)中计算输出到每个输入的导数?
python - 如何在 gpflow 中修复内核长度尺度的某些维度?
我有一个二维内核,
我想修复二维的长度尺度,然后优化另一个。
我可以使用禁用所有长度尺度优化,
但我不能只将一个维度传递给这个方法。
在 GPy 中,我们会调用m.kern.lengthscale[1:].fixed()
什么的。
也许我可以使用转换来大致实现这一点(例如这里),但这很复杂。
gpflow - 诱导变量的重塑 - GPflow
我有一个SGPR
模型:
而且我想分配诱导变量但具有不同的形状,例如:
但如果我这样做,我得到:
有没有办法在不重新定义模型的情况下重新分配诱导变量?
背景:我不想用诱导变量优化模型,而是在不优化诱导变量的情况下优化模型,在优化的每一步手动重新分配诱导变量。
python - 具有softmax似然的多类分类
GPflow 文档提供了一个使用robust-max 函数进行多类分类的示例。我正在尝试用 softmax 似然训练一个多类分类器,这也在GPflow 中实现,但我找不到任何关于如何正确使用它的文档或示例。
请在下面找到我尝试过的示例。在训练期间,损失平滑地减少。
上面提到的robust-max 示例使用分类标签,即值0、1、2,但简单地用softmax 似然替换robust-max 会在正交方法中引发IndexError 。因此,我假设这个具有 softmax 似然性的模型需要 one-hot 编码标签。然而,在测试时,我注意到对于这个三类玩具示例,模型永远不会预测类 3。仔细检查后,softmax 似然有以下方法
看起来它需要一个 shape 的分类标签数组[num_samples, 1]
。
将 softmax 似然用于 GP 多类分类的正确方法是什么?
gpflow - 我可以为 GPflow 中的不同数据类型指定不同的内核吗?
对于我的模型,有两种不同类型的数据。让我们说类型 X1 的数据和类型 X2 的数据。
是否可以为两种数据类型实现不同的内核?那么从 X1 类型的数据开始,使用内核 X1,从 X2 类型的数据开始,使用内核 X2?(我使用VGP模型)
背景是我知道两种数据类型之一的超参数,而不是另一种数据类型的超参数。
谢谢你的帮助!
python - gpflow:非独立多输出内核
我正在尝试在 gpflow 中实现我自己的 MultioutputKernel (MOK),但是我被困在 Multiple Dispatch 的(Kernel, Inducing Variable)
组合中。
根据docsMultioutputKernel
,组合 a with的后备方法InducingPoints
应该是调用fully_correlated_conditional
(via gpf.conditionals.multioutput.inducing_point_conditional
)。
但是,我无法让任何 MOK 与非独立诱导变量一起工作,甚至是预先实现的变量。这是一个最低限度的不工作示例SharedIndependent
:
这是行不通的,除非有人用
但是对于我的自定义非独立内核,我需要完全相关的条件。我得到的错误是
在inducing_point_conditional
将内核矩阵传递给base_conditional
. 但是,我不明白哪里出了问题,因为形状应该没问题。它们就像文档中定义的那样。
我必须改变什么才能让它在完全相关的条件下运行?
python - 有没有办法定义“异构”内核设计以将线性算子合并到 GPflow(或 GPytorch/GPy/...)的回归中?
我正在尝试使用线性运算符执行 GP 回归,例如 Särkka 的这篇论文中所述:https://users.aalto.fi/~ssarkka/pub/spde.pdf在这个例子中,我们可以从方程(8 )我需要一个不同的核函数用于完整协方差矩阵中的四个协方差块(训练和测试数据)。
这绝对是可能且有效的,但我想将其包含在(最好)GPflow 或 GPytorch、GPy 等的内核定义中。
但是,在Gpflow中的内核设计文档中,唯一的可能性是定义一个作用于所有协方差块的协方差函数。原则上,上面的方法应该是直接添加我自己(核函数表达式可以解析得出),但我看不到任何将“异构”核函数合并到回归或核类中的方法。我尝试咨询其他软件包,例如Gpytorch和Gpy,但同样,内核设计似乎不允许这样做。
也许我在这里遗漏了一些东西,也许我对底层实现不够熟悉来评估这一点,但如果有人以前做过这个或看到(什么应该是相当直接的?)实现可能性,我会很高兴找出答案。
非常感谢您的回答!
亲切的问候
python - 使用泊松似然的 GP 回归
我正在尝试使用泊松似然来实现 GP 回归。我按照GPy中的例子做了
当我尝试使用 GPflow 做同样的事情时,我以以下方式实现
当我使用 GP 流程实现这一点时,超参数并没有从初始化值移动。另外,我得到了非常不同的结果,我做错了什么吗?
python - AttributeError:“张量”对象在 GPflow 中没有属性“ndim”
我运行以下代码来生成一个图表,其中根据https://gpflow.readthedocs.io/en/stable/notebooks/basics/regression.html绘制平均函数、95% 置信区间和来自后验的 10 个样本:
运行它时,我得到以下错误:
X 和 Y 是两个给定的数组,例如: