タグ

HMCに関するAobeiのブックマーク (13)

  • MCMCと単回帰 - ヤカンヒコウ

    Aobei
    Aobei 2023/10/10
  • Identity Crisis

  • pystanでdivergenceだったりmax_tree_depthなサンプルを観察

    お急ぎな方向け説明 pystanでdivergenceなパラメータだとかmax_tree_depthに陥ってるパラメータってどんなのか気になる事ありますよね。そんなときは以下のようにして、抽出できます。 def get_divert_params(params): #get_sample_params["divertgent__"]にdivertしたかどうかのフラグが入っている #ただしこれはwarmupも含めた結果なので、warmup分をさっ引いて拾ってくる #chain毎に存在するものは後が楽になるように結合しておく divert=np.array([chain["divergent__"][fit.sim["warmup"]:] for chain in fit.get_sampler_params() ]).transpose().reshape(-1) didx=np.nonze

  • stanのマニュアル、わけわかんねーよ

    この記事は、stanでモデルを組むことは出来てとりあえず走らせたけれどもRhatが1.0になってくれない。モデルの改良なり、サンプリングパラメータの調整で切り抜けたいが、「stanのマニュアルを読んでも、わかんねー」と思った時にどういう役に立てばと思います。 実際にはHMC(ハミルトンモンテカルロ)一般の話なので、pyMCとかでも事情は一緒ですが、Stanが使っている語彙で説明します。具体的には以下のパラメータや警告の意味が「わかんねーよ」っていうのに対して簡単な事例で説明したいと思います。 なお、この解説の元ネタとなっている論文はこちらです、ただ此方だと直接stanのパラメータ・警告とは直接結びついてないので文書を書きました。https://arxiv.org/pdf/1701.02434.pdf sampligパラメータstepsizestepsize_jittermetric :

    Aobei
    Aobei 2023/08/12
    stan推定時の警告の解説。
  • Stanを使ってNUTSを実装する | Sunny side up!

    この記事は、Stan advent calendar 2018の7日目の記事です。 Stan、すばらしいソフトですね。今日はStanがいかに素晴らしいかを語る記事です。StanにはNUTSというアルゴリズムが搭載されいているのはご存知だと思いますが、今回の記事は、 Stanを使ってRにNUTSを実装する という話です。「ちょっと何言ってるかわかんない」、とか言わない。 さて、NUTSはマルコフ連鎖モンテカルロ法(MCMC)の手法の一つ、ハミルトニアンモンテカルロ法(HMC)を発展させたものだ、というのは聞いた人も多いと思います。そこで、MCMCやHMCについて簡単に説明したあと、Stanが搭載しているアルゴリズムについて解説していきます。 なお、数式とかは使わず、全部日語で説明していきます。数式で詳しいものはいくらでもあるので、そちらをご参考ください。たとえばこちら。 ◆マルコフ連鎖モン

    Aobei
    Aobei 2019/03/21
    ]HMCをより理解するために。
  • MCMC Interactive Gallery

    Aobei
    Aobei 2017/08/29
    ビジュアライズ
  • pythonでNUTSの実装 - やったことの説明

    はじめに 前回 ハミルトニアンモンテカルロ法の実装をやった. 今回は No U-Turn Sampler (NUTS)の実装をやる. 論文を参考にした. コードはここにもある github.com NUTS ハミルトニアンモンテカルロ (HMC)はパラメータの勾配を利用して, 効率的にMCMCサンプリングを行うことができる手法だった. HMCの問題点は2つ. 更新ステップ数 を適切に指定しなければいけない. 更新の大きさ を適切に指定しなければいけない. NUTSは更新ステップ数を自動的に決定する手法である. 論文内でははdual-averaging (Nesterov 2009)を用いて決定するが,今回は決め打ちにする. 更新ステップ数L ハミルトニアンモンテカルロでは,正規分布によって発生させた運動量を与えて, ステップの間,点を動かす. 予め決められたステップの間,点を動かすので,例

    pythonでNUTSの実装 - やったことの説明
  • RPubs - ハミルトニアンモンテカルロ法

  • 【ベイズ統計】HMC(ハミルトニアン・モンテカルロ)法をRで理解する - カタカタブログ

    ベイズ統計に関する以下のを読んだ。 基礎からのベイズ統計学: ハミルトニアンモンテカルロ法による実践的入門 作者: 豊田秀樹出版社/メーカー: 朝倉書店発売日: 2015/06/25メディア: 単行この商品を含むブログ (5件) を見る こののゴールはHMC法(ハミルトニアン・モンテカルロ法)を習得することで、Rのサンプルコードも付いているのだが、理解を深めるためにRコードを実装しながらHMC法を動かしてみた。Rコードはサンプルコードの実装を読み解きながら、自分で理解しやすいようにときほぐすように実装してみた。 HMC法自体の解説はこの書籍の5章「ハミルトニアンモンテカルロ法」のほうに詳しく説明されているので、記事で は割愛。 リープフロッグ法 まずリープフロッグ法を実装する。 リープフロッグ法はある座標にいる物体に適当な運動量を加えて1ステップ移動させるという操作を 複数回の細か

    【ベイズ統計】HMC(ハミルトニアン・モンテカルロ)法をRで理解する - カタカタブログ
  • Hamiltonian Monte Carlo explained by Alex Rogozhnikov

    MCMC (Markov chain Monte Carlo) is a family of methods that are applied in computational physics and chemistry and also widely used in bayesian machine learning. It is used to simulate physical systems with Gibbs canonical distribution: $$ p(\vx) \propto \exp\left( - \frac{U(\vx)}{T} \right) $$ Probability `$ p(\vx) $` of a system to be in the state `$ \vx $` depends on the energy of the state `$U

    Hamiltonian Monte Carlo explained by Alex Rogozhnikov
  • 基礎からのベイズ統計学を読んでM-H法とHMC法を学ぶ - Qiita

    はじめに(なぜこれを選んだか) サンプリングは積分計算が難しい状況で採用される手法の一つですが、自分は昔からサンプリング系の手法がイマイチ理解できていません(例えばPRML§11とかよく分からない ┐(´ー`)┌ )。しかし、最近たまにサンプリング系の手法を使っている論文を読むことがあるので、基的なところから勉強しておくことにしました。 最近社畜業務で電車で揺られながら 基礎からのベイズ統計学 ハミルトニアンモンテカルロ法による実践的入門 というを読んでいたので、4章・5章で出てくるM-HサンプリングとHMC法をまとめたいと思います。中身はほぼの例題通りです。当は付録BあたりまでやってスライスサンプリングとNUTSまで行きたかったですが、仕事が爆発して時間が足りませんでした(後で追加でやっておくつもりです)。 あと以下のコードは整理したらgithubかbitbucketにでも上げて

    基礎からのベイズ統計学を読んでM-H法とHMC法を学ぶ - Qiita
  • 【統計学】ハミルトニアンモンテカルロ法をアニメーションで可視化して理解する。 - Qiita

    ハミルトニアンモンテカルロ法(HMC)の動作原理をアニメーションを用いて理解してみようという記事です。 先日の記事、「【統計学】マルコフ連鎖モンテカルロ法(MCMC)によるサンプリングをアニメーションで解説してみる。」の続編にあたります。 豊田先生の書籍「基礎からのベイズ統計学」の例題を使わせていただき、サンプリング対象の分布は今回ガンマ分布とします。記事ではアニメーションに使った部分の理論的な解説しかしませんので、HMCの詳細な解説はこちらの書籍をご参照いただければと思います。 はじめに 推定する対象は$\theta$を変数としたガンマ分布です。ベイズ推定で推定したいパラメーターを$\theta$で表すので、$\theta$の分布として表されます。1 ガンマ分布はこちらです。 $$ f(\theta|\alpha, \lambda) = {\lambda^{\alpha} \over

    【統計学】ハミルトニアンモンテカルロ法をアニメーションで可視化して理解する。 - Qiita
    Aobei
    Aobei 2016/03/14
  • Juliaで学ぶ Hamiltonian Monte Carlo (NUTS 入り)

    [DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...Deep Learning JP

    Juliaで学ぶ Hamiltonian Monte Carlo (NUTS 入り)
  • 1