多次元正規分布における条件付き確率分布の数式の導出を理解する

多次元正規分布の直感的な理解については下記で取り扱いましたが、当記事ではその多次元分布において条件付き確率分布を考えます。
https://www.hello-statisticians.com/explain-terms-cat/multi_norm_dist1.html

「パターン認識と機械学習(PRML)」の上巻の$2.3.2$節の導出が比較的わかりやすいので、主にこちらを参考に確認を行いました。

また、$(\mathrm{o.xx})$の形式の式番号は「パターン認識と機械学習」の式番号に対応させました。

前提の確認

分割された行列の逆行列

下記のように分割された行列を考える。
$$
\begin{align}
\left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)
\end{align}
$$
上記において、それぞれ$\mathbf{A}$は$d$行$d$列、$\mathbf{B}$は$d$行$n-d$列、$\mathbf{C}$は$n-d$行$d$列、$\mathbf{D}$は$n-d$行$n-d$列の行列と考えるとする。この逆行列は$\mathbf{M} = (\mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1}$のように$\mathbf{M}$を定義したときに下記のように表すことができる。
$$
\begin{align}
\left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)^{-1} = \left(\begin{array}{cc} \mathbf{M} & -\mathbf{MBD}^{-1} \\ -\mathbf{D}^{-1}\mathbf{CM} & \mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{CMBD}^{-1} \end{array} \right) \quad (2.76)
\end{align}
$$
以下、上記の式が正しいことを確認する。

$\displaystyle \left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)^{-1}\left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)$が単位行列になることを示せば良い。
$$
\begin{align}
& \left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)^{-1} \left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right) = \left(\begin{array}{cc} \mathbf{M} & -\mathbf{MBD}^{-1} \\ -\mathbf{D}^{-1}\mathbf{CM} & \mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{CMBD}^{-1} \end{array} \right) \left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right) \\
&= \left(\begin{array}{cc} \mathbf{M}\mathbf{A}-\mathbf{MBD}^{-1}\mathbf{C} & \mathbf{MB}-\mathbf{MBD}^{-1}\mathbf{D} \\ -\mathbf{D}^{-1}\mathbf{CMA}+\mathbf{D}^{-1}\mathbf{C}+\mathbf{D}^{-1}\mathbf{CMBD}^{-1}\mathbf{C} & -\mathbf{D}^{-1}\mathbf{CMB}+\mathbf{D}^{-1}\mathbf{D}+\mathbf{D}^{-1}\mathbf{CMBD}^{-1}\mathbf{D} \end{array} \right) \\
&= \left(\begin{array}{cc} \mathbf{M}(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C}) & \mathbf{MB}-\mathbf{MB} \\ -\mathbf{D}^{-1}\mathbf{CM}(\mathbf{A}-\mathbf{BD}^{-1}\mathbf{C})+\mathbf{D}^{-1}\mathbf{C} & -\mathbf{D}^{-1}\mathbf{CMB}+\mathbf{D}^{-1}\mathbf{D}+\mathbf{D}^{-1}\mathbf{CMB} \end{array} \right) \\
&= \left(\begin{array}{cc} \mathbf{M}\mathbf{M}^{-1} & \mathbf{O} \\ -\mathbf{D}^{-1}\mathbf{C}+\mathbf{D}^{-1}\mathbf{C} & +\mathbf{D}^{-1}\mathbf{D} \end{array} \right) \\
&= \left(\begin{array}{cc} \mathbf{M}\mathbf{M}^{-1} & \mathbf{O} \\ \mathbf{O} & +\mathbf{D}^{-1}\mathbf{D} \end{array} \right)
\end{align}
$$

上記より、$\displaystyle \left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)^{-1} \left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)$が単位行列であることを確認できるため、下記が成立する。
$$
\begin{align}
\left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)^{-1} = \left(\begin{array}{cc} \mathbf{M} & -\mathbf{MBD}^{-1} \\ -\mathbf{D}^{-1}\mathbf{CM} & \mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{CMBD}^{-1} \end{array} \right)
\end{align}
$$

分散共分散行列の分割

$\mathbf{x}, \mathbf{\mu}$を$n$次元ベクトル、$\mathbf{\Sigma}$を$n$行$n$列の対称行列であると考え、このときのベクトル・行列の分割を行うことを考える。まずは$\mathbf{x}, \mathbf{\mu}, \mathbf{\Sigma}$についてそれぞれ確認する。
$$
\begin{align}
\mathbf{x} &= \left(\begin{array}{c} x_1 \\ x_2 \\ … \\ x_n \end{array} \right) \\
\mathbf{\mu} &= \left(\begin{array}{c} \mu_1 \\ \mu_2 \\ … \\ \mu_n \end{array} \right) \\
\mathbf{\Sigma} &= \left(\begin{array}{c} \Sigma_{1,1} & … & \Sigma_{1,n} \\ … & … & … \\ \Sigma_{n,1} & … & \Sigma_{n,n} \end{array} \right)
\end{align}
$$

次にそれぞれの分割について考える。$n$次元を$d$次元と$n-d$次元に分割することを考え、$d$次元に添字$a$、$n-d$次元に添字$b$を対応させ、以下では分割を行う。

$\mathbf{x}$は下記のように分割する。
$$
\begin{align}
\mathbf{x} &= \left(\begin{array}{c} x_1 \\ x_2 \\ … \\ x_d \\ x_{d+1} \\ … \\ x_n \end{array} \right) , \quad \mathbf{x}_a = \left(\begin{array}{c} x_1 \\ x_2 \\ … \\ x_d \end{array} \right) , \quad \mathbf{x}_b = \left(\begin{array}{c} x_{d+1} \\ … \\ x_n \end{array} \right)
\end{align}
$$

同様に$\mathbf{\mu}$は下記のように分割する。
$$
\begin{align}
\mathbf{\mu} &= \left(\begin{array}{c} \mu_1 \\ \mu_2 \\ … \\ \mu_d \\ \mu_{d+1} \\ … \\ \mu_n \end{array} \right) , \quad \mathbf{\mu}_a = \left(\begin{array}{c} \mu_1 \\ \mu_2 \\ … \\ \mu_d \end{array} \right) , \quad \mathbf{\mu}_b = \left(\begin{array}{c} \mu_{d+1} \\ … \\ \mu_n \end{array} \right)
\end{align}
$$

$\mathbf{\Sigma}$は下記のように分割する。
$$
\begin{align}
\mathbf{\Sigma} &= \left(\begin{array}{cccccc} \Sigma_{1,1} & … & \Sigma_{1,d} & \Sigma_{1,d+1} & … & \Sigma_{1,n} \\ … & … & … & … & … & … \\ \Sigma_{d,1} & … & \Sigma_{d,d} & \Sigma_{d,d+1} & … & \Sigma_{d,n} \\ \Sigma_{d+1,1} & … & \Sigma_{d+1,d} & \Sigma_{d+1,d+1} & … & \Sigma_{d+1,n} \\ … & … & … & … & … & … \\ \Sigma_{d,1} & … & \Sigma_{d,d} & \Sigma_{d,d+1} & … & \Sigma_{d,n} \end{array} \right) \\
\mathbf{\Sigma}_{aa} &= \left(\begin{array}{ccc} \Sigma_{1,1} & … & \Sigma_{1,d} \\ … & … & … \\ \Sigma_{d,1} & … & \Sigma_{d,d} \end{array} \right) , \quad \mathbf{\Sigma}_{ab} = \left(\begin{array}{ccc} \Sigma_{1,d+1} & … & \Sigma_{1,n} \\ … & … & … \\ \Sigma_{d,d+1} & … & \Sigma_{d,n} \end{array} \right) \\
\mathbf{\Sigma}_{ba} &= \left(\begin{array}{ccc} \Sigma_{d+1,1} & … & \Sigma_{d+1,d} \\ … & … & … \\ \Sigma_{n,1} & … & \Sigma_{n,d} \end{array} \right) , \quad \mathbf{\Sigma}_{bb} = \left(\begin{array}{ccc} \Sigma_{d+1,d+1} & … & \Sigma_{d+1,n} \\ … & … & … \\ \Sigma_{n,d+1} & … & \Sigma_{n,n} \end{array} \right)
\end{align}
$$
ここで$\mathbf{\Sigma}$が対称行列であることから、$\mathbf{\Sigma}_{aa}, \mathbf{\Sigma}_{bb}$も対称行列であり、かつ、$\mathbf{\Sigma}_{ab}^{\mathrm{T}}=\mathbf{\Sigma}_{ba}$が成立する。

精度行列(precision matrix)

多次元正規分布の計算では分散共分散行列の逆行列を文字でおく方がシンプルになるので、$\mathbf{\Lambda} \equiv \mathbf{\Sigma}^{-1}$となるように精度行列(precision matrix)の$\mathbf{\Lambda}$の定義を行う。

ここで$\mathbf{\Lambda}$の分割は$\mathbf{\Sigma}$と同様に下記のように表すことができる。
$$
\begin{align}
\mathbf{\Lambda} = \left(\begin{array}{cc} \mathbf{\Lambda}_{aa} & \mathbf{\Lambda}_{ab} \\ \mathbf{\Lambda}_{ba} & \mathbf{\Lambda}_{bb} \end{array} \right) = \left(\begin{array}{cc} \mathbf{\Sigma}_{aa} & \mathbf{\Sigma}_{ab} \\ \mathbf{\Sigma}_{ba} & \mathbf{\Sigma}_{bb} \end{array} \right)^{-1} \quad (2.78)
\end{align}
$$

このように$\mathbf{\Lambda}$を定義したとき、「分割された行列の逆行列」で取り扱った下記の式を元に$\mathbf{\Lambda}$について考える。
$$
\begin{align}
\left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{array} \right)^{-1} &= \left(\begin{array}{cc} \mathbf{M} & -\mathbf{MBD}^{-1} \\ -\mathbf{D}^{-1}\mathbf{CM} & \mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{CMBD}^{-1} \end{array} \right) \quad (2.76) \\
\mathbf{M} &= (\mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1} \quad (2.77)
\end{align}
$$

上記を元に$\mathbf{\Lambda}_{aa}$と$\mathbf{\Lambda}_{ab}$について求めると下記のようになる。
$$
\begin{align}
\mathbf{\Lambda}_{aa} &= (\mathbf{\Sigma}_{aa}-\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}\mathbf{\Sigma}_{ba})^{-1} \quad (2.79) \\
\mathbf{\Lambda}_{ab} &= -(\mathbf{\Sigma}_{aa}-\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}\mathbf{\sigma}_{ba})^{-1}\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1} \quad (2.80)
\end{align}
$$

多次元正規分布の条件付き確率分布の導出

二次形式と展開・平方完成

https://www.hello-statisticians.com/explain-terms-cat/multi_norm_dist1.html
上記でも取り扱った$\displaystyle \Delta^2 = (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mathbf{\mu})$の展開や平方完成について考える。

$\displaystyle \Delta^2 = (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mathbf{\mu})$を展開すると下記のようになる。
$$
\large
\begin{align}
\Delta^2 &= (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mathbf{\mu}) \\
&= \mathbf{x}^{\mathrm{T}} \Sigma^{-1} \mathbf{x} – 2 \mathbf{x}^{\mathrm{T}} \Sigma^{-1} \mathbf{\mu} + \mathrm{Const.} \quad (1)
\end{align}
$$

上記の変形にあたっては、下記の二点に基づいた変形を行なったことは注意しておきたい。
・確率変数に対応する$\mathbf{x}$以外の項を$\mathrm{Const.}$でまとめた
・$\Sigma^{-1}$が対称であるので、$\mathbf{\mu}^{\mathrm{T}} \Sigma^{-1} \mathbf{x}=\mathbf{x}^{\mathrm{T}} \Sigma^{-1} \mathbf{\mu}$が成立することを利用した

多次元正規分布について考えるにあたっては、$\exp$の中の$\mathbf{x}$の平方完成について着目し論理展開を行うため、ここで取り扱ったような二次形式の展開やその逆演算である平方完成については抑えておくとよい。

同時確率分布$P(\mathbf{x}_a,\mathbf{x}_b)$と条件付き確率分布$P(\mathbf{x}_a|\mathbf{x}_b)$

多次元正規分布を考えた際の、同時確率分布$P(\mathbf{x}_a,\mathbf{x}_b)$と条件付き確率分布$P(\mathbf{x}_a|\mathbf{x}_b)$について確認する。前項で取り扱った$\displaystyle \Delta^2 = (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mathbf{\mu})$を考えるにあたって、$\mathbf{x}, \mathbf{\mu}, \mathbf{\Sigma}$を分割表記して展開を行う。
$$
\large
\begin{align}
\Delta^2 &= (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mathbf{\mu}) \\
&= (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \mathbf{\Lambda} (\mathbf{x}-\mathbf{\mu}) \\
&= \left(\begin{array}{cc} (\mathbf{x}_a-\mathbf{\mu}_a)^{\mathrm{T}} & (\mathbf{x}_b-\mathbf{\mu}_b)^{\mathrm{T}} \end{array} \right) \left(\begin{array}{cc} \mathbf{\Lambda}_{aa} & \mathbf{\Lambda}_{ab} \\ \mathbf{\Lambda}_{ba} & \mathbf{\Lambda}_{bb} \end{array} \right) \left(\begin{array}{c} \mathbf{x}_a-\mathbf{\mu}_a \\ \mathbf{x}_b-\mathbf{\mu}_b \end{array} \right) \\
&= \left(\begin{array}{cc} (\mathbf{x}_a-\mathbf{\mu}_a)^{\mathrm{T}} & (\mathbf{x}_b-\mathbf{\mu}_b)^{\mathrm{T}} \end{array} \right) \left(\begin{array}{c} \mathbf{\Lambda}_{aa}(\mathbf{x}_a-\mathbf{\mu}_a)+\mathbf{\Lambda}_{ab}(\mathbf{x}_b-\mathbf{\mu}_b) \\ \mathbf{\Lambda}_{ba}(\mathbf{x}_a-\mathbf{\mu}_a)+\mathbf{\Lambda}_{bb}(\mathbf{x}_b-\mathbf{\mu}_b) \end{array} \right) \\
&= (\mathbf{x}_a-\mathbf{\mu}_a)^{\mathrm{T}}\mathbf{\Lambda}_{aa}(\mathbf{x}_a-\mathbf{\mu}_a) + (\mathbf{x}_a-\mathbf{\mu}_a)^{\mathrm{T}}\mathbf{\Lambda}_{ab}(\mathbf{x}_b-\mathbf{\mu}_b) \\
& \qquad + (\mathbf{x}_b-\mathbf{\mu}_b)^{\mathrm{T}}\mathbf{\Lambda}_{ba}(\mathbf{x}_a-\mathbf{\mu}_a) + (\mathbf{x}_b-\mathbf{\mu}_b)^{\mathrm{T}}\mathbf{\Lambda}_{bb}(\mathbf{x}_b-\mathbf{\mu}_b) \quad (2)
\end{align}
$$
上記は$\mathbf{x}_a$の二次形式であるので、条件付き確率分布$P(\mathbf{x}_a|\mathbf{x}_b)$は正規分布となる。

条件付き確率分布$P(\mathbf{x}_a|\mathbf{x}_b)$の平均$\mathbf{\mu}_{a|b}$と共分散行列$\mathbf{\Sigma}_{a|b}$

以下、$(1)$式、$(2)$式などを元に、条件付き確率分布$P(\mathbf{x}_a|\mathbf{x}_b)$の平均ベクトル$\mathbf{\mu}_{a|b}$と分散共分散行列$\mathbf{\Sigma}_{a|b}$について導出を行う。

$\mathbf{x}_a$の二次の項に着目すると、$(2)$式より下記が得られる。
$$
\large
\begin{align}
\mathbf{x}_a^{\mathrm{T}}\mathbf{\Lambda}_{aa}\mathbf{x}_a
\end{align}
$$
上記を$(1)$式と見比べることで、$\mathbf{\Sigma}_{a|b}=\mathbf{\Lambda}_{aa}^{-1}$を導出することができる。

次に$\mathbf{x}_a$の一次の項に着目すると、$(2)$式より下記が得られる。
$$
\large
\begin{align}
-2\mathbf{x}_a^{\mathrm{T}}(\mathbf{\Lambda}_{aa}\mathbf{\mu}_{a} – \mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b}))
\end{align}
$$

上記を$(1)$式と見比べることで、下記を導出することができる。
$$
\large
\begin{align}
\mathbf{\mu}_{a|b} &= \mathbf{\Sigma}_{a|b}(\mathbf{\Lambda}_{aa}\mathbf{\mu}_{a} – \mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b})) \\
&= \mathbf{\Lambda}_{aa}^{-1}(\mathbf{\Lambda}_{aa}\mathbf{\mu}_{a} – \mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b})) \\
&= (\mathbf{\mu}_{a} – \mathbf{\Lambda}_{aa}^{-1}\mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b}))\end{align}
$$

「精度行列」で求めた$\mathbf{\Lambda}_{aa}, \mathbf{\Lambda}_{ab}$を用いると、$\mathbf{\mu}_{a|b}, \mathbf{\Sigma}_{a|b}$は下記のように導出することができる。
$$
\large
\begin{align}
\mathbf{\mu}_{a|b} &= (\mathbf{\mu}_{a} + \mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}(\mathbf{x}_{b}-\mathbf{\mu}_{b})) \quad (2.81) \\
\mathbf{\Sigma}_{a|b} &= \mathbf{\Sigma}_{aa}-\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}\mathbf{\Sigma}_{ba} \quad (2.82)
\end{align}
$$

また、$a$と$b$の位置を入れ替えた$\mathbf{x}’, \mu’, \mathbf{\Sigma}’$はそれぞれ下記のように表せる。
$$
\large
\begin{align}
\mathbf{x}’ &= \left( \begin{array}{c} \mathbf{x}_b \\ \mathbf{x}_a \end{array} \right) \\
\mu’ &= \left( \begin{array}{c} \mu_b \\ \mu_a \end{array} \right) \\
\mathbf{\Sigma}’ &= \left( \begin{array}{c} \mathbf{\Sigma}_{bb} & \mathbf{\Sigma}_{ba} \\ \mathbf{\Sigma}_{ab} & \mathbf{\Sigma}_{aa} \end{array} \right)
\end{align}
$$

この$\mathbf{x}’, \mu’, \mathbf{\Sigma}’$に関して$\mathbf{\mu}’_{b|a}, \mathbf{\Sigma}’_{b|a}$、は$(2.81),(2.82)$式より下記のように計算できる。
$$
\large
\begin{align}
\mathbf{\mu}’_{b|a} &= (\mathbf{\mu}_{a} + \mathbf{\Sigma}_{ba}\mathbf{\Sigma}_{aa}^{-1}(\mathbf{x}_{a}-\mathbf{\mu}_{a})) \\
\mathbf{\Sigma}’_{b|a} &= \mathbf{\Sigma}_{bb}-\mathbf{\Sigma}_{ba}\mathbf{\Sigma}_{aa}^{-1}\mathbf{\Sigma}_{ab}
\end{align}
$$

ここで$\mathbf{\mu}’_{b|a}=\mathbf{\mu}_{b|a}, \mathbf{\Sigma}’_{b|a}=\mathbf{\Sigma}_{b|a}$が成立するので下記が成立する。
$$
\large
\begin{align}
\mathbf{\mu}_{b|a} &= (\mathbf{\mu}_{a} + \mathbf{\Sigma}_{ba}\mathbf{\Sigma}_{aa}^{-1}(\mathbf{x}_{a}-\mathbf{\mu}_{a})) \quad (2.81)’ \\
\mathbf{\Sigma}_{b|a} &= \mathbf{\Sigma}_{bb}-\mathbf{\Sigma}_{ba}\mathbf{\Sigma}_{aa}^{-1}\mathbf{\Sigma}_{ab} \quad (2.82)’
\end{align}
$$

まとめ

分割された行列の逆行列の計算がなかなか複雑なので、本論とは別途で抑えておくのが良さそうでした。

「多次元正規分布における条件付き確率分布の数式の導出を理解する」への4件のフィードバック

コメントは受け付けていません。