数学

【線形代数】ベクトルの直交射影

本記事では、ベクトルの直交射影について解説します。

直交射影とは

 

【定義】

\(\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}