本記事では、ベクトルの直交射影について解説します。
直交射影とは
【定義】
\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}