我正在为PyMC设计一种混合蒙特卡洛采样算法,并且试图使其尽可能地简化和通用,因此我正在寻找有关设计HMC算法的好的建议。我已阅读雷德福的调查章节和Beskos等。等人最近发表的有关HMC最佳(步长)调整的论文,我收集了以下技巧:
- 动量变量应该与协方差分布,其中Ç通常是一样的东西分配(为简单分布)的协方差矩阵,但可以想见,是不同的(对于滑稽形分布)。默认情况下,我在该模式下使用粗麻布。
- 轨迹应使用跳越法计算(其他集成商似乎不值得)
- 对于非常大的问题,最佳接受率是.651,否则更高。
- 步长大小应该被缩放等,其中,大号是自由变量和d是维数。
- 当存在轻尾或其他具有奇数稳定性特征的区域时,步长应更小。步长随机化可以对此有所帮助。
还有其他我应该采纳或至少考虑的想法吗?我应该阅读其他论文吗?例如,是否有值得采用的自适应步长算法?轨迹长度是否有好的建议?实际上是否有更好的集成商?
有人请使其成为社区Wiki。