私はPyMCのハイブリッドモンテカルロサンプリングアルゴリズムを設計しており、できるだけ手間のかからない一般的なものにしようとしているので、HMCアルゴリズムの設計に関する良いアドバイスを探しています。私は読んだことがあるラドフォードの調査章とBeskosらを。HMCの最適な(ステップサイズ)チューニングに関するal。の最近の論文と私は、次のヒントを集めました。
- 運動量変数は共分散で分布する必要があります。ここで、は一般に分布の共分散行列のようなものです(単純な分布の場合)が、異なる可能性があります(おかしな形の分布の場合)。デフォルトでは、私はモードでヘシアンを使用しています。
- 軌跡はリープフロッグ法で計算する必要があります(他のインテグレーターには価値がないようです)
- 最適な受け入れ率は、非常に大きな問題の場合は.651、それ以外の場合は高くなります。
- ステップサイズは、ようにスケーリングする必要があります。ここで、は自由変数、は次元数です。
- テールが明るい場合、または安定性が奇数の領域がある場合、ステップサイズを小さくする必要があります。これには、ステップサイズのランダム化が役立ちます。
他に採用すべき、または少なくとも考慮すべきアイデアはありますか?私が読むべき他の論文?たとえば、価値がある適応ステップサイズアルゴリズムはありますか?軌道の長さについて良いアドバイスはありますか?実際、より良いインテグレーターはいますか?
誰かこれをコミュニティウィキにしてください。