勉強 数学 機械学習/AI

マハラノビス距離ってなに?多次元のガウス分布(正規分布)の座標変換で分かるその本質【深奥】

この記事のポイント

多次元のガウス分布をどのように見たらいいのか

多次元のガウス分布の定義式に登場するマハラノビス距離ってなんなのか

変数変換して扱いやすくするには?

というところがこの記事の内容である。

ガウス分布も機械学習、統計を学ぶ上で避けては通れないビックな項目なのでゆっくりとやっていこう。

 

この記事では主に一次元のガウス分布の性質について触れている。

一次元ガウス分布徹底解説~いろんな性質とその証明、不偏推定量~

  この記事では、ガウス分布というデータ解析の基本となる確率分布を解説していく。 実は、ガウス分布は自然界にもたくさん出てくるので、それを理解することで現象をより深く理解することができるのだ ...

続きを見る

ただ、僕も勉強中の身なので、何か間違いなどがあればコメント等で教えてほしい。

ガウス分布とは

ガウス分布正規分布とも呼ばれ、連続変数の分布のモデルとして広く利用されている。

まずはガウス分布の定義から確認しよう。

【定義】ガウス分布

一次元ガウス分布

$$
\mathcal{N}\left(x \mid \mu, \sigma^2\right)=\frac{1}{\left(2 \pi \sigma^2\right)^{1 / 2}} \exp \left\{-\frac{1}{2 \sigma^2}(x-\mu)^2\right\}
$$

ただし、\(\mu\)は平均で、\(\sigma^2\)は分散である。

D次元ガウス分布

$$
\mathcal{N}(\mathbf{x} \mid \boldsymbol{\mu}, \boldsymbol{\Sigma})=\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \exp \left\{-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{\mu})\right\}
$$

ただし、\(\mathbf{x}\)はデータ点、\(\boldsymbol{\mu}\)は平均値、\(\boldsymbol{\Sigma}\)は\(D \times D\)の共分散行列を表している。

というのがガウス分布の定義であったが、一次元の場合と多次元の場合の定義式を見比べると、一次元の指数部分には\((x-\mu)^2\)という部分があってこれはデータ点と平均(正規分布の中心)の距離と解釈することができるが、

多次元の場合、\((\mathbf{x}-\boldsymbol{\mu})^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{\mu})\)というものになっている。

この二次形式はマハラノビス距離と言われ、これがガウス分布の定義として採用されている。

マハラノビス距離とは

マハラノビス距離とはその名の通り、距離を表す方法の一つ

そもそも我々が距離を使いたい理由に、サンプル同士がどれくらい似ているのか知りたいというものがある。

 

我々が普段使用する距離とはユークリッド距離である。しかしユークリッド距離ではデータのばらつきを考慮できないというデメリットがある。

灰色の点のようにプロットできる二次元のデータ集合があったときに、重心(平均)の座標が緑の座標になるときにそこからAとBの距離を求めたい場合、それらの距離は同じものになるが、図を見てみると点Aは集団に属していると言えそうだが、点Bは集団に属しているとは直感的に言え無そうである。

このようになってしまう理由はこのデータ集合に相関関係があるからで、そのような場合、ユークリッド距離では正確に判断できない。

 

そのような場合にはマハラノビス距離を用いるのが有効である。

マハラノビス距離とは、多変数間の相関を取り入れて、既知のサンプルとの関係を明らかにする距離のことである。

 

 

マハラノビス距離の定義は

【定義】マハラノビス距離

\(\mu\)から\(x\)までのマハラノビス距離は

$$ \Delta^2=(\mathbf{x}-\boldsymbol{\mu})^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{\mu}) $$

\(\mathbf{x}\)はデータ点、\(\boldsymbol{\mu}\)は平均値、\(\boldsymbol{\Sigma}\)は共分散行列を表している。

となっている。\(\boldsymbol{\Sigma}\)が単位行列ならば、それはユークリッド距離と同じで、このマハラノビス距離が一定となる面ではガウス分布の密度は一定になる。

 

ガウス分布の座標系の変換

多次元のガウス分布はこのままでは扱いづらいので、ここからは座標系を変換して理解・計算しやすいようにすることを考える。

前提

ここから行列に関する操作が多くなるので、まずは線形代数学の確認から

直交行列の概要

直交行列とは、その名の通り直交性をもつ行列のことである。直交性とは、異なるベクトル間で内積をとった結果が0になる性質を言う。つまり、直交行列の各行(または各列)ベクトルは、互いに直交する。

【定義】直交行列

直交行列\( \mathbf{U} \)に対して、

$$ \mathbf{U} \mathbf{U}^{\mathrm{T}}=\mathbf{U}^{\mathrm{T}} \mathbf{U}=\mathbf{I} $$

となる。ここで、\( \mathbf{U}^{\mathrm{T}} \)は転置行列、\( \mathbf{I} \)は単位行列を表す。

転置行列とは、元の行列の行と列を入れ替えた行列のことで、例えば元の行列が\( a_{ij} \)(i行j列目の要素)ならば、転置行列は\( a_{ji} \)となる。単位行列は対角成分がすべて1で、それ以外の成分がすべて0の行列で、どんな行列\( \mathbf{A} \)に対しても\( \mathbf{A} \mathbf{I} = \mathbf{A} \)となる。

さて、直交行列もつ特性として、その逆行列が転置行列に等しいという性質がある。

直交行列の性質

$$ \mathbf{U}^{-1}=\mathbf{U}^{\mathrm{T}} $$

逆行列とは、元の行列\( \mathbf{A} \)と掛け合わせると単位行列\( \mathbf{I} \)になるような行列\( \mathbf{A}^{-1} \)のことである。つまり\( \mathbf{A} \mathbf{A}^{-1} = \mathbf{A}^{-1} \mathbf{A} = \mathbf{I} \)となる。

この性質はここからの議論で重要なものなので覚えておいてほしい。

 

直交行列と固有値,固有ベクトルの関係

直交行列と固有値、固有ベクトルには切っても切れない関係があって、それは任意の対称行列に対し以下の性質があるからである。

対称行列の性質

任意の実対称行列に対して

  • 固有値は実数である。
  • 異なる固有値に対応する固有ベクトルは直交する。

つまり、あとは固有ベクトルの大きさが1になるように調整するだけで直交行列を作成することができる。

 

さてここで、D次元の空間における共分散行列\( \Sigma \)は実対称行列とみなすことができる。

証明

任意の行列\(\mathbf{M}\)は、対称行列\(\mathbf{S}\)と反対称行列\(\mathbf{A}\)を用いて

$$
\mathbf{M}=\mathbf{S}+\mathbf{A}
$$

と表すことができる。(これは簡単に証明できる。)\(\left(\mathbf{S}=\mathbf{S}^{\mathbf{t}}, \mathbf{A}=-\mathbf{A}^{\mathbf{t}}\right)\)

$$
\begin{aligned}
& s_{i j}=s_{j i} \\
& a_{i j}=-a_{j i}
\end{aligned}
$$

よって

$$
\begin{aligned}
& m_{i j}=s_{i j}+a_{i j} \\
& m_{j i}=s_{j i}+a_{j i}=s_{i j}-a_{i j}
\end{aligned}
$$

上記二式の辺々の加法と減法により

$$
\begin{aligned}
& s_{i j}=\left(m_{i j}+m_{j i}\right) / 2 \\
& a_{i j}=\left(m_{i j}-m_{j i}\right) / 2
\end{aligned}
$$

よって\(\mathbf{M}=\mathbf{\Sigma}^{-\mathbf{1}}\)とすると、マハラノビス距離は

$$
(\mathbf{x}-\boldsymbol{\mu})^{\top} \mathbf{M}(\mathbf{x}-\boldsymbol{\mu})=\sum_{i=1}^D \sum_{j=1}^D\left(x_i-\mu_i\right) m_{i j}\left(x_j-\mu_j\right)
$$

と表せる。

\(x_i-\mu_i=y_i\)とおき、上記の二次形式を展開した式に代入すると

$$
\begin{aligned}
\sum_{i=1}^D \sum_{j=1}^D y_i\left(s_{i j}+a_{i j}\right) y_j & =\sum_{i=1}^D \sum_{j=1}^D\left(y_i y_j s_{i j}+y_i y_i a_{i j}\right) \\
& =\sum_{i=1}^D \sum_{j=1}^D y_i y_j s_{i j}+\sum_{i=1}^D \sum_{j=1}^D y_i y_j\left(\frac{m_{i j}-m_{j i}}{2}\right) \\
& =(\mathbf{x}-\boldsymbol{\mu})^{\top} \mathbf{S}(\mathbf{x}-\boldsymbol{\mu})+\frac{1}{2}\left[\sum_{i=1}^D \sum_{j=1}^D y_i y_j m_{i j}-\sum_{i=1}^D \sum_{j=1}^D y_j y_i m_{j i}\right] \\
& =(\mathbf{x}-\boldsymbol{\mu})^{\top} \mathbf{S}(\mathbf{x}-\boldsymbol{\mu})
\end{aligned}
$$

よって示せた。

三行目の右辺二項目の係数1/2の項の計算について

$$
\frac{1}{2}\left[\sum_{i=1}^D \sum_{j=1}^D y_i y_j m_{i j}-\sum_{i=1}^D \sum_{j=1}^D y_j y_i m_{j i}\right] $$

\(m_{i j}-m_{j i}\)は\(s_{i j}+a_{i j}-\left(s_{j i}+a_{j i}\right)=a_{i j}-a_{j i}\)となる。そして\(a_{i j}\)と\(a_{j i}\)は反対称行列の性質から\(a_{i j}-a_{j i}=2 a_{i j}\)となる。

よってこの項は

$$
\frac{1}{2}\left[\sum_{i=1}^D \sum_{j=1}^D y_i y_j 2 a_{i j}\right]=\sum_{i=1}^D \sum_{j=1}^D y_i y_j a_{i j}
$$

これらは二次形式の形で、\(y_i y_j\)の係数が\(a_{i j}\)であるから、これは\(y_i y_j\)と\(y_j y_i\)の差を表している。そして、これらは\(y_i y_j=y_j y_i\)となるから、この差は0となる

 

よって、共分散行列\( \Sigma \)のD個の固有ベクトルを考えると、\(i\)番目の大きさ1の固有ベクトル\(u_i\)は下記のように表せる。

$$
\begin{aligned}
\mathbf{u}_i=\left(\begin{array}{c}
u_{i 1} \\
\vdots \\
u_{i D}
\end{array}\right)\\
&\begin{array}{rlr}
\mathbf{u}_i^{\mathrm{T}} \mathbf{u}_j & =1 & (i=j) \\
& =0 & (i \neq j)
\end{array}
\end{aligned}
$$

\(\mathbf{u}_i^T\)を\(i\)行目とする行列\(\mathbf{U}\)を考えると、\(\mathbf{U}\)の要素は下記のようになる。

$$
\begin{aligned}
\mathbf{U} & =\left(\begin{array}{c}
\mathbf{u}_1^{\mathrm{T}} \\
\vdots \\
\mathbf{u}_D^{\mathrm{T}}
\end{array}\right) \\
& =\left(\begin{array}{ccc}
u_{11} & \ldots & u_{1 D} \\
\ldots & \ldots & \ldots \\
u_{D 1} & \ldots & u_{D D}
\end{array}\right)
\end{aligned}
$$

\(\mathbf{U}\)はこれまでの確認より直交行列なので、下記が成立する。

$$
\mathbf{U} \mathbf{U}^{\mathrm{T}}=\mathbf{U}^{\mathrm{T}} \mathbf{U}=\mathbf{I}
$$

 

基底の変換

簡単な例を用いて確認する。例えば二次元のベクトル空間の規定を以下の標準基底から

$$
\begin{aligned}
\mathbf{e}_1  =\left(\begin{array}{l}
1 \\
0
\end{array}\right) ,
\mathbf{e}_2  =\left(\begin{array}{l}
0 \\
1
\end{array}\right)
\end{aligned}
$$

以下の規定に変換するとする。

$$
\begin{aligned}
\mathbf{a}_1=\left(\begin{array}{l}
2 \\
1
\end{array}\right) ,
\mathbf{a}_2=\left(\begin{array}{l}
1 \\
2
\end{array}\right)
\end{aligned}
$$

これらが線形独立であることは明らか。このとき、

$$
\begin{aligned}
\left(\begin{array}{l}
x \\
y
\end{array}\right) & =x \mathbf{e}_1+y \mathbf{e}_2 \\
& =X \mathbf{a}_1+Y \mathbf{a}_2
\end{aligned}
$$

上式のようにそれぞれの基底に対応する\(\left(\begin{array}{l}x \\ y\end{array}\right)\)と\(\left(\begin{array}{l}X \\ Y\end{array}\right)\)を用いて基底を変換することを考える。

$$
\begin{aligned}
\mathbf{a}_1 & =\left(\begin{array}{l}
2 \\
1
\end{array}\right) \\
& =2 \mathbf{e}_1+\mathbf{e}_2 \\
\mathbf{a}_2 & =\left(\begin{array}{l}
1 \\
2
\end{array}\right) \\
& =\mathbf{e}_1+2 \mathbf{e}_2
\end{aligned}
$$

と書けるので、これを\(X \mathbf{a}_1+Y \mathbf{a}_2\)に代入して

$$
\begin{aligned}
\left(\begin{array}{l}
x \\
y
\end{array}\right) & =X \mathbf{a}_1+Y \mathbf{a}_2 \\
& =X\left(2 \mathbf{e}_1+\mathbf{e}_2\right)+Y\left(\mathbf{e}_1+2 \mathbf{e}_2\right) \\
& =(2 X+Y) \mathbf{e}_1+(X+2 Y) \mathbf{e}_2 \\
& =\left(\begin{array}{c}
2 X+Y \\
X+2 Y
\end{array}\right) \\
& =\left(\begin{array}{ll}
2 & 1 \\
1 & 2
\end{array}\right)\left(\begin{array}{l}
X \\
Y
\end{array}\right)
\end{aligned}
$$

よって基底を\(a_1\),\(a_2\)から\(e_1\),\(e_2\)に取り換える変換行列が

$$
\left(\begin{array}{l}
x \\
y
\end{array}\right)=\left(\begin{array}{ll}
2 & 1 \\
1 & 2
\end{array}\right)\left(\begin{array}{l}
X \\
Y
\end{array}\right)
$$

逆に\(e_1\),\(e_2\)から\(a_1\),\(a_2\)に取り換える変換行列は

$$
\left(\begin{array}{l}
X \\
Y
\end{array}\right)=\left(\begin{array}{ll}
2 & 1 \\
1 & 2
\end{array}\right)^{-1}\left(\begin{array}{l}
x \\
y
\end{array}\right)
$$

と表せる。

\(e_1\),\(e_2\)はx軸,y軸をそのまま使うことと同様で、基本的には後者の基底の変換行列を使うことが多い。つまりは逆行列を計算する必要が生じる。

これはコレスキー分解などを用いて有限回の計算で数値計算をすることはできるが、それよりも直交行列を用いて基底の変換を行うことを考えれば直交行列の性質より逆行列と行列の転置が一致するので簡単に計算を行うことができ処理がシンプルになる。

 

実際に計算

D次元の正規分布はこのように表すことができるのであった。

D次元ガウス分布

$$
N(\mathbf{x} \mid \mu, \boldsymbol{\Sigma})=\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\Sigma|^{1 / 2}} \exp \left(-\frac{1}{2}(\mathbf{x}-\mu)^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mu)\right)
$$

上記において、\(\mu\)は平均ベクトル、\(\Sigma\)は共分散行列を表す

共分散行列の逆行列を導出

まずは、多次元正規分布に現れる\(\Sigma^{-1}\)を導出することを考える。

共分散行列の固有ベクトルの方程式

$$ \boldsymbol{\Sigma} \mathbf{u}_i=\lambda_i \mathbf{u}_i $$

を考える。ここで、\(\boldsymbol{\Sigma}\) は共分散行列、\(\mathbf{u}_i\) はその固有ベクトル、\(\lambda_i\) はその固有値を表す。

この式は、

$$
\begin{aligned}
& U=\left(u_1 u_2 \cdots u_D\right)^{\top} \\
& \Lambda=\left(\begin{array}{ccc}
\lambda_1 & & \\
& \ddots & \\
& & \\
& & \lambda_D
\end{array}\right)
\end{aligned}
$$

と置くと

$$
\Sigma U=\Lambda U
$$

と表すことができる。さら右にから\(\mathbf{U}^{-1}\)を施すと\(\mathbf{U}\)が直交行列であることから\(\mathbf{U}^{-1}=\mathbf{U}^{\top}\)であることに注意して。

$$
\begin{aligned}
\Sigma & =\Lambda \mathbf{U} \mathbf{U}^{\top} \\
& =\sum_{i=1}^D \lambda_i u_i u_i^{\top}
\end{aligned}
$$

さらに一行目の逆行列をとって

$$
\begin{aligned}
\Sigma^{-1} & =\left(\Lambda \mathbf{U} \mathbf{U}^{\top}\right)^{-1} \\
& = \mathbf{U} \mathbf{U}^{\top} \Lambda^{-1} \\
& =\sum_{i=1}^D \frac{1}{\lambda_i} u_i u_i^{\top}
\qquad \Lambda^{-1}=\left(\begin{array}{lll}
\frac{1}{\lambda_1} & & \\
& & \frac{1}{\lambda_D}
\end{array}\right)
\end{aligned}
$$

マハラノビス距離を計算してみる

【定義】マハラノビス距離

マハラノビス距離は多次元正規分布の指数部分に現れる二次形式で以下で定義される

$$
\Delta^2=(\mathbf{x}-\mu)^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mu)
$$

先ほど得た\(\boldsymbol{\Sigma}^{-1}\)を代入すると

$$
\begin{aligned}
\Delta^2 & =(\mathbf{x}-\mu)^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mu) \\
& =(\mathbf{x}-\mu)^{\mathrm{T}} \sum_{i=1}^D \frac{1}{\lambda_i} \mathbf{u}_i \mathbf{u}_i^{\mathrm{T}}(\mathbf{x}-\mu) \\
& =\sum_{i=1}^D \frac{(\mathbf{x}-\mu)^{\mathrm{T}} \mathbf{u}_i \mathbf{u}_i^{\mathrm{T}}(\mathbf{x}-\mu)}{\lambda_i}
\end{aligned}
$$

上記において、\((\mathbf{x}-\mu)^{\mathrm{T}} \mathbf{u}_i\)と\(\mathbf{u}_i^{\mathrm{T}}(\mathbf{x}-\mu)\)はどちらもベクトル\(\mathbf{x}-\mu\)からベクトル\(\mathbf{u}_i\)への正射影を意味するので、これを両方\(y_i\)と置くと、以下で表せる

$$
y_i=(\mathbf{x}-\mu)^{\mathrm{T}} \mathbf{u}_i=\mathbf{u}_i^{\mathrm{T}}(\mathbf{x}-\mu)
$$

よって結局\(\Delta^2\)は

$$
\begin{aligned}
\Delta^2 & =\sum_{i=1}^D \frac{(\mathbf{x}-\mu)^{\mathrm{T}} \mathbf{u}_i \mathbf{u}_i^{\mathrm{T}}(\mathbf{x}-\mu)}{\lambda_i} \\
& =\sum_{i=1}^D \frac{y_i^2}{\lambda_i}
\end{aligned}
$$

改めて\(\mathbf{x}\)と\(\mathbf{x}\)の関係を共分散行列\(\Sigma\)の固有ベクトルを並べた行列\(\mathbf{U}\)を用いて表すと

$$
\mathbf{y}=\mathbf{U}(\mathbf{x}-\mu)
$$

となっていて、\(\mathbf{y}_i\)は共分散行列\(\Sigma\)の固有ベクトルに基づく直交行列Uを用いて、もとの\(\mathbf{x}_i\)の座標系を平行移動し、回転した正規直交ベクトル\(\mathbf{u}_i\)で定義された新しい座標系で上記の式はそれをまとめたものと解釈することができる。

つまり\(\mathbf{U}\)を用いて基底を変換している。

もしすべての固有値\(lambda_i\)が正なのであれば、ガウス分布の密度が一定のところは上図の赤線のように楕円体になり、この楕円体の中心は\(\mu\)で、軸は\(\mathbf{u}_i\)の方向を向き、軸方向の縮尺は\(\lambda_i^{1 / 2}\)である。

 

新しい座標系でのガウス分布

ここまでは座標系を変換しそのマハラノビス距離について考えてきたが、ここからは変換後のガウス分布そのものについて考えてみよう。

xからyの座標系に写すためにはヤコビ行列\(J\)を用いる。

ヤコビ行列は、多変数関数の微分をまとめて表現した行列である。座標系の変換においては、ある座標系から別の座標系への変換を表すために用いられる。具体的には、あるベクトル関数が別のベクトルに依存しているとき、その依存関係を微分によって表現したものがヤコビ行列だ。

ここでの問題では、新しい座標系での座標 \(\mathbf{y}\) が元の座標系での座標 \(\mathbf{x}\) に依存している。その依存関係を微分によって表現すると、ヤコビ行列の各要素は $$ J_{i j}=\frac{\partial x_i}{\partial y_j}=U_{j i} $$ となる。これは、新しい座標系での座標 \(y_j\) の微小変化が、元の座標系での座標 \(x_i\) の微小変化にどのように影響するかを表している。

ここで、\(U_{j i}\) は直交行列 \(\mathbf{U}\) の要素で、\(\mathbf{U}\) は元の座標系から新しい座標系への変換を表す行列だ。つまり、新しい座標系での座標 \(y_j\) の微小変化が、元の座標系での座標 \(x_i\) の微小変化にどのように影響するかは、元の座標系から新しい座標系への変換を表す行列の要素 \(U_{j i}\) によって決まる。

このように、ヤコビ行列は座標系の変換において、新旧の座標系間での微分の関係を表すために用いられる。そして、その要素は座標変換を表す行列の要素によって決まる。

行列 \(\mathbf{U}\)の正規直交性よりヤコビ行列式の二乗は

$$ |\mathbf{J}|^2=\left|\mathbf{U}^{\mathrm{T}}\right|^2=\left|\mathbf{U}^{\mathrm{T}}\right||\mathbf{U}|=\left|\mathbf{U}^{\mathrm{T}} \mathbf{U}\right|=|\mathbf{I}|=1 $$

つまり\(|\mathbf{J}|=1\)となる。

共分散行列の行列式\(|\boldsymbol{\Sigma}|\)を考えてみると、共分散行列は実対称行列とみなせて、実対称行列は直交行列による対角化が可能である。つまり、ある直交行列 \(\mathbf{P}\) を用いて、共分散行列 \(\boldsymbol{\Sigma}\) を以下のように対角化できる。

$$
\mathbf{P}^{\mathrm{T}} \boldsymbol{\Sigma} \mathbf{P}=\mathbf{D}
$$

ここで、\(\mathbf{D}\) は対角行列で、その対角成分は共分散行列 \(\boldsymbol{\Sigma}\) の固有値である。行列の行列式は、その行列が対角化可能な場合、対角化した後の対角成分の積と等しくなる。したがって、共分散行列の行列式は固有値の積で書ける。よって

$$
|\boldsymbol{\Sigma}|^{1 / 2}=\prod_{j=1}^D \lambda_j^{1 / 2}
$$

よって変換後のガウス分布は以下のように書くことができる。

$$
p(\mathbf{y})=p(\mathbf{x})|\mathbf{J}|=\prod_{j=1}^D \frac{1}{\left(2 \pi \lambda_j\right)^{1 / 2}} \exp \left\{-\frac{y_j^2}{2 \lambda_j}\right\}
$$

この式は、確率密度関数が座標変換に対してどのように振る舞うかを示している。具体的には、元の座標系での確率密度関数 \(p(\mathbf{x})\) と新しい座標系での確率密度関数 \(p(\mathbf{y})\) の関係を表している。

座標変換を行うと、確率密度関数はどのように変わるだろうか? これを理解するためには、確率密度関数の性質を思い出すと良い。確率密度関数は、その値を全空間で積分すると1になる。つまり、全ての可能な事象の確率を足し合わせると1になる。

座標変換を行うと、各点での座標の値は変わるが、全ての可能な事象の確率を足し合わせると1になるという性質は変わらない。しかし、座標変換によって、各点での確率密度の値は変わる可能性がある。その変化の度合いを表すのがヤコビ行列の行列式 \(|\mathbf{J}|\) である。

具体的には、元の座標系での確率密度 \(p(\mathbf{x})\) にヤコビ行列の行列式 \(|\mathbf{J}|\) を掛けることで、新しい座標系での確率密度 \(p(\mathbf{y})\) を得ることができる。これは、座標変換による確率密度の変化の度合いを補正するための操作だ。

そして、この問題では、新しい座標系での確率密度関数が $$ p(\mathbf{y})=\prod_{j=1}^D \frac{1}{\left(2 \pi \lambda_j\right)^{1 / 2}} \exp \left\{-\frac{y_j^2}{2 \lambda_j}\right\} $$ となることが示されている。これは、新しい座標系では各座標軸が互いに独立となることを示している。

このように、確率密度関数は座標変換によってその形が変わるが、その変化の度合いはヤコビ行列の行列式によって補正され、全ての可能な事象の確率を足し合わせると1になるという性質は保たれる。

 

ガウス分布のモーメント

ここからは多次元のガウス分布の理解をさらに深めるべくモーメントを使って、パラメーターの解釈が正しいのか改めて考えてみる。

先ほど多次元ガウス分布の定義を

D次元ガウス分布

$$
N(\mathbf{x} \mid \mu, \boldsymbol{\Sigma})=\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\Sigma|^{1 / 2}} \exp \left(-\frac{1}{2}(\mathbf{x}-\mu)^{\mathrm{T}} \Sigma^{-1}(\mathbf{x}-\mu)\right)
$$

上記において、\(\mu\)は平均ベクトル、\(\Sigma\)は共分散行列を表す

としていたが、この\(\mu\)と\(\Sigma\)の認識が正しいのだろうか?

モーメントってなに?

モーメントとは、確率分布の特性を表す数値のことである。具体的には、確率変数や確率分布の形状や特性を数値で表現したものだ。

【定義】原点まわりのモーメント

\(k\)次のモーメントは以下のように表せる

$$
\mathbb{E}\left[x^k\right] $$

モーメントの種類

モーメントにはいくつかの種類があるが、ここでは主に「平均」、「分散」、「歪度」、「尖度」の4つについて説明する。

  1. 平均(1次のモーメント): 平均は、確率変数の期待値で、データの「中心」を表す。具体的には、各データ点とその発生確率の積の総和として計算される。
  2. 分散(2次のモーメント): 分散は、データのばらつきを表す。具体的には、各データ点と平均との差の二乗とその発生確率の積の総和として計算される。
  3. 歪度(3次のモーメント): 歪度は、データの非対称性を表す。具体的には、各データ点と平均との差の三乗とその発生確率の積の総和として計算される。
  4. 尖度(4次のモーメント): 尖度は、データの尖り具合を表す。具体的には、各データ点と平均との差の四乗とその発生確率の積の総和として計算される。

これらのモーメントは、確率分布の形状や特性を数値で表現するために用いられる。例えば、平均はデータの中心を、分散はデータのばらつきを、歪度はデータの非対称性を、尖度はデータの尖り具合を表す。

つまり、一次のモーメントや二次のモーメントを計算することでそれぞれのパラメータが平均、分散とどういう関係があるのか確かめることができる。

一次のモーメント

\(\mathbf{Z}=\mathbf{X}-\boldsymbol{\mu}\)に置き換えると

$$
\begin{aligned}
\mathbb{E}[\mathbf{x}] & =\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \int \exp \left\{-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{\mu})\right\} \mathbf{x} \mathrm{d} \mathbf{x} \\
& =\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \int \exp \left\{-\frac{1}{2} \mathbf{z}^{\mathrm{T}} \boldsymbol{\Sigma}^{-1} \mathbf{z}\right\}(\mathbf{z}+\boldsymbol{\mu}) \mathrm{d} \mathbf{z}
\end{aligned}
$$

指数部分の\(-\frac{1}{2} \mathbf{z}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{z}\)はzの要素の偶関数であり\(\exp \left\{-\frac{1}{2} \mathbf{z}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{z}\right\} \mathbf{z}\)は奇関数であるので、多変数ガウス分布は正規化されていることと併せて

$$
\mathbb{E}[\mathbf{x}]=\boldsymbol{\mu}
$$

つまり\(\boldsymbol{\mu}\)はガウス分布の平均と解釈できる。

二次のモーメント

同じく\(\mathbf{Z}=\mathbf{X}-\boldsymbol{\mu}\)に置き換えると

$$
\begin{aligned}
\mathbb{E}\left[\mathbf{x x}^{\mathrm{T}}\right] & =\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \int \exp \left\{-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{\mu})\right\} \mathbf{x} \mathbf{x}^{\mathrm{T}} \mathrm{d} \mathbf{x} \\
& =\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \int \exp \left\{-\frac{1}{2} \mathbf{z}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{z}\right\}(\mathbf{z}+\boldsymbol{\mu})(\mathbf{z}+\boldsymbol{\mu})^{\mathrm{T}} \mathrm{d} \mathbf{z}
\end{aligned}
$$

\(\boldsymbol{\mu} \mathbf{z}^{\mathrm{T}}, \mathbf{z}^{\mathrm{T}} \boldsymbol{\mu}\)は奇関数かつ、多変数ガウス分布が正規化されているので

$$
\mathbb{E}\left[\mathbf{x x}^{\mathrm{T}}\right]==\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \int \exp \left\{-\frac{1}{2} \mathbf{z}^{\mathrm{T}} \boldsymbol{\Sigma}^{-1} \mathbf{z}\right\} \mathbf{z} \mathbf{z}^{\mathrm{T}} \mathrm{d} \mathbf{z}+\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}}
$$

\(\mathbf{z} \mathbf{z}^{\mathrm{T}}\)を含む項について考える。ここで先ほど考えた基底の変換の際の共分散行列の固有ベクトル展開を使う。

\(y_j=\mathbf{u}_j^{\mathrm{T}} \mathbf{z}\)なので、

$$
\mathbf{z}=\sum_{j=1}^D y_j \mathbf{u}_j
$$

と書ける。これを用いることで\(\mathbf{z} \mathbf{z}^{\mathrm{T}}\)を含む項は

$$
\begin{aligned}
& \frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \int \exp \left\{-\frac{1}{2} \mathbf{z}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{z}\right\} \mathbf{z z}^{\mathrm{T}} \mathrm{d} \mathbf{z} \\
& =\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\boldsymbol{\Sigma}|^{1 / 2}} \sum_{i=1}^D \sum_{j=1}^D \mathbf{u}_i \mathbf{u}_j^{\mathrm{T}} \int \exp \left\{-\sum_{k=1}^D \frac{y_k^2}{2 \lambda_k}\right\} y_i y_j \mathrm{~d} \mathbf{y} \\
& =\sum_{i=1}^D \mathbf{u}_i \mathbf{u}_i^{\mathrm{T}} \lambda_i=\mathbf{\Sigma}
\end{aligned}
$$

と書くことができる。

まず、最初の等号の変形では、座標変換 \(\mathbf{z} = \mathbf{U} \mathbf{y}\) を用いて、元の座標系から新しい座標系へと変換している。そして、\(\mathbf{z z}^{\mathrm{T}}\) を \(\mathbf{u}_i \mathbf{u}_j^{\mathrm{T}} y_i y_j\) の形に変形している。

次に、2つ目の等号の変形では、新しい座標系での積分を計算している。ここで、新しい座標系では各座標軸が互いに独立であるため、積分は各座標軸についての積分の積となる。そして、各座標軸についての積分は、1次元のガウス分布の2次モーメント(分散)の計算となる。

\(i \neq j\)のときには平均値は被積分関数が奇関数より\(\int_{-\infty}^{\infty} \frac{1}{\left(2 \pi \lambda_j\right)^{1 / 2}} \exp \left\{-\frac{y_j^2}{2 \lambda_j}\right\} y_j \mathrm{~d} y_j=0\)

1次元のガウス分布の2次モーメント(分散)は、その分散パラメータ \(\lambda\) に等しい。これは、1次元のガウス分布の確率密度関数に対して、変数の二乗を掛けたものの期待値(積分)を計算することで求められる。具体的には、以下の積分を計算することで求められる。

$$
\int_{-\infty}^{\infty} \frac{1}{\left(2 \pi \lambda_i\right)^{1 / 2}} \exp \left\{-\frac{y_i^2}{2 \lambda_i}\right\} y_i^2 \mathrm{~d} y_i=\lambda_i
$$

これにより、新しい座標系での積分は \(\mathbf{u}_i \mathbf{u}_i^{\mathrm{T}} \lambda_i\) の形に変形できる。

最後に、この結果をすべての座標軸について足し合わせることで、元の座標系での2次モーメント(分散) \(\mathbf{\Sigma}\) を得ることができる。これは、元の座標系での分散は、新しい座標系での分散を元の座標系へと変換したものに等しいということを示している。

メモ

ここでの \(\lambda\) は、実際には共分散行列の固有値である。しかし、座標変換により新しい座標系では各座標軸が互いに独立となり、各座標軸に沿った分布は1次元のガウス分布となる。その1次元のガウス分布の分散が、元の座標系での共分散行列の固有値 \(\lambda\) に等しいという意味で、ここでは \(\lambda\) を「分散パラメータ」と呼んでいる。

 

よって

$$
\mathbb{E}\left[\mathbf{x} \mathbf{x}^{\mathrm{T}}\right]=\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}}+\boldsymbol{\Sigma}
$$

あらかじめ平均を引いた、共分散を考えると

$$
\begin{aligned}
\operatorname{cov}[\mathbf{x}] & =\mathbb{E}\left[(\mathbf{x}-\mathbb{E}[\mathbf{x}])(\mathbf{x}-\mathbb{E}[\mathbf{x}])^{\mathrm{T}}\right] \\
& =\mathbb{E}\left[(\mathbf{x}-\boldsymbol{\mu})\left(\mathbf{x}^{\mathrm{T}}-\boldsymbol{\mu}^{\mathrm{T}}\right)\right] \\
& =\mathbb{E}\left[\left(\mathbf{x x}^{\mathrm{T}}-\boldsymbol{\mu} \mathbf{x}^{\mathrm{T}}-\mathbf{x}\boldsymbol{\mu}^{\mathrm{T}}+\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}}\right)\right] \\
& =\mathbb{E}\left[\mathbf{x} \mathbf{x}^{\mathrm{T}}\right]-\boldsymbol{\mu} \mathbb{E}\left[\mathbf{x}^{\mathrm{T}}\right]-\mathbb{E}[\mathbf{x}] \boldsymbol{\mu}^{\mathrm{T}}+\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}} \\
& =\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}}+\boldsymbol{\Sigma}-\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}}-\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}}+\boldsymbol{\mu} \boldsymbol{\mu}^{\mathrm{T}} \\
& \operatorname{cov}[\mathbf{x}]=\boldsymbol{\Sigma}
\end{aligned}
$$

となる。パラメータ行列\(\boldsymbol{\Sigma}\)によりガウス分布の下でのxの共分散が決まるため、このパラメータを共分散行列と呼ぶ。

 

ガウス分布の弱点

ガウス分布はここまで見てきたように密度モデルとして広く利用されるものの重大な弱点があり、その弱点と対処の仕方を考えていこう。

ガウス分布の弱点

  • パラメータ多すぎ問題
  • 単峰性問題

というものがある。

パラメータ多すぎ問題

ガウス分布の自由パラメータの数を考えてみる。一般の対称共分散行列\(\Sigma\)には\(D(D+1) / 2\)個のパラメータがある。

証明

実対称行列の独立パラメータは以下のように表せる

つまり個数は

$$
1+2+3+\cdots+D=\frac{1}{2} D(D+1)
$$

\(\mu\)のパラメータ数は\(D\)個のパラメータがあるので併せて\(D(D+3) / 2\)がある。これでは大きなDに対して二乗の割合で増加し、大規模な行列を扱う場合には計算が困難になりうる。

 

共分散行列への制限

そういう場合への一つの対称法として、共分散行列の形式に制限を加える方法がある。

\(\Sigma\)への制限\(\Sigma\)の形式分布の自由パラメータガウス分布の等値面
\(D=2, \Delta^2=\) const
\(\Sigma\)   一般\(\left(\begin{array}{cccc}\sigma_1^2 & \sigma_{1,2} & \cdots & \sigma_{1, D} \\ \sigma_{2,1} & \sigma_2^2 & \cdots & \sigma_{2, D} \\ \vdots & \vdots & \ddots & \vdots \\ \sigma_{D, 1} & \sigma_{D, 2} & \cdots & \sigma_D^2\end{array}\right)\)\(\frac{D(D+3)}{2}\)

\(\Sigma=\operatorname{diag}\left(\sigma_i^2\right)\)

対角行列

\(\left(\begin{array}{ccc}\sigma_1^2 & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & \sigma_D^2\end{array}\right)\)\(2 D\)

\(\Sigma=\sigma^2 \mathbf{I}\)

等方共分散行列

\(\left(\begin{array}{ccc}\sigma^2 & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & \sigma^2\end{array}\right)\)\(D+1\)

 

こうしたアプローチによって分布の自由度が制限されて計算が高速になるが、これはせっかくガウス分布の式はマハラノビス距離という相関をとらえる能力を組み込んだ定義であったのにそれを失っているのと同義であり。

制限を強くすればするほど独立とみなすようになっていく。

単峰性問題

ガウス分布には本質的に単峰形(極大値が一つ)という制限があり、多峰形をうまく近似できない。

 

【対処法】潜在変数の導入

そういう場合には潜在変数を導入し、これらの問題に対処することができる。

ガウス混合分布

 

ガウス混合分布は潜在変数を使用していて、これを使えば多峰形分布を表現できる上、データ空間の次元数Dとは別に自由パラメータを設定することができる上、データ集合中の相関を捉えることも可能といういいとこどりのモデルである。

実際に混合ガウス分布を組み合わせたり、拡張することで現実の問題に幅広く適用可能で、例えば画像の確率モデルなどに使われるマルコフ確率場や時系列データのモデルに使われる線形動的システムなどにも応用されている。

 

まとめ

多次元のガウス分布は座標変換をすることで扱いやすくなることと、ガウス分布の弱点についてをこの記事では見た。

ガウス分布は統計学、機械学習などの広い範囲で非常に重要な概念であるのはもはやいうまでもないだろう。

この記事がその理解の一助となれば幸いである。

 

 

参考先

 

 

-勉強, 数学, 機械学習/AI