本記事では、ベクトルの直交射影について解説します。
直交射影とは
【定義】
\(\mathbf{y} \in R^n\)とし、\(V\)を\(R^n\)の部分空間とする。
このとき、\(\acute{\mathbf{y}} \in R^n\)が
\[\acute{\mathbf{y}} \in V \:\:\:\:\mathrm{かつ} \:\:\:\: \mathbf{y} – \acute{\mathbf{y}} \perp V \:\:(\mathbf{y} – \acute{\mathbf{y}} \in V^\perp)\]
を満たすとき、\(\acute{\mathbf{y}}\)を、\(\mathbf{y}\)による\(V\)上への直交射影ベクトルという。また、\(\mathbf{y} – \acute{\mathbf{y}}\)を誤差ベクトルというこもある。
1次元部分空間への直交射影ベクトル
\(\mathbf{a},\, \mathbf{b} \in R^n\)とし、\(\mathbf{b}\)は\(R^n\)の1次元部分空間の基底とする。また、\(\mathbf{a} \notin \mathrm{span}\mathbf{b}\)である。
このとき、\(\mathbf{a}\)から\(\mathrm{span} \mathbf{b}\)への直交射影ベクトルを\(\acute{\mathbf{a}}\)とすると、\(\acute{\mathbf{a}}\)は、直交射影の定義より、
\[\acute{\mathbf{a}} \in \mathrm{span} \mathbf{b}, \:\:\: \mathrm{かつ} \:\:\: \mathbf{a} – \acute{\mathbf{a}} \perp \mathrm{span} \mathbf{b} \]
を満たす。
まず、\(\acute{\mathbf{a}} \in \mathrm{span} \mathbf{b}\)より、ある定数\(k\)が存在して、\(\acute{\mathbf{a}} = k \mathbf{b}\)と表せる。以降では、この定数\(k\)を求めて、\(\acute{\mathbf{a}}\)を具体的な形で表すことを目指す。
【射影の幾何学的イメージ】
\(\mathbf{a}\)から\(\mathrm{span} \mathbf{b}\)上へ垂線を下ろす操作が射影に相当し、その交点として得られるのが射影ベクトル\(\acute{\mathbf{a}}\)となる。
次に、\(\mathbf{a} – \acute{\mathbf{a}} \perp \mathrm{span} \mathbf{b}\)より、\(\mathbf{a} – \acute{\mathbf{a}}\)は\(\mathrm{span} \mathbf{b}\)に属する任意のベクトルと直交するから、当然\(\mathbf{b}\)とも直交する。よって、\(\mathbf{a} -\acute{\mathbf{a}}\)と\(\mathbf{b}\)の内積は\(0\)となる。
\[\langle \mathbf{a} -\acute{\mathbf{a}}, \mathbf{b} \rangle = 0\]
これを展開していく。
\begin{align*}
&\langle \mathbf{a} -\acute{\mathbf{a}}, \mathbf{b} \rangle = 0 \\
&\langle (\mathbf{a} – k \mathbf{b}), \mathbf{b} \rangle = 0 \\
&\langle\mathbf{a}, \mathbf{b}\rangle – k\langle \mathbf{b}, \mathbf{b} \rangle = 0 \\
&k||\mathbf{b}||^2 = \langle \mathbf{a}, \mathbf{b} \rangle \\
& k = \frac{\langle \mathbf{a}, \mathbf{b} \rangle}{||\mathbf{b}||^2}
\end{align*}
よって、\(\mathbf{a}\)から\(\mathrm{span} \mathbf{b}\)への直交射影ベクトル\(\acute{\mathbf{a}}\)は、
\[\acute{\mathbf{a}} = \frac{\langle\mathbf{a}, \mathbf{b} \rangle}{||\mathbf{b}||^2}\mathbf{b}\]
であり、この\(k = \langle\mathbf{a}, \mathbf{b} \rangle/||\mathbf{b}||^2\)を、\(\mathrm{span} \mathbf{b}\)に沿う\(\mathbf{a}\)の成分(座標)という。ここで、\(\mathbf{b}\)が正規化されているならば、\(||\mathbf{b}|| = 1\)より、\(k=\langle\mathbf{a}, \mathbf{b}\rangle\)となり、
\[\acute{\mathbf{a}} = \langle\mathbf{a}, \mathbf{b} \rangle \mathbf{b}\]
とより関係に表せる。
多次元部分空間への直交射影
概要
\(p\)次元ユーグリッド空間\(R^p \: (\dim R^p = p)\)において、\(n\)個の\(p\)次元ベクトル\({\mathbf{a_1}, \mathbf{a_2}, \cdots, \mathbf{a_n}}\)によるスパン\(\mathrm{Span}[\mathbf{a_1}, \mathbf{a_2}, \cdots, \mathbf{a_n}]\)が生成する部分空間を想定する。
ここで、\(\dim \mathrm{Span}[\mathbf{a_1}, \mathbf{a_2}, \cdots, \mathbf{a_n}] = n\)、つまり、\({\mathbf{a_1}, \mathbf{a_2}, \cdots, \mathbf{a_n}}\)は\(n\)個全てが線形独立とし、また、\(n < p\)、つまり、\(\mathrm{Span}[\mathbf{a_1}, \mathbf{a_2}, \cdots, \mathbf{a_n}]\)は、\(R^p\)の部分空間ではあるが、\(R^p\)とは完全には一致しないとする。
さらに、行列\(A\)を、\(A = (\mathbf{a_1}, \mathbf{a_2}, \cdots, \mathbf{a_n})\)と定めれば、\(A\)は\(p \times n\)行列となり、\(R^n \to R^p\)の(標準基底に関する)線形写像の表現行列となる。\(R^n\)は\(A\)の定義域、\(R^p\)は\(A\)の終域で、\(\mathrm{Im}\, A = \mathrm{Span}[\mathbf{a_1}, \mathbf{a_2}, \cdots, \mathbf{a_n}]\)となる。
以上の設定の下、任意の\(\mathbf{y} \in R^p\)に対し、\(\mathbf{y} \notin \mathrm{Im}\, A\)であるとして、\(\mathbf{y} \)から\(\mathrm{Im}\, A\)への直交射影を考える。
理論展開(証明)
まず、\( \mathbf{y} \) から \( \mathrm{Im}\, A \) への直交射影ベクトルを \( \mathbf{p} \) とすると、 \( \mathbf{p} \) は直交射影ベクトルの定義より、
\[ \mathbf{p} \in \mathrm{Im}\, A \:\:\: \mathrm{かつ} \:\:\: \mathbf{y} – \mathbf{p} \perp \mathrm{Im}\, A \]
と満たす。
まず、 \( \mathbf{p} \in \mathrm{Im}\, A \) より、 \( \mathbf{p} \) は、あるn次元ベクトル \( \mathbf{x} \) が存在して、 \( \mathbf{p} = A \mathbf{x} \) と表せる。
【理論展開の方向性】
ここで、以降の考察で、最終的に求める2つ概念を改めて明確にしておく。まず1つ目は、 \( \mathbf{x} \) で、これは \( \mathrm{Im}\, A \) に沿う \( \mathbf{y} \) の成分(座標)である。2つ目は、 \( \mathbf{p} \) で、これは、 \( \mathbf{y} \) から \( \mathrm{Im}\, A \) への直交射影ベクトルである。
次に、 \( \mathbf{y} – \mathbf{p} \perp \mathrm{Im}\, A \) より、任意の \( \mathbf{u} \in \mathrm{Im}\, A \) と \( \mathbf{y} – \mathbf{p} \) は直交するので、 \( \mathbf{u} \) と \( \mathbf{y} – \mathbf{p} \) の内積は0となり、以下の関係式を得る。
\[ \langle \mathbf{u}, \mathbf{y} – \mathbf{p} \rangle = 0 \]
以下では、この関係式を展開していく。なお、何らかのn次元ベクトル \( \mathbf{c} = (c_1, c_2, \cdots, c_n)^\top \) があって、 \( \mathbf{u} = A\mathbf{c} \) であるとする。
\begin{align*}
\langle \mathbf{u}, \mathbf{y} – \mathbf{p}\rangle = 0 \\
\langle A\mathbf{c}, \mathbf{y} – A\mathbf{x}\rangle = 0 \\
\langle\mathbf{c}, A^\top(\mathbf{y} – A\mathbf{x})\rangle = 0\\
\langle\mathbf{c}, A^\top \mathbf{y} – A^\top A\mathbf{x}\rangle = 0
\end{align*}
ここで、 \( \mathbf{u} \in \mathrm{Im}\, A \) は任意であるので、それの \( \mathrm{Im}\, A \) における座標ベクトル \( \mathbf{c} \) も任意となる。よって、関係式 \( \langle \mathbf{c}, A^\top \mathbf{y} – A^\top A\mathbf{x}\rangle = 0 \) を満たすには、 \( A^\top \mathbf{y} – A^\top A\mathbf{x} \) がゼロベクトルである必要があるので、
\begin{align*}
A^\top \mathbf{y} – A^\top A\mathbf{x} &= \mathbf{0}\\
A^\top A\mathbf{x} &= A^\top \mathbf{y}
\end{align*}
という関係式を得る。
ここで\((A^\top A)^{-1}\)に逆行列が存在すれば、すなわち、\(A^\top A\)が正則であるなら、両辺に左から\((A^\top A)^{-1}\)をかけることで、求めたい\( \mathbf{x} \) が求まる。そこで、\(A^\top A\)の正則性の確認を行う。
まず一般論として、\(A^\top A\)は、n次対称行列(正方行列)であり、正則であるため十分条件は\(\mathrm{rank}\, A^\top A = n\)で、さらに\(\mathrm{rank}\, A^\top A = \mathrm{rank}\, A\)が成り立つ。
仮定より、\(\dim \mathrm{span} [\mathbf{a}_1, \mathbf{a}_2, \cdots, \mathbf{a}_n] = n\)であり、また、\(\dim \mathrm{span} [\mathbf{a}_1, \mathbf{a}_2, \cdots, \mathbf{a}_n] = \dim \mathrm{Im}\, A = \mathrm{rank}\, A\)であるから、\(\mathrm{rank}\, A = n\)である。すなわち、
\[\mathrm{rank}\, A = \mathrm{rank}\, A^\top A = n\]
以上より、\(A^\top A\)は正則なので、その逆行列が存在する。よって、
\begin{align*}
A^\top A\mathbf{x} &= A^\top \mathbf{y} \\
(A^\top A)^{-1}A^\top A\mathbf{x} &= (A^\top A)^{-1}A^\top \mathbf{y} \\
\mathbf{x} &= (A^\top A)^{-1}A^\top \mathbf{y}
\end{align*}
以上より、\( \mathbf{y} \) の \( \mathrm{Im}\, A \) に沿う成分(座標) \( \mathbf{x} \) は、
\[\mathbf{x} = (A^\top A)^{-1}A^\top \mathbf{y}\]
また、\( \mathbf{y} \) から \( \mathrm{Im}\, A \) への直交射影ベクトル \( \mathbf{p} = A\mathbf{x} \) は、 \( \mathbf{x} \) に今得られた結果を代入することで、
\[\mathbf{p} = A(A^\top A)^{-1}A^\top \mathbf{y}\]
以上の議論を定理としてまとめると以下になる。
\( p \times n\) 行列\( A\) において、\(\mathrm{rank}\, A = n\)であるとする。このとき、任意の\(\mathbf{y} \in R^p\)に対し、
\(\mathrm{Im}\, A\)に沿う\(\mathbf{x}\)の成分(座標)を\(\mathbf{x}\)とすると、\(\mathbf{x}\)は、
\[\mathbf{x} = (A^\top A)^{-1}A^\top \mathbf{y}\]
\(\mathbf{y}\)から\(\mathrm{Im}\, A\)への直交射影ベクトルを\(\mathbf{p}\)とすると、
\[\mathbf{p} = A(A^\top A)^{-1}A^\top \mathbf{y}\]
\(\mathbf{y}\)を\(\mathbf{p} \in \mathrm{Im}\, A\)に直交射影するp次正方行列\(P\)は、
\[P = A(A^\top A)^{-1}A^\top\]
直交射影行列
直交射影行列の定義
$p \times n$行列$A$について、\(\mathrm{rank}\, A = n\)であるとする。このとき、以下に定まるn次正方行列
\[P_V = A(A^\top A)^{-1}A^\top\]
を、\(V = \mathrm{Im}\, A\)への直交射影行列という。
1次元部分空間への直交射影行列
直交射影行列の性質
\(\mathbf{y} \in V\)ならば\(P_V\mathbf{y} = \mathbf{y}\)
\(V = \mathrm{Im}\, A\)とする。仮定より\(\mathbf{y} \in \mathrm{Im}\, A\)であるから、ある係数ベクトル\(\mathbf{x} \in R^n\)が存在して、
\[\mathbf{y} = A\mathbf{x}\]
このとき、
\begin{align}
P_V\mathbf{y} &= A(A^\top A)^{-1}A^\top A\mathbf{x} \\
&= A\mathbf{x} \\
&= \mathbf{y}
\end{align}