線形代数 – 特異値分解の定義

投稿者: | 2025年5月14日

\(※\ \ \)本ページの記載内容に関し、以下注意ください。

\(A,\ U,\ V\)を実行列として述べます。複素行列の場合も同様の性質がありますが、それらについては転置行列を随伴行列に、直交行列をユニタリ行列に置き換えてください。

・長方行列であっても\((1,1),(2,2),\cdots \)以外の成分がすべて\(0\)である場合、これを対角行列とよぶことにします。

・個別に記載がない場合、\(A\in \mathbb{R}^{m\times n},\ U\in \mathbb{R}^{m\times m},\ \Sigma \in \mathbb{R}^{m\times n},\ V\in \mathbb{R}^{n\times n},\ \)特異値分解を\(A=U\Sigma V^T,\ U\)の第\(i\)列を\(\boldsymbol{u}_i,\ \Sigma\)の\((i,i)\)成分を\(\sigma_i,\ V\)の第\(i\)列を\(\boldsymbol{v}_i\)とします。

・特異値は全て非負の実数であるので、「特異値は正である」とした場合は「特異値は\(0\)でない」と同じ意味です。

定義

定義1

\(A\)を以下のように表すことを特異値分解(singular value decomposition, SVD)とよぶ。

$$A=U \Sigma V^T$$

ただし、\(U,\ V\)は直交行列、\(\Sigma\)は対角行列とする。

定義2

\(U\)の列ベクトルを左特異ベクトル(left singular vectors)

\(\Sigma\)の対角成分を特異値(singular values)

\(V\)の列ベクトルを右特異値ベクトル(right singular vectors)

とよぶ。

定義の追加説明、主な性質

・すべての行列は特異値分解が可能です。つまり、定義1を満たす\(U,\ \Sigma,\ V\)が必ず存在します。長方行列や複素行列であっても可能です。

・値が\(0\)の特異値が存在する場合もあります。

・同じ値の特異値が複数存在する場合もあります。

・一般には特異値は\(\Sigma\)の左上より以下の順となるよう割り当てます。
$$\sigma_1\ge\sigma_2\ge \cdots \ge \sigma_{\mathrm{min}(m,n)}\ge 0$$

・個々の左特異ベクトル・右特異ベクトルと\(A,\ A^T\)の関係を以下のように表すことができます。
\begin{align}
A^T \boldsymbol{u}_i&=\sigma_i \boldsymbol{v}_i\\
A \boldsymbol{v}_i&=\sigma_i \boldsymbol{u}_i\\
\end{align}

・個々の左特異ベクトル・右特異ベクトルと\(AA^T,\ A^T A\)の関係を以下のように表すことができます。したがって\(\sigma_i\)は\(A A^T,\ A^T A\)の固有値、\(\boldsymbol{u}_i\)はこれに属する\(A A^T\)の固有ベクトル、\(\boldsymbol{v}_i\)はこれに属する\(A^T A\)の固有ベクトルです。
\begin{align}
A A^T \boldsymbol{u}_i&=\sigma_i^2 \boldsymbol{u}_i\\
A^TA \boldsymbol{v}_i&=\sigma_i^2 \boldsymbol{v}_i\\
\end{align}

\(※\ \ \)特異値分解の性質については特異値分解の性質を参照ください。

特異値の位置と行列のサイズ

下の図は\(m \gt n\)の場合ですが、\(\Sigma\)の対角成分は特異値であり、第\(n\)行より下の行の成分は全て\(0\)です。

\(m \lt n\)の場合も同様に、\(\Sigma\)の第\(m\)列より右の列の成分は全て\(0\)です。

特異値が\(0\)の場合もあります。その場合、対応する左特異ベクトルと右特異ベクトルは\(A\)の成分には反映されません。また、\(0\)の特異値がない場合でも\(m \gt n\)の場合の\(\boldsymbol{u}_{n+1},\boldsymbol{u}_{n+2},\cdots,\boldsymbol{u}_{m},\ \)\(m \lt n\)の場合の\(\boldsymbol{v}_{m+1},\boldsymbol{v}_{n+2},\cdots,\boldsymbol{v}_{},\ \)も\(A\)には反映されません。

そこで、正である特異値の数が\(r\)であった場合、下の図のようにこれらを除いて表すこともあります。

幾何学的な解釈

準備

\(\mathbb{R}^2\)の単位ベクトルがそれぞれの行列によってどのように変換されるかを確認しましょう。

\(U\)は直交行列です。直交行列は回転と反転の合成の作用があります。ここでは回転のみで、その角度を\(\theta_u\)とします。

\(\Sigma\)は対角成分以外は\(0\)であるのでそれぞれの軸方向にのみ拡大・縮小します。

\(V\)も\(U\)と同様に回転します。これを\(\theta_v\)とします。

\(\boldsymbol{x}\)の変換

では、これらの組み合わせによって\(\mathbb{R}^2\)上のベクトル\(\boldsymbol{x}\)がどう変換されるかを順に考えましょう。

まず、\(V V^T=I\)なので\(\boldsymbol{x}\)に左から\(V^T\)を掛けると\(-\theta_v\)だけ回転します。

\(\Sigma\)の対角成分によってそれぞれの軸方向に拡大・縮小します。

さらに\(U\)により\(\theta_u\)だけ回転します。

以下は\(2\times 2\)行列と\(3 \times 2\)行列の特異値分解の例です。求め方は特異値分解の求め方を参照ください。

$$\small{\begin{pmatrix}3\!\!&\!\!4\\0\!\!&\!\!5\end{pmatrix}\!=\!
\begin{pmatrix}\!\frac{1}{\sqrt{2}}\!\!&\!\!-\frac{1}{\sqrt{2}}\\ \frac{1}{\sqrt{2}}\!\!&\!\!\frac{1}{\sqrt{2}}\end{pmatrix}\!\!
\begin{pmatrix}\!3\sqrt{5}\!\!&\!\!0\\0\!\!&\!\!\sqrt{5}\end{pmatrix}\!\!
\begin{pmatrix}\!\frac{1}{\sqrt{10}}\!\!&\!\!-\frac{3}{\sqrt{10}}\\\frac{3}{\sqrt{10}}\!\!&\!\!\frac{1}{\sqrt{10}}\end{pmatrix}}
$$

$$\small{\begin{pmatrix}3\!&\!2 \\ 2 \!&\! 3 \!\\\! 2 \!&\! -2\end{pmatrix}\!=\!

\begin{pmatrix} \! \frac{1}{\sqrt{2}} \!\!&\!\! -\frac{1}{3\sqrt{2}} \!\!&\!\! -\frac{2}{3} \! \\
\! \frac{1}{\sqrt{2}} \!\!&\!\! \frac{1}{3\sqrt{2}} \!\!&\!\! \frac{2}{3} \!\\
\! 0 \!\!&\!\! -\frac{2\sqrt{2}}{3} \!\!&\!\! -\frac{1}{3} \!\end{pmatrix}\!\!

\begin{pmatrix} \! 5 \!\!&\!\! 0 \! \\ \! 0 \!\!&\!\! 3\! \\ \! 0 \!\!&\!\! 0 \! \end{pmatrix}\!\!}

\begin{pmatrix} \! \frac{1}{\sqrt{2}} \!\!&\!\! -\frac{1}{\sqrt{2}} \! \\ \! \frac{1}{\sqrt{2}} \!\!&\!\! \frac{1}{\sqrt{2}}\end{pmatrix}
$$