対称行列の対角化とスペクトル分解(spectral decomposition)

統計学や機械学習で出てくる行列は対称行列(symmetric matrix)が多いですが、対称行列の取り扱いはやや特殊なので抑えておくと良いです。当記事では対称行列の対角化とスペクトル分解(spectral decomposition)について取りまとめました。
「統計学のための数学入門$30$講」の$23$章の「対称行列の固有値と固有ベクトル」を参考に作成を行いました。

・用語/公式解説
https://www.hello-statisticians.com/explain-terms

対称行列の対角化とスペクトル分解

$p$次の対称行列$A$に関して下記がそれぞれ成立する。

$1)$
$p$次の対称行列$A$は直交行列$U$を用いて下記のように対角化が可能である。
$$
\large
\begin{align}
U^{\mathrm{T}} A U &= \Lambda = \left( \begin{array}{ccccc} \lambda_1 & 0 & 0 & \cdots & 0 \\ 0 & \lambda_2 & 0 & \cdots & 0 \\ 0 & 0 & \lambda_3 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & \lambda_{p} \end{array} \right) \quad (1) \\
U &= \left( \begin{array}{ccccc} \mathbf{u}_{1} & \mathbf{u}_{2} & \mathbf{u}_{3} & \cdots & \mathbf{u}_{p} \end{array} \right) \\
U^{\mathrm{T}} &= \left( \begin{array}{c} \mathbf{u}_{1}^{\mathrm{T}} \\ \mathbf{u}_{2}^{\mathrm{T}} \\ \mathbf{u}_{3}^{\mathrm{T}} \\ \vdots \\ \mathbf{u}_{p}^{\mathrm{T}} \end{array} \right) \\
\mathbf{u}_{i}^{\mathrm{T}} \mathbf{u}_{i} &= 1 \\
\mathbf{u}_{i}^{\mathrm{T}} \mathbf{u}_{j} &= 0, \quad (i \neq j) \\
\mathbf{u}_{i} & \in \mathbb{R}^{p}
\end{align}
$$

$2)$
$p$次の対称行列$A$は固有値$\lambda_1, \cdots , \lambda_{p}$とそれぞれの固有値に対応する長さ$1$の固有ベクトル$\mathbf{u}_{1}, \cdots , \mathbf{u}_{p}$を用いて次のように表せる。
$$
\large
\begin{align}
A &= U \Lambda U^{\mathrm{T}} \quad (2) \\
&= \left(\begin{array}{ccccc} \mathbf{u}_{1} & \mathbf{u}_{2} & \mathbf{u}_{3} & \cdots & \mathbf{u}_{p} \end{array} \right) \left(\begin{array}{ccccc} \lambda_1 & 0 & 0 & \cdots & 0 \\ 0 & \lambda_2 & 0 & \cdots & 0 \\ 0 & 0 & \lambda_3 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & \lambda_{p} \end{array} \right) \left(\begin{array}{c} \mathbf{u}_{1}^{\mathrm{T}} \\ \mathbf{u}_{2}^{\mathrm{T}} \\ \mathbf{u}_{3}^{\mathrm{T}} \\ \vdots \\ \mathbf{u}_{p}^{\mathrm{T}} \end{array} \right) \\
&= \left(\begin{array}{ccccc} \lambda_{1} \mathbf{u}_{1} & \lambda_{2} \mathbf{u}_{2} & \lambda_{3} \mathbf{u}_{3} & \cdots & \lambda_{p} \mathbf{u}_{p} \end{array} \right) \left(\begin{array}{c} \mathbf{u}_{1}^{\mathrm{T}} \\ \mathbf{u}_{2}^{\mathrm{T}} \\ \mathbf{u}_{3}^{\mathrm{T}} \\ \vdots \\ \mathbf{u}_{p}^{\mathrm{T}} \end{array} \right) \\
&= \lambda_{1} \mathbf{u}_{1} \mathbf{u}_{1}^{\mathrm{T}} + \lambda_{2} \mathbf{u}_{2} \mathbf{u}_{2}^{\mathrm{T}} + \lambda_{3} \mathbf{u}_{3} \mathbf{u}_{3}^{\mathrm{T}} + \cdots + \lambda_{p} \mathbf{u}_{p} \mathbf{u}_{p}^{\mathrm{T}} \\
&= \sum_{i=1}^{p} \lambda_{i} \mathbf{u}_{i} \mathbf{u}_{i}^{\mathrm{T}}
\end{align}
$$

上記の変形をスペクトル分解という。

導出

$p$個の固有値が全て異なる$p$次対称行列$A$の固有値を$\lambda_1, \cdots , \lambda_{p}$、それぞれの固有値に対応する長さ$1$の固有ベクトルを$\mathbf{u}_{1}, \cdots , \mathbf{u}_{p}$とおくと、下記のような式が成立する。
$$
\large
\begin{align}
A \mathbf{u}_{i} = \lambda_{i} \mathbf{u}_{i}, \quad i=1, 2, 3, \cdots , p
\end{align}
$$

上記より、下記が成立する。
$$
\large
\begin{align}
A U &= U \Lambda \quad (3) \\
\Lambda &= \left(\begin{array}{ccccc} \lambda_1 & 0 & 0 & \cdots & 0 \\ 0 & \lambda_2 & 0 & \cdots & 0 \\ 0 & 0 & \lambda_3 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & \lambda_{p} \end{array} \right) \\
U &= \left(\begin{array}{ccccc} \mathbf{u}_{1} & \mathbf{u}_{2} & \mathbf{u}_{3} & \cdots & \mathbf{u}_{p} \end{array} \right)
\end{align}
$$

対称行列の相異なる固有値に対応する固有ベクトルが直交するので、$U$は直交行列である。よって$U^{-1}=U^{\mathrm{T}}$が成立する。したがって$(3)$式の変形に基づいて下記のように$(1), (2)$式の導出を行える。

・$(1)$式の導出
$$
\large
\begin{align}
A U &= U \Lambda \quad (3) \\
U^{-1} A U &= U^{-1} U \Lambda \\
U^{\mathrm{T}} A U &= \Lambda \quad (1)
\end{align}
$$

・$(2)$式の導出
$$
\large
\begin{align}
A U &= U \Lambda \quad (3) \\
A U U^{-1} &= U \Lambda U^{-1} \\
A &= U \Lambda U^{\mathrm{T}} \quad (2)
\end{align}
$$

「対称行列の対角化とスペクトル分解(spectral decomposition)」への1件の返信

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