最小ノルム解の導出と図による理解

「連立一次方程式を満たす解の中で一番原点に近いものを求める」問題です。この問題はきれいに解けます。

定理1(最小ノルム解)

Ax=bA\overrightarrow{x}=\overrightarrow{b} を満たす x\overrightarrow{x} の中で x2\|\overrightarrow{x}\|_2 を最小にする解 x\overrightarrow{x_*} がただ1つ存在し, x=A(AA)1b\overrightarrow{x_*}=A^{\top}(AA^{\top})^{-1}\overrightarrow{b} ただし,AA は行ベクトルが線形独立な m×nm\times n 行列,x\overrightarrow{x}nn 次元ベクトル,b\overrightarrow{b}mm 次元ベクトルとする。

最小ノルム解について,問題設定・定理の証明・射影による理解を紹介します。

問題設定・記号

  • x2\|\overrightarrow{x}\|_2x\overrightarrow{x} の長さ(2ノルム)です。つまり,x\overrightarrow{x} の各成分を x1,...,xnx_1,...,x_n とすると x2=x12+x22++xn2\|\overrightarrow{x}\|_2=\sqrt{x_1^2+x_2^2+\cdots +x_n^2} です。

  • AA の行ベクトルが線形独立なので,mnm\leqq n です。横長行列(方程式の数よりも変数の数が多い連立方程式)をイメージしてください。

  • rankA=m\mathrm{rank}\:A=m です。よって,任意の b\overrightarrow{b} に対して Ax=bA\overrightarrow{x}=\overrightarrow{b} を満たす解 x\overrightarrow{x} が存在します。その解の中で x2\|x\|_2 を最小にするもの(最小ノルム解)を探す問題です。

最小ノルム解の証明

冒頭の定理を証明します。主張を3つにわけてそれぞれ証明します:

  1. そもそも AAAA^{\top} に逆行列 (AA)1(AA^{\top})^{-1} が存在すること。
  2. x=A(AA)1b\overrightarrow{x_{*}}=A^{\top}(AA^{\top})^{-1}\overrightarrow{b}Ax=bA\overrightarrow{x}=\overrightarrow{b} の解であること。
  3. Ax=bA\overrightarrow{x}=\overrightarrow{b} なる任意の x\overrightarrow{x} に対して x2x2\|\overrightarrow{x}\|_2\geqq \|\overrightarrow{x_*}\|_2 であること。
1の証明

AAAA^{\top} が正則であることを証明する。具体的には,行列が正則であることの意味と5つの条件の条件4「AAx=0AA^{\top}\overrightarrow{x}=\overrightarrow{0} なら x=0\overrightarrow{x}=\overrightarrow{0}」を証明する。

AAx=0AA^{\top}\overrightarrow{x}=\overrightarrow{0} なら xAAx=0\overrightarrow{x}^{\top}AA^{\top}\overrightarrow{x}=0,つまり (Ax)(Ax)=0(A^{\top}\overrightarrow{x})^{\top}(A^{\top}\overrightarrow{x})=0

Ax22=0\|A^{\top}\overrightarrow{x}\|_2^2=0

長さが 00 であるベクトルは 0\overrightarrow{0} のみなので

Ax=0A^{\top}\overrightarrow{x}=\overrightarrow{0}

ここで,定理の仮定より AA の行ベクトルが線形独立なので,AA^{\top} の列ベクトルが線形独立。つまり x=0\overrightarrow{x}=\overrightarrow{0} がわかる。

2の証明

Ax=(AA)(AA)1b=bA\overrightarrow{x_*}=(AA^{\top})(AA^{\top})^{-1}\overrightarrow{b}=\overrightarrow{b}

3の証明

x22=xx+x22=xx22+x22+2(xx)x\|\overrightarrow{x}\|^2_2\\ =\|\overrightarrow{x}-\overrightarrow{x}_*+\overrightarrow{x}_*\|_2^2\\ =\|\overrightarrow{x}-\overrightarrow{x_*}\|_2^2+\|\overrightarrow{x}_*\|_2^2+2(\overrightarrow{x}-\overrightarrow{x_*})^{\top}\overrightarrow{x_*}

ここで「Ax=bA\overrightarrow{x}=\overrightarrow{b} のとき第三項が 00」なら x2x2\|\overrightarrow{x}\|_2\geqq \|\overrightarrow{x_*}\|_2 がわかる。以下では「Ax=bA\overrightarrow{x}=\overrightarrow{b} のとき第三項が 00」を示す:

(xx)x=(xx)A(AA)1b=(AxAx)(AA)1b=(bb)(AA)1b=0(\overrightarrow{x}-\overrightarrow{x_*})^{\top} \overrightarrow{x_*}\\ =(\overrightarrow{x}-\overrightarrow{x_*})^{\top} A^{\top}(AA^{\top})^{-1}\overrightarrow{b}\\ =(A\overrightarrow{x}-A\overrightarrow{x_*})^{\top}(AA^{\top})^{-1}\overrightarrow{b}\\ =(\overrightarrow{b}-\overrightarrow{b})(AA^{\top})^{-1}\overrightarrow{b}\\ =0

参考文献:Least-norm solutions of undetermined equations

射影による理解

定理2

Ax0=bA\overrightarrow{x_0}=\overrightarrow{b} なる任意の x0\overrightarrow{x_0} に対して,x0\overrightarrow{x_0}(KerA)(\mathrm{Ker}\:A)^{\perp} に直交射影したら x\overrightarrow{x_*} になる。

ただし,定理2における記号の意味や前提は定理1のものと同じとします。

KerA\mathrm{Ker}\:AAx=0A\overrightarrow{x}=\overrightarrow{0} を満たす x\overrightarrow{x} 全体の集合(→行列のカーネル(核)の性質と求め方)で,\perp は直交補空間を表します。

証明

Im(A)=(KerA)\mathrm{Im}(A^{\top})=(\mathrm{Ker}\:A)^{\perp} である(有名な公式)。

よって,Im(A)\mathrm{Im}(A^{\top}) への射影を考える。これは射影行列のイメージと楽しい公式より,P=A(AA)1AP=A^{\top}(AA^{\top})^{-1}A をかけることに対応する。

つまり,Px0=xP\overrightarrow{x_0}=\overrightarrow{x_*} を示せばよい。

これは x=A(AA)1b\overrightarrow{x_*}=A^{\top}(AA^{\top})^{-1}\overrightarrow{b}Ax0=bA\overrightarrow{x_0}=\overrightarrow{b} から分かる。

定理2のイメージ

射影による理解 図のように理解できます。図の説明:

  1. Ax=bA\overrightarrow{x}=\overrightarrow{b} の解空間上に x0\overrightarrow{x_0} があります。

  2. その解空間は KerA\mathrm{Ker}\:A と平行です。なぜなら解に KerA\mathrm{Ker}\:A の元を加えても解だからです。

  3. その直交補空間 (KerA)(\mathrm{Ker}\:A)^{\perp} を考えます。解空間とも直交します。

  4. x0\overrightarrow{x_0}(KerA)(\mathrm{Ker}\:A)^{\perp} に射影した x\overrightarrow{x_*} が解空間の中で一番原点に近いのでノルム最小解になります。

定理1の証明は思ったより単純でした。