Python GPFlow中约束参数的先验解释

Python GPFlow中约束参数的先验解释,python,gpflow,Python,Gpflow,我不确定是否要就此在github上提出问题,但我认为这与其说是一个问题,不如说是我缺乏理解,所以我将其发布在这里 我想在GPFlow模型(在本例中是RBF核)的核上放置超参数的优先级。这很容易做到——例如,我可以写: kern.variance.prior=gpf.priors.Gaussian(0,1) 关于核方差参数 我不确定的是,该语句对受约束的参数(如上面的方差)有何作用。它是受约束的正值,手册中写道,还有一个无约束表示,log(exp(θ)-1) 我想了解的是优先权是放在什么上面的。

我不确定是否要就此在github上提出问题,但我认为这与其说是一个问题,不如说是我缺乏理解,所以我将其发布在这里

我想在GPFlow模型(在本例中是RBF核)的核上放置超参数的优先级。这很容易做到——例如,我可以写:

kern.variance.prior=gpf.priors.Gaussian(0,1)
关于核方差参数

我不确定的是,该语句对受约束的参数(如上面的方差)有何作用。它是受约束的正值,手册中写道,还有一个无约束表示,log(exp(θ)-1)

我想了解的是优先权是放在什么上面的。这个正态分布是放在无约束表示上,还是直接放在变换的表示上?后者会有点奇怪,因为它支持负值(也许我应该只使用具有正支持的分布?)


谢谢

是,分布放置在约束(+ve)参数上

请注意,变量的变化是使用变换的雅可比矩阵来解释的

是的,在这种情况下,将高斯先验值放在+ve变量上没有什么意义。结果可能是你有一个截断的高斯先验,但我必须检查。。。这不是它的用途


如果优先级与约束不兼容,GPflow可能应该警告用户?欢迎光临

谢谢你的快速回复,詹姆斯!这回答了我的问题。我已经得到了伽马(0.5,2),它应该对应于标准偏差的半标准法线。我会看看我是否能为你的想法做一个公关!