ヤコビアンをわかりやすく解説【統計検定】|MCMCでの使用例

ヤコビアン

最初はなかなか理解が難しいかもしれませんが、MCMC法等の変数変換が必要な統計解析手法では必ず出てくる行列式です。

関連コンテンツはこちらをご覧ください。

【線形代数】固有値や固有ベクトルは機械学習にどう使われているのか|主成分分析

【python】行列式や逆行列は機械学習でどう使われるのか|線形代数の活用方法

ヤコビアンは、多変数ベクトル関数の局所的な線形近似を表す行列です。

具体的には、\(n\)次元のベクトル値関数\(f(X)\) に対して、そのヤコビ行列(またはヤコビアン行列)は、各成分の偏微分の行列として定義されます。

これは、ベクトル関数の変数の微小変化が出力にどのように影響するかを示しています。

数学的には、\( \mathbf{f}: \mathbb{R}^n \rightarrow \mathbb{R}^m \)のヤコビ行列は以下のように表されます。

$$\begin{equation}
J_{\mathbf{f}}(\mathbf{x})=\left[\begin{array}{ccc}
\frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\
\vdots & \ddots & \vdots \\
\frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n}
\end{array}\right]
\end{equation}$$

このヤコビ行列とその行列式ヤコビアンを使うことで何が嬉しいのか、考えていきましょう。

幾何学観点で説明

ちょっと面積を使った例で説明をしてみます。

先ほども申し上げましたが、ヤコビ行列は、多変数ベクトル関数の各成分の偏微分を要素とする行列です。

例えば、2変数関数\(\mathbf{f}(x,y)=(u,v)\)があり、その成分が以下で与えられているとしましょう。

$$u=ax+by$$

$$v=cx+dy$$

この関数のヤコビ行列は次のようになります

$$\begin{equation}
J=\left[\begin{array}{ll}
\frac{\partial u}{\partial x} & \frac{\partial u}{\partial y} \\
\frac{\partial v}{\partial x} & \frac{\partial v}{\partial y}
\end{array}\right]=\left[\begin{array}{ll}
a & b \\
c & d
\end{array}\right]
\end{equation}$$

これが、\(\mathbf{f}\)の最も良い線形近似を表します。

では、ヤコビ行列の行列式をとってヤコビアンにしてみましょう。

$$|J|=\left|\left[\begin{array}{ll}a & b \\ c & d \end{array}\right]\right|=a d-b c$$

これは、\((x,y)\)座標系から\((u,v)\)へ座標系への変換における面積要素のスケーリングを示します。

もっと具体的にいうと、微小な長方形領域\(dx×dy\)が変換後の座標系では\(|J|×du×dv\)の面積に相当するということです。

もう一つの例を見てみましょう

例えば、確率変数\(\mathbf{X}\)がある確率密度関数\(f_{\mathbf{x}}(x)\)をもち、\(\mathbf{Y}=g(\mathbf{X})\)という変換を行う場合を考えます。

ここで、\(g\)は微分が可能な関数とします。

このとき、変数\(\mathbf{Y}\)の確率密度関数\(f_{\mathbf{Y}}(y)\)はヤコビアンを用いて次のように表されます。

$$f_Y(y)=f_X\left(g^{-1}(y)\right) \cdot\left|\frac{d}{d y} g^{-1}(y)\right|$$

めちゃくちゃこの式が大事です。

\(|\frac{d}{d y} g^{-1}(y)|\):\(\mathbf{Y}\)における\(g\)の逆関数の導関数の絶対値です。

→つまりヤコビアンってことです。

ヤコビアンの幾何学的嬉しさは、座標変換が空間に与える局所的な伸縮や回転の効果を捉えられるということです。

例えば、積分においては、この伸縮効果を考慮することで、異なる座標系間で積分の等価性を保つことができます。

ヤコビアンが正の場合、座標系の向き(向き付け)は保持され、負の場合は反転します。

MCMC法とヤコビアンについて

MCMCは確率分布からのサンプリングに使用される一連のアルゴリズムです。

MCMC法については、以下のコンテンツで詳しく解説しております。

【完全ガイド】MCMC法についてわかりやすく解説|ベイズ推定

MCMCでは、複雑な事後分布から直接サンプリングすることが難しいため、より単純な分布に変換してからサンプリングを行います。

その後、ヤコビアンを用いて元の分布に戻します。

例えば、MCMCの一般的な手法であるメトロポリス・ヘイスティングスアルゴリズムでは、提案分布からサンプリングし、それを元の分布に変換する際にヤコビアンが必要になります。

以下のように、パラメータ\(\theta\)から\(\theta’\)への移動を考えてみます。

この移動、というか提案は提案分布\(q(\theta’|\theta)\)に基づいて行われます。

新しい状態\(\theta’\)は、ある受容確率\(α(\theta’|\theta)\)に基づいて、採択か棄却が決まります。

(上にご提示したMCMCについてのコンテンツでは、補正係数\(r\)としていますが、意味は同じです。)

この受容確率は以下のように定義されます

$$\alpha\left(\theta^{\prime} \mid \theta\right)=\min \left(1, \frac{P\left(\theta^{\prime}\right)q\left(\theta \mid \theta^{\prime}\right)}{P(\theta) q\left(\theta^{\prime} \mid \theta\right)}\right)$$

さて、変数(パラメータ)変換を行う場合、事後分布の形が変わるため、ヤコビアンを用いて調整する必要があります。

仮に、以下のような関係があったとします。

$$\theta=g(\theta’)$$

このとき、現在の事後分布\(P(\theta)\)は、\(\theta’\)の確率密度関数\(Q(\theta’)\)に変換されます。

ヤコビアン\(\mathbf{J}\)を用いて、次のように表されます。

$$Q(\theta’)=P(g(\theta’))・|\mathbf{J}(\theta’)|$$

さて、もう一踏ん張りです(汗)

MCMCにおいて変数変換を行う場合、変換後の確率密度関数と変換前の確率密度関数の間にはヤコビアンを通して関連があります。

$$Q(\theta’)=P\left(g^{-1}(\theta’)\right) \cdot\left|J_{g^{-1}}(\theta’)\right|$$

逆関数を使っています。

ここで、

\(g^{-1}\)は\(\theta’\)から\(\theta\)への逆変換関数です。

\(|J_{g^{-1}}(\theta’)|\)がこの逆変換関数のヤコビ行列の行列式、つまりヤコビアンです。

このようにヤコビアンは、提案分布と目標分布の間の確率密度の比を調整し、正しいサンプリングを実現するために用いられます。

これにより、元の問題を解決するための効率的なアルゴリズムの設計が可能になっているというわけです。

ヤコビアンを学ぶことでアルゴリズムの中身まで理解する第一歩になるでしょう。

他の変数変換については、こちらのコンテンツがおすすめです。

FOLLOW ME !