タグ

ブックマーク / xiangze.hatenablog.com (2)

  • ハミモン、ゲットだぜ! - xiangze's sparse blog

    Hamilton Monte-Carlo法(Hybrid Monte-Carlo法)はMCMCによる分布関数のサンプリングを高速化させる手法の一つであり、近年StanやTheanoなど統計的解析を行うためのプログラミング言語に実装させており、注目を集めています。 今回は混合ガウス分布に対するその分布の軌跡をplotしました。 HMCの基的には通常のモンテカルロ法で扱う変数の組みxに対して同じ数の運動量変数pを用意し、ハミルトニアンHを \( H=\frac{ p^2}{2}+V(x) \) \( V(x) = -\log(p(x)) + C \) と定義します。 運動量の変数(p)のランダムな更新 一定期間分ハミルトン方程式 \( \frac{dp}{dt}=-\frac{ \partial H}{\partial x} \) \( \frac{dx}{dt}=\frac{ \pa

    ハミモン、ゲットだぜ! - xiangze's sparse blog
  • pythonでGPUとMCMC(とR) - xiangze's sparse blog

    GPUでモンテカルロ法の計算をしたくなったりした場合には普通CUDA,OpenCLを使うことになります。 C++でプログラミングする必要があるのですが、変数の確保、解放などで記述が長くなりがちです。pythonを用いると記述を簡潔にできるところが多いらしいので関連するライブラリを紹介します。 実務的にはPyMCからTheanoが呼べるらしいのでそれを使用するのが良さそうですが、現段階では実装されていない機能もあります。 @beroberoさん http://heartruptcy.blog.fc2.com/blog-entry-152.html id:breakbeeさん http://breakbee.hatenablog.jp/entry/2014/05/20/121722 がインストール、実行に関して解説されているのでここでは実装面を少し説明します。というか備忘録です。 PyCUDA

    pythonでGPUとMCMC(とR) - xiangze's sparse blog
  • 1