E資格問題集を解いてみた[第1章5問目]

初投稿です。

JDLA（日本ディープラーニング協会）が主催するE資格の勉強をしています。
対策には『徹底攻略ディープラーニングE資格エンジニア問題集』を使っています。
しかし問題を解いていると、誤植などが散見されます。
E資格の対策本としては唯一の書籍なので、これから勉強する人のためにも、自分が気付いた誤りを1記事当たり1問で書いていこうと思います。
間違いがあればご指摘ください。

#第1章 5問目

まずはテキストの問題文と解答を見ていきます。
次に自分が解いてみた結果と投稿主の解答を掲載します。

##テキストの問題文
次の数式の(ア)～(エ)に当てはまる選択肢をそれぞれ1つずつ選べ。ただし、同じ選択肢が2ヵ所以上に当てはまることもある。

行列

```math
A=
\begin{pmatrix}
1 & 0 & 0\\
0 & 1 & 2
\end{pmatrix}
```

を特異値分解し、$A＝U \Sigma V^T$の形で表すとき、以下のようになる。

```math
\Sigma =
\begin{pmatrix}
(ア) & 0 & 0\\
0 & (イ) & 0
\end{pmatrix}
\\
U=
\begin{pmatrix}
0 & 1\\
(ウ) & 0
\end{pmatrix}
\\
V=
\begin{pmatrix}
0 & 1 & 0\\
\frac{1}{\sqrt{5}} & 0 & -\frac{2}{\sqrt{5}}\\
\frac{2}{\sqrt{5}} & 0 & (エ)
\end{pmatrix}
```

A. -1
B. 0
C. 1
D. 2
E. -$\sqrt{5}$
F. $\sqrt{5}$
G. $-\frac{1}{\sqrt{5}}$
H. $\frac{1}{\sqrt{5}}$



##テキストの解答
**(ア)C、(イ)F、(ウ)C、(エ)H**

まず、m×n長方行列$A$の特異値、すなわち$\Sigma$の$(i,i)$成分(i=1,...,min{m,n})には$A \^T A$の固有値の正の平方根が降順（大きい順）に並びます。

```math
A^T A=
\begin{pmatrix}
1 & 0\\
0 & 5
\end{pmatrix}
```

なので、その固有値は、

```math
det(\lambda I - A ^T A) = det
\begin{pmatrix}
\lambda -1 & 0\\
0 & \lambda -5
\end{pmatrix}
= 0
```

を解いて、$\lambda = 1, 5$です。$A$の特異値は$\sigma = 1, \sqrt{5}$なので、これを降順に並べれば(ア)は1、(イ)は$\sqrt{5}$です(**ア=C、イ=F**)。
ここで、$U$の第一列は$A^T A$の固有値5に対応する固有ベクトル$u=(()u_x, u_y)^T$のうち、大きさが1のものです。したがって、

```math
\begin{pmatrix}
1 & 0\\
0 & 5
\end{pmatrix}
\begin{pmatrix}
u_x\\
u_y
\end{pmatrix}
=5
\begin{pmatrix}
u_x\\
u_y
\end{pmatrix}
```

を解いて、$u_x = 0$、$u_y$は任意の実数という解が得られます。ここで、$u$の大きさが1となるためには、$u_y = \pm1$でなくてはならないことがわかります。
また、$V$の各列は$A^T A$の固有ベクトルですが、これらは**正規直交性**を満たす必要があります。したがって、$v_1 = (0, 1/\sqrt{5}, 2/\sqrt{5})^T$、$v_3 = (0, -2/\sqrt{5}, v_z)^T$と置けば、それらの直交性から$v_1^T \cdot v_3 = 0$になります。よって、

```math
0 \cdot 0 + \frac{1}{\sqrt{5}} \cdot \left( -\frac{2}{\sqrt{5}} \right) + \frac{2}{\sqrt{5}} v_z = 0
```

となり、(エ)$v_z = 1/\sqrt{5}$が得られます(**エ=H**)。
最後に、(ウ)に当てはまる値が1か-1かを代入によって確かめ、1であると特定すればよいでしょう。(**ウ=C**)。



##自分で解いてみた
この問題を自分で解いてみたところ、テキストの解答と選択肢が違いました。
自分の計算が間違っている可能性も十分にあるため、テキストの解答にある選択肢をそれぞれ$\Sigma$、$U$、$V$に代入して$U \Sigma V^T$を計算してみたところ、以下のようになりました。

```math
\begin{eqnarray}
U \Sigma V^T
&=&
\begin{pmatrix}
0 & 1\\
1 & 0
\end{pmatrix}
\begin{pmatrix}
1 & 0 & 0\\
0 & \sqrt{5} & 0
\end{pmatrix}
\begin{pmatrix}
0 & \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\
1 & 0 & 0\\
0 & -\frac{2}{\sqrt{5}} & \frac{1}{\sqrt{5}}
\end{pmatrix}\\
&=&
\begin{pmatrix}
0 & \sqrt{5} & 0\\
1 & 0 & 0
\end{pmatrix}
\begin{pmatrix}
0 & \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\
1 & 0 & 0\\
0 & -\frac{2}{\sqrt{5}} & \frac{1}{\sqrt{5}}
\end{pmatrix}\\
&=&
\begin{pmatrix}
\sqrt{5} & 0 & 0\\
0 & -\frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}
\end{pmatrix}
\end{eqnarray}
```

これは$A$とは成分が異なります。
解答の中で$A$の特異値を求めていますが、「(ア)は1、(イ)は$\sqrt{5}$」としたことが原因でしょう。

改めて、一旦$U \Sigma V^T$を未知数が存在する状態で計算してみましょう。
(ア)をw、(イ)をx、(ウ)をy、(エ)をzとおくことにします。すると、

```math
\begin{eqnarray}
U \Sigma V^T
&=&
\begin{pmatrix}
0 & 1\\
y & 0
\end{pmatrix}
\begin{pmatrix}
w & 0 & 0\\
0 & x & 0
\end{pmatrix}
\begin{pmatrix}
0 & \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\
1 & 0 & 0\\
0 & -\frac{2}{\sqrt{5}} & z
\end{pmatrix}\\
&=&
\begin{pmatrix}
0 & x & 0\\
wy & 0 & 0
\end{pmatrix}
\begin{pmatrix}
0 & \frac{1}{\sqrt{5}} & \frac{2}{\sqrt{5}}\\
1 & 0 & 0\\
0 & -\frac{2}{\sqrt{5}} & z
\end{pmatrix}\\
&=&
\begin{pmatrix}
x & 0 & 0\\
0 & \frac{wy}{\sqrt{5}} & \frac{2wy}{\sqrt{5}}
\end{pmatrix}
\end{eqnarray}
```

これと$A$の$(1,1)$成分を見比べると、$x=1$であることが分かります。$A$の特異値は1と$\sqrt{5}$だったので、$w=\sqrt{5}$であることが分かります。$(2,2)$成分の比較により、$y=1$であることが分かります。特異値分解の性質より$V$は正規直交行列なので、1列目のベクトル$v_1$と3列目のベクトル$v_3$の内積を取ると、

```math
v_1 \cdot v_3
=
\begin{pmatrix}
0\\
\frac{1}{\sqrt{5}}\\
\frac{2}{\sqrt{5}}
\end{pmatrix}
\cdot
\begin{pmatrix}
0\\
-\frac{2}{\sqrt{5}}\\
z
\end{pmatrix}
=
0 \cdot 0 - \frac{1}{\sqrt{5}}\ \cdot \frac{2}{\sqrt{5}} + \frac{2}{\sqrt{5}} z
=
-\frac{2}{5} + \frac{2}{\sqrt{5}} z
=
0
```
これを解いて、$z = 1/\sqrt{5}$が分かります。以上より、投稿主の解答は以下の通りです。

##投稿主の解答
**(ア)F、(イ)C、(ウ)C、(エ)H**

余談ですが、多分$u=(()u_x, u_y)^T$もただの誤植で、正しくは$u=(u_x, u_y)^T$だと思います。