7.4.3 最小二乗法による線形方程式の解
\( A \in M_{m,n} \)、\( b \in \mathbb{C}^m \) が与えられており、\( m \ge n \) であり、かつ \(\mathrm{rank}\,A = k\) とする。ここでは、特異値分解 \( A = V \Sigma W^{*} \) を用いて、線形方程式 \( A x = b \) を「解く」方法を考える。目的は、\( \|A x - b\|_2 \) を最小にするような \( x \in \mathbb{C}^n \) を選ぶことである。
ここで、\( V = [v_1 \ldots v_m] \in M_m \)、\( W = [w_1 \ldots w_n] \in M_n \) とし、それぞれの列ベクトルに基づいて分割する。ベクトル \( A x - b = V \Sigma W^{*}x - b \) は、ベクトル \( \Sigma W^{*}x - V^{*}b \) と同じユークリッドノルムをもつ。
ここで、\( \xi = W^{*}x \)、\( \beta = V^{*}b \) とおくと、\(\xi = [\xi_i] = [w_i^{*}x]_{i=1}^n\)、\(\beta = [\beta_i] = [v_i^{*}b]_{i=1}^m\) である。
ベクトル
\Sigma \xi - \beta =
\begin{bmatrix}
\sigma_1 \xi_1 - \beta_1 \\
\vdots \\
\sigma_k \xi_k - \beta_k \\
-\beta_{k+1} \\
\vdots \\
-\beta_m
\end{bmatrix}
のユークリッドノルムは、次の値をとるとき最小となる。
\left( \sum_{i=k+1}^{m} |\beta_i|^2 \right)^{1/2}
この最小値を達成するためには、各 \( i = 1, \ldots, k \) について次を選べばよい。
\xi_i = \sigma_i^{-1} \beta_i = \sigma_i^{-1} v_i^{*} b
また、ベクトル \( \xi \) のユークリッドノルムが最小となるようにするため、各 \( i = k+1, \ldots, n \) に対して \( \xi_i = 0 \) とする。
したがって、次のように表されるベクトル
x = \sum_{i=1}^{k} (\sigma_i^{-1} v_i^{*} b) w_i
は、ユークリッドノルムが最小となるベクトルであり、\( \|A x - b\|_2 \) が次の最小値をとる。
\left( \sum_{i=k+1}^{m} |v_i^{*} b|^2 \right)^{1/2}
このようにして、特異値分解を用いれば、最小二乗問題 \( \min_x \|A x - b\|_2 \) の最良近似解が求められる。
演習
もし \( A \in M_{m,n} \) で \(\mathrm{rank}\,A = n\) であるなら、上記の解析を用いて次を示せ。 ベクトル \( x \in \mathbb{C}^n \) が存在して \( A x = b \) となるのは、\( b \) が \( A^{*} \) の零空間に直交する場合に限ること。また、このときの解 \( x \) は一意であり、次のように表されることを説明せよ。
x = (A^{*} A)^{-1} A^{*} b
行列解析の総本山



コメント