『はじめてのパターン認識(通称はじパタ)』のための数学メモ 第4章 4.1 観測データの線形変換

『はじめてのパターン認識(通称はじパタ)』のための数学メモ

数学書の場合は「明らかに」とか親切丁寧に書いてくれるから明らかでないのはわかるけれども、数学を道具として使う分野だと「証明なしに当たり前のように書いてあるけれども、ちゃんと読んでみると実は全然当たり前ではなくてさっぱりわかっていなかった」ということがよくある。

なので改めて数学の部分も読みなおしをしてみよう、というのが背景。細かいことはいくつか書いたら目次用のページを書くつもりなのでそのときに。

4.1.3 観測データの無相関化

無相関化とは、各データ間の共分散を0にすること、すなわち共分散行列の対角化のこと。

固有値問題とは

行列\(A\)に対して、\(Ax=\lambda x\)を満たす\(\lambda\)を固有値、\(x\ne 0\)を固有ベクトルと言う。\(A\)が与えられたときに固有値と固有ベクトルを求めるのが固有値問題。ここでは\(A=\Sigma,x=s\)とおいている。

共分散行列は実対称行列であることの証明

対称行列とは、\(A = A^{\mathrm{T}}\)(\(A^{\mathrm{T}}\)は\(A\)の転置行列)を満たす行列。つまり\(a_{ij}=a_{ji}\)。共分散行列\(\Sigma\)の\((i,j)\)成分(\(i\ne j\))は\(x_i-\mu_i\)と\(x_j-\mu_j\)の共分散で、\((j,i)\)成分\((i\ne j)\)は\(x_j-\mu_j\)と\(x_i-\mu_i\)の共分散。この値は同じなので\(a_{ij}=a_{ji}\)よって対称行列。共分散の値は実数なので、共分散行列は実対称行列。

実対称行列の固有値が実数で異なる固有値に対する固有ベクトルは互いに直交することの証明

実対称行列の固有値が実数であること:\((Ax,x)=(Ax)^{*}x=x^{*}A^{*}x=x^{*}Ax=(x,Ax)\)(\(A\)は実対称行列なので、\(A^{*}=A,(A^{*}\)は\(A\)の随伴行列)となることによる)。

一方、\((Ax,x)= (\lambda x,x)=\lambda^{*}(x,x)\)かつ\((x,Ax)=\lambda(x,x)\)となるので、これを上の式に代入すると\(\lambda^{*}(x,x)=\lambda(x,x)\)。\(x\)は固有ベクトルなので\(x\ne 0\)より\(\lambda^{*}=\lambda\)。よって固有値は実数となる。

異なる固有値に対する固有ベクトルは互いに直交すること:\(Ax=\lambda x,Ay=\mu y,\lambda\ne \mu\)のとき、\(\lambda(x,y)=(\lambda x,y)=(Ax,y)=(x,Ay)=(x,\mu y)=\mu(x,y)\)。

\(\lambda\ne \mu\)より\((x,y)=0\)。よって異なる固有値に対する固有ベクトルは互いに直交する。

(未解決)共分散行列の固有ベクトルが正規直交基底となることの証明

共分散行列は実対称行列であり、実対称行列の固有値に対する固有ベクトルは互いに直交することはすでに示されているので、あとは

  • すべての固有値が違うこと
  • 固有ベクトルの長さが1であること

を証明すればよいと思われるが、未解決。

\(S\)が直交行列となることの証明

\(s_{i}\cdot s_{j} = \left\{ \begin{array}{ll}
1 & (i=j) \\
0 & (i\ne j)
\end{array} \right.
\)

より

\(
S^{\mathrm{T}}S =
\left(
\begin{array}{cccc}
s_{1}\\
s_{2}\\
\vdots\\
s_{d}\\
\end{array}
\right)
(s_{1},s_{2},\cdots,s_{d})
=
\left(\begin{array}{ccc}
s_{1}\cdot s_{1} & \cdots & s_{1}\cdot s_{d} \\
\vdots & \ddots & \vdots \\
s_{d}\cdot s_{1} & \cdots & s_{d}\cdot s_{d} \\
\end{array}
\right)
=E
\)

よって\(S\)は直交行列。

4.1.4 白色化

\(\Lambda^{-\frac{1}{2}}\)はどのような行列か

\(\Lambda=\left(\begin{array}{cccc}
\lambda_{1} & 0 & \cdots & 0 \\
0 & \lambda_{2} & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots\\
0 & 0 & \cdots & \lambda_{d} \\
\end{array}
\right)
\)

なので

\(\Lambda^{\frac{1}{2}}=\left(\begin{array}{cccc}
\sqrt{\lambda_{1}} & 0 & \cdots & 0 \\
0 & \sqrt{\lambda_{2}} & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots\\
0 & 0 & \cdots & \sqrt{\lambda_{d}} \\
\end{array}
\right)
\)

であり、対角行列の逆行列は各成分の逆数を並べたものなので

\(\Lambda^{-\frac{1}{2}}=\left(\begin{array}{cccc}
\frac{1}{\sqrt{\lambda_{1}}} & 0 & \cdots & 0 \\0 & \frac{1}{\sqrt{\lambda_{2}}} & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots\\
0 & 0 & \cdots & \frac{1}{\sqrt{\lambda_{d}}} \\
\end{array}
\right)
\)

となる。