機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

サンプリング

【Python実装】ランダムウォークMH法

目標分布 目標分布をベータ分布とします。 ベータ分布の描画のためにライブラリを使います。MCMC時には正規化定数は計算しません。 # 目標分布 def p(x): if x < 0 or 1 < x: return 0 else: return (x ** (a - 1)) * ((1 - x) ** (b - 1)) # カーネルのみを…

ランダムウォークMH法

ランダムウォークMH法では候補の提案をとします。 ここでは平均の正規分布や、区間の一様分布など、対象な分布からの実現値です。 例えば、提案分布を正規分布とし、分散を固定すると、以下の等式が成り立ちます。ですので、一般的な書き方をすると次式です…

【Python実装】独立MH法

目標分布 目標分布をベータ分布とします。 ベータ分布の描画のためにライブラリを使います。MCMC時には正規化定数は計算しません。 # 目標分布 def p(x): if x < 0 or 1 < x: return 0 else: return (x ** (a - 1)) * ((1 - x) ** (b - 1)) # カーネルのみを…

独立MH法

通常のMH法の補正係数は以下の式でした。独立MH法では、提案分布の母数を固定します。 よって、独立MH法における補正係数は次式です。 偉人の名言 どうあろうと人生は常によいものだ。 老子 参考文献 基礎からのベイズ統計学 動画 記事作成前に作成した動画…

【Python実装】MH法

目標分布 目標分布をベータ分布とします。 ベータ分布の描画のためにライブラリを使います。MCMC時には正規化定数は計算しません。 # 目標分布 def p(x): return (x ** (a - 1)) * ((1 - x) ** (b - 1)) # カーネルのみを計算 提案分布 ベータ分布の定義域が…

メトロポリスヘイスティング法(MH法)

本記事では以下で「メトロポリスヘイスティング法」を「MH法」と表記します。 詳細釣り合い条件 マルコフ連鎖の記事で取り上げたのは遷移核が明らかな状態で定常分布を求める問題でした。 しかし、やりたいことは、事後分布が明らかな状態で、事後分布に従う…

【Python実装】遷移核

問題 毎日、同じメニューでは飽きるので、ランチメニューの変更が表の遷移核に従っているとする。 初日のラーメン、カレー、焼きそばの確率が0.3,0.2,0.5のとき、 10日目までのラーメン、カレー、焼きそばの確率を求めよ。 ソース #########################…

マルコフ連鎖

マルコフ連鎖 時間とともに変化する確率変数のことを確率過程といいます。時刻の時の確率変数をとすると、のように変化します。が従う確率分布は、です。がのみから決まる時、この確率過程をマルコフ連鎖といいます。 遷移核 毎日、同じメニューでは飽きるの…

逆関数法

逆関数法とは 逆関数法とは、累積分布関数の逆関数を用いて、標準一様分布に従う確率変数から、所望の分布に従う確率変数を生成させる方法です。 逆変換法とも言うようです。を生成させたい確率分布に従う確率変数とし、 をその累積分布関数とします。 が連…

モンテカルロ積分

モンテカルロ積分法 台形公式は低次元の積分には有効ですが、高次元ではうまくいかないことが多いようです。近似したい積分が、以下であるとします。が確率分布に従う時、大数の法則により近似解は次のように書けます。このように積分を乱数で代用する近似法…

積分近似 - 複合台形公式

台形公式 区間上の関数の積分を考えます。補間多項式の記事で求めた補間多項式を用いて、積分近似してみます。では以下のようにおきました。はによらない定数ですが、計算が大変なため、求めません。の近似のためのの計算式をニュートン・コーツの公式といい…

補間多項式

ルジャンドル多項式 関数に近い多項式を考えます。 区間のいくつかの点のの値から、多項式を補間して近似を行います。区間の中に個の点を取ります。 個の点ではとは一致します。補間多項式の構成には次のルジャンドル多項式が有用です。 補間多項式 ルジャン…

スライスサンプリング

スライスサンプリングは、分布の特徴に合わせて自動的に調整される適応的になステップサイズを利用する手法です。MH法の難点の一つはステップサイズに対して敏感であることです。 ステップサイズが小さすぎれば、サンプル点の移動が遅くなり、それに伴って定…

ギブスサンプリング

ギブスサンプリング ある確率分布からサンプリングしたいとします。からのサンプリングは困難だが、 からはサンプリングが容易であると仮定します。以下のように、個目の各変数を1つずつサンプリングする手法をギブスサンプリングといいます。 例: 2次元正規…

一様乱数

線形合同法 一様疑似乱数生成の古典的な手法に線形合同法があります。 事前に決める整数をもとに、として、を出力します。1970年代までよく使われていた疑似乱数法RANDUはとした線形合同法でした。 RANDU法からの出力を3次元立方体に配置すると、いくつかの2…

【Python実装】棄却サンプリング

本記事のアルゴリズムの記事はこちらです。目標分布を以下のベータ分布とします。正規化項は除きます。提案分布は一様分布とします。とします。 この時、を満たしています。 ############################### # 棄却サンプリング ##########################…

棄却サンプリング

本記事のPythonによる実装記事はこちらです。サンプリングする分布(事後分布)をを目標分布と言います。を満たす提案分布を選びます。 ただし、は乱数発生が容易な分布を選択する必要があります。以下の1~3を繰り返すことによりサンプリングします。1: に従…

【Python実装】モンテカルロ法

本記事のアルゴリズムの記事はこちらです。アルゴリズムが単純なので、ソースを貼り付けるだけにします。 ############################### # モンテカルロ法 ############################### import numpy as np import matplotlib.pyplot as plt # 乱数を…

モンテカルロ法

モンテカルロ法 本記事のPythonによる実装記事はこちらです。を数値的計算により求めてみましょう。以下の手順で求めます。 からまで一様乱数を使って点を発生させます。 その点が中心が原点で半径1の円の内部あるか判定します。点を100個発生させてみまし…

ハミルトニアンモンテカルロ法

ハミルトニアンモンテカルロ法の導入の理由 HMC法(ハミルトニアンモンテカルロ法)はMH法(メトロポリスヘイスティング法)と比べて圧倒的に受容率の高いサンプリング手法です。 低次元であればMH法でも使えますが、10次元ぐらいになると、受容率の低さ故使い物…

目次へ戻る