【发布时间】:2016-07-24 11:40:36
【问题描述】:
根据r-jags的用户手册(编译部分):
在关系右侧使用的任何节点,但不是 在任何关系的左侧定义,假定为 恒定节点。它的值必须在数据文件中提供。
但很奇怪,许多概率图模型包含许多要推断的顶级参数。这就是国阵的意思,不是吗?那么为什么要先定义顶层参数的值呢?当我想实现像LDA这样的模型时,我应该怎么做,它的主题分布在a和词分布beta是未知的?如果我说错了,请告诉我。
【问题讨论】:
根据r-jags的用户手册(编译部分):
在关系右侧使用的任何节点,但不是 在任何关系的左侧定义,假定为 恒定节点。它的值必须在数据文件中提供。
但很奇怪,许多概率图模型包含许多要推断的顶级参数。这就是国阵的意思,不是吗?那么为什么要先定义顶层参数的值呢?当我想实现像LDA这样的模型时,我应该怎么做,它的主题分布在a和词分布beta是未知的?如果我说错了,请告诉我。
【问题讨论】:
如果您想对参数进行推断,那么根据定义,这不是顶级参数。如果你想推断一个参数的某些东西,那么你必须在它上面加上一个先验,在这种情况下,先验中的超参数是顶级参数。例如:
Count ~ dpois(lambda)
lambda <- 10
表示 lambda 是顶级参数,无法推断。
Count ~ dpois(lambda)
lambda ~ dgamma(0.001, 0.001)
表示 lambda 是推断出来的,gamma prior 的超参数是顶层参数。要更清楚地看到这一点,请注意以下语法是等效的:
Count ~ dpois(lambda)
lambda ~ dgamma(shape, rate)
shape <- 0.001
rate <- 0.001
如果您愿意,也可以在数据中指定形状和速率参数,但这有点不寻常。
为这些参数选择合理的先验分布并不总是简单的,但它是任何贝叶斯分析的一个组成部分。不要在没有考虑和/或测试的情况下假设具有大方差的先验信息很少。
马特
【讨论】: