多変量ガウス分布に親しむ

はじめに  

一変数のガウス分布は図的に理解をしやすいですが
多変数になると行列が出てきて複雑になったような気がします。
式中に出てくる共分散行列と親しみましょう。

目次

  1. 多変量ガウス分布

  2. パラメータの数

  3. マハラノビス距離

多変量ガウス分布

行列やベクトルで複雑な式は書き下したり数日置きに見直すとはっと気づきがあったりします。 では平均 \boldsymbol{\mu}と共分散行列 \boldsymbol{\Sigma}に注目して式を見てみましょう。

 \displaystyle
\mathcal{N}(\boldsymbol{x}| \boldsymbol{\mu}, \boldsymbol{\Sigma})=\frac{1}{(2\pi)^{\frac{D}{2}}} \frac{1}{\left|\boldsymbol{\Sigma}\right|^{\frac{1}{2}}} \exp⁡( -\frac{1}{2} \left( \boldsymbol{x}-\boldsymbol{\mu} \right)^{\rm T} \boldsymbol{\Sigma}^{-1} \left(\boldsymbol{x}-\boldsymbol{\mu}\right) )



この分布には多くの行列やベクトルが含まれていますが 計算されて出てくるのはスカラの確率密度一点です。
主に認識しづらくしている要素は次の2つでしょう。

共分散行列の行列式

 d=\left|\boldsymbol{\Sigma}\right|

2次形式

 \Delta^2=\left( \boldsymbol{x}-\boldsymbol{\mu} \right)^{\rm T} \boldsymbol{\Sigma}^{-1} \left(\boldsymbol{x}-\boldsymbol{\mu}\right)


どちらの値もスカラですので見た目よりも複雑ではありません。

 \displaystyle
\mathcal{N}(\boldsymbol{x}| \boldsymbol{\mu}, \boldsymbol{\Sigma})=\frac{1}{(2\pi)^{\frac{D}{2}}} \frac{1}{d^{\frac{1}{2}}} \exp⁡( -\frac{1}{2} \Delta^2 )

パラメータ

共分散行列

3×3の共分散行列は {\rm Cov(x_i,x_j)}= {\rm Cov(x_j,x_i)}ですから対称行列になっています。

 \boldsymbol{\Sigma}=
\begin{pmatrix}
{\rm Cov(x_1,x_1)} & {\rm Cov(x_1,x_2)} & {\rm Cov(x_1,x_3)} \\
{\rm Cov(x_2,x_1)} & {\rm Cov(x_2,x_2)} & {\rm Cov(x_2,x_3)} \\
{\rm Cov(x_3,x_1)} & {\rm Cov(x_3,x_2)} & {\rm Cov(x_3,x_3)} \\
\end{pmatrix}

共分散行列は上三角行列分の自由なパラメータを持っていることがわかります。 上三角行列の要素の個数は右上から数えれば次のような数列になります。

 param=1+2+3+ \cdot \cdot \cdot + n = \dfrac{1}{2}n(n+1)



共分散行列によってどんな分布に変わるでしょうか。対角成分のみの共分散行列では値が小さいほうが狭い範囲に収まっています。

f:id:spd919:20220310220149p:plainf:id:spd919:20220310220244p:plain

 
\begin{align}
\boldsymbol{\Sigma}=\begin{pmatrix}
0.5 & 0  \\
0 & 0.5 \\
\end{pmatrix} & \qquad \qquad \qquad \qquad
\boldsymbol{\Sigma}=\begin{pmatrix}
1 & 0  \\
0 & 1 \\
\end{pmatrix}
\end{align}

f:id:spd919:20220310220232p:plain:w400:h300

 
\boldsymbol{\Sigma}=\begin{pmatrix}
1 & 0.8  \\
0.8 & 1 \\
\end{pmatrix}



対角以外で共分散の成分がある場合、正の相関があるように見えます。 片方が大きな値を取る場合、もう片方も大きな値を取る傾向があります。

マハラノビス距離

ガウス分布の2次形式をマハラノビス距離といいます。

 \Delta^2=\left( \boldsymbol{x}-\boldsymbol{\mu} \right)^{\rm T} \boldsymbol{\Sigma}^{-1} \left(\boldsymbol{x}-\boldsymbol{\mu}\right)


この距離が遠くなるほどガウス分布は指数的に減衰します。ユークリッド距離と比較します。

f:id:spd919:20220310230732p:plainf:id:spd919:20220310230737p:plain

 
\begin{align}
d^2=\left( \boldsymbol{x}-\boldsymbol{\mu} \right)^{\rm T} \left(\boldsymbol{x}-\boldsymbol{\mu}\right) & \qquad \qquad \qquad \qquad
\Delta^2=\left( \boldsymbol{x}-\boldsymbol{\mu} \right)^{\rm T} \boldsymbol{\Sigma}^{-1} \left(\boldsymbol{x}-\boldsymbol{\mu}\right)
\end{align}



マハラノビス距離は平均を中心に共分散行列の逆行列で等高線が歪んでいます。  p_1と平均 \boldsymbol{\mu}の位置は左のユークリッド距離と右のマハラノビス距離で同じ値ですが平均からの距離が異なります。

 
d(p_1)<\Delta(p_1)



おまけ

なお共分散行列の例の逆行列は上のマハラノビス距離の傾きと逆を取ります。

 
\boldsymbol{\Sigma}^{-1}=\begin{pmatrix}
1 & 0.8  \\
0.8 & 1 \\
\end{pmatrix}^{-1}=
\begin{pmatrix}
2.78 & -2.22  \\
-2.22 & 2.78 \\
\end{pmatrix}



PRMLでは共分散行列の逆行列を精度行列として定義し式変形を簡潔に表しています。

 
\Lambda \equiv \boldsymbol{\Sigma}^{-1}



参考文献

Pattern Recognition and Machine Learning