解释GPFlow中约束参数的先验

时间:2019-07-17 02:59:54

标签: python gpflow

我不确定是否要在github上发布问题,但是我认为这不是问题,不是我缺乏理解,所以我将其发布在这里。

我想优先考虑GPFlow模型(在这种情况下是RBF内核)中内核的超参数。这很容易做-例如,我可以写:

kern.variance.prior = gpf.priors.Gaussian(0, 1)

关于内核方差参数。

我不确定的是此语句对受约束的参数(例如上面的变量)的作用。它被约束为正,并且手册写道,也存在不受约束的表示形式log(exp(theta)-1)。

我想了解的是先验知识的含义。将这种正态分布放在不受约束的表示形式上还是直接放在经过转换的表示形式上?后者有点奇怪,因为它支持负值(也许我应该只使用带有正支持的分布?)。

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,分布位于约束(+ ve)参数上。

请注意,变量的更改是使用变换的雅可比行列进行解释的。

是的,在这种情况下,将高斯优先级放在+ ve变量上是没有意义的。结果可能是您的高斯先验被截断了,但是我不得不检查一下……这不是它打算被使用的方式!

如果先验条件与约束条件不兼容,也许GPflow应该警告用户?欢迎公关。