【问题标题】:Interpreting priors on constrained parameters in GPFlow解释 GPFlow 中约束参数的先验
【发布时间】:2019-07-17 15:45:56
【问题描述】:

我不确定是否要在github上提出问题,但我认为这不是一个问题,而是我缺乏理解,所以我在这里发布。

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

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

关于核方差参数。

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

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

谢谢!

【问题讨论】:

    标签: python gpflow


    【解决方案1】:

    是的,分布放在受约束的 (+ve) 参数上。

    请注意,变量的变化是使用变换的雅可比行列式计算的。

    没错,在这种情况下,将高斯先验放在 +ve 变量上毫无意义。结果可能是你有一个截断的高斯先验,但我必须检查......这不是它的预期使用方式!

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

    【讨论】:

    • 感谢詹姆斯的快速回复!这回答了我的问题。我现在已经选择了 Gamma(0.5, 2),它应该对应于标准偏差的半标准 Normal。我会看看是否可以针对您的想法进行 PR!
    猜你喜欢
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多