機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

射影(直交射影)

線形写像

\mathbb R^n から \mathbb R^m への線形写像はある m\times n 行列 {\bf A} で表されます。
これを定める基本的な方法は、\mathbb R^n に1つの正規直交基底 \{{\bf u}_1,\ldots,{\bf u}_n\} を定め、
それぞれの像 {\bf a}_1,\ldots,{\bf a}_n を指定することです。
この時、\bf A は次のように書けます。

\begin{eqnarray}
{\bf A}={\bf a}_1{\bf u}_1^\top+\cdots+{\bf a}_n{\bf u}_n^\top\hspace{20px}({\bf u}_i^\top{\bf u}_j=\delta_{ij})\tag{1}
\end{eqnarray}

(1) は超大事です。今後多用します。

実際、(1){\bf u}_i を掛けると {\bf A}{\bf u}_i={\bf a}_i となります。
特に、\mathbb R^n の正規直交基底として自然基底(標準規定) \{{\bf e}_1,\ldots,{\bf e}_n\} をとり、
それぞれの像を {\bf a}_i=(a_{1i},\cdots,a_{mi})^\top とおくと、

\begin{eqnarray}
{\bf A}&=&{\bf a}_1{\bf e}_1^\top+\cdots+{\bf a}_n{\bf e}_n^\top\\
&=&({\bf a}_1\cdots{\bf a}_n)\tag{2}
\end{eqnarray}

となります。

射影と反射影

\mathbb R^n にある r 本の線形独立なベクトル {\bf u}_1,\ldots,{\bf u}_r を指定したとき、
それらの線形結合全体 \mathcal{U}\subset\mathbb R^n{\bf u}_1,\ldots,{\bf u}_r の張る r 次元部分空間と呼びます。

P\in\mathbb R^n に対して、点 Q\in\mathcal{U}\vec{PQ}\mathcal U に直交する点 Q を点 P\mathcal U への射影と呼び、
\vec{QP} を点 Q\mathcal U からの反射影と呼びます。
Q\mathcal U を別の点 Q' へ移動すると、三平方の定理より

\begin{eqnarray}
 ||PQ'||^2=||PQ||^2+||QQ'||^2>||PQ||^2\tag{3}
\end{eqnarray}

であるから、射影した点 Q は点 P からの最短距離でもあります。

以上のことは次のように書けます。

\begin{eqnarray}
&&\vec{OP}=\vec{OQ}+\vec{QP},\\
&&\vec{OQ}\in\mathcal{U},\\
&&\vec{QP}\in\mathcal{U}^{\perp}\tag{4}
\end{eqnarray}

ただし、\mathcal{U}^{\perp}\mathcal{U} に直交するベクトル全体であり、\mathcal{U} の直交補空間と呼びます。

\mathbb R^n のベクトルは \mathcal U への射影とそれからの反射影の和で表されます。
このような表し方は一意的であり、\vec{OP}\mathcal{U}\mathcal{U}^{\perp} への直和分解であると言います。

射影行列

\mathcal U へ射影するする写像{\bf P}_{\mathcal{U}}\mathcal{U}^{\perp} へ射影するする写像{\bf P}_{\mathcal{U}^{\perp}} と置けば、
射影の定義より

\begin{eqnarray}
{\bf P}_{\mathcal{U}}{\bf x}=
\left\{
    \begin{array}{l}
      {\bf x}\hspace{20px}{\bf x}\in{\mathcal U}\\
     {\bf 0}\hspace{20px}{\bf x}\in\mathcal{U}^{\perp}
    \end{array}
  \right.
,\hspace{30px}{\bf P}_{\mathcal{U}^{\perp}}{\bf x}=
\left\{
    \begin{array}{l}
      {\bf 0}\hspace{20px}{\bf x}\in{\mathcal U}\\
     {\bf x}\hspace{20px}{\bf x}\in\mathcal{U}^{\perp}
    \end{array}\tag{6}
  \right.
\end{eqnarray}

です。
\mathcal{U} に正規直交基底 \{{\bf u}_1\ldots,{\bf u}_r\} を指定すると、それは \mathbb R^n の正規直交基底 \{{\bf u}_1\ldots,{\bf u}_r,{\bf u}_{r+1},\ldots,{\bf u}_n\} と拡張できます。
(6) の左式は、{\bf P}_{\mathcal U}\{{\bf u}_1\ldots,{\bf u}_n\}{\bf u}_1\ldots,{\bf u}_r,{\bf 0},\ldots,{\bf 0}写像することを意味します。
同様に、{\bf P}_{\mathcal{U}^{\perp}}\{{\bf u}_1\ldots,{\bf u}_n\}{\bf 0},\ldots,{\bf 0},{\bf u}_{r+1}\ldots,{\bf u}_n写像することを意味します。
よって、以下のように書けます。

\begin{eqnarray}
&&{\bf P}_{\mathcal U}={\bf u}_1{\bf u}_1^\top+\cdots+{\bf u}_r{\bf u}_r^\top\tag{7}\\
&&{\bf P}_{\mathcal{U}^{\perp}}={\bf u}_{r+1}{\bf u}_{r+1}^\top+\cdots+{\bf u}_n{\bf u}_n^\top\tag{8}\\
\end{eqnarray}

すべての点 P に対して、\vec{OP}={\bf P}_{\mathcal{U}}\vec{OP}+{\bf P}_{\mathcal{U}^{\perp}}\vec{OP}=({\bf P}_{\mathcal{U}}+{\bf P}_{\mathcal{U}})\vec{OP} であるから、

\begin{eqnarray}
{\bf I}&=&{\bf P}_{\mathcal{U}}+{\bf P}_{\mathcal{U}}\\
&=&{\bf u}_1{\bf u}_1^\top+\cdots+{\bf u}_r{\bf u}_r^\top+{\bf u}_{r+1}{\bf u}_{r+1}^\top+\cdots+{\bf u}_n{\bf u}_n^\top\tag{9}
\end{eqnarray}

が成り立ちます。
また、\vec{OQ}={\bf P}_{\mathcal U}\vec{OP}\vec{QP}={\bf P}_{\mathcal{U}^{\perp}}\vec{OP} は直交するから

\begin{eqnarray}
 ||\vec{OP}||^2=||\vec{OQ}||^2+||\vec{QP}||^2\tag{10}
\end{eqnarray}

です。よって、{\bf x}\in\mathbb{R}^n に対して、

\begin{eqnarray}
 ||{\bf x}||^2=||{\bf P}_{\mathcal U}{\bf x}||^2+||{\bf P}_{\mathcal{U}^{\perp}}{\bf x}||^2\tag{11}
\end{eqnarray}

が成り立ちます。

{\bf P}_{\mathcal{U}} に対して、以下の式が成り立ちます。

\begin{eqnarray}
{\bf P}_{\mathcal{U}}^\top&=&\left(\sum_{i=1}^r{\bf u}_i{\bf u}_i^\top\right)^\top\\
&=&\sum_{i=1}^r{\bf u}_i{\bf u}_i^\top\\
&=&{\bf P}_{\mathcal{U}}\tag{12}
\end{eqnarray}

\begin{eqnarray}
{\bf P_{\mathcal U}}^2&=&\left(\sum_{i=1}^r{\bf u}_i{\bf u}_i^\top\right)\left(\sum_{i=1}^r{\bf u}_i{\bf u}_i^\top\right)\\
&=&\sum_{i=1}^r\sum_{j=1}^r{\bf u}_i{\bf u}_i^\top{\bf u}_j{\bf u}_j^\top\\
&=&\sum_{i=1}^r\sum_{j=1}^r{\bf u}_i\langle{\bf u}_i,{\bf u}_j\rangle{\bf u}_j^\top\\
&=&\sum_{i=1}^r\sum_{j=1}^r\delta_{ij}{\bf u}_i{\bf u}_j^\top\\
&=&\sum_{i=1}^r{\bf u}_i{\bf u}_i^\top\\
&=&{\bf P}_{\mathcal U}\tag{13}
\end{eqnarray}

(12){\bf P}_{\mathcal U} が対象行列であることを意味します。
(13) は一度射影した点をもう一度射影しても変化しないことを意味します。

直線への射影

原点 O を通り単位ベクトル {\bf u} 方向へ延びる直線 l は1次元部分空間です。
直線 l 上への射影行列を {\bf P}_l と書くと、

\begin{eqnarray}
{\bf P}_l={\bf u}{\bf u}^\top\tag{14}
\end{eqnarray}

です。したがって、\vec{OP}l 上への射影は

\begin{eqnarray}
{\bf u}{\bf u}^\top\vec{OP}=\langle\vec{OP},{\bf u}\rangle{\bf u}\tag{15}
\end{eqnarray}

となります。

平面への射影

原点 O を通り単位ベクトル {\bf n} を法線ベクトルとする平面 \Pin-1 次元部分空間です。
法線ベクトル {\bf n} の方向の直線は平面 \Pi の直交補空間であるから、
\Pi 上への射影行列を {\bf P}_n と書くと、

\begin{eqnarray}
{\bf P}_n={\bf I}-{\bf n}{\bf n}^\top\tag{16}
\end{eqnarray}

です。したがって、\vec{OP}\Pi 上への射影は

\begin{eqnarray}
{\bf P}_n\vec{OP}=\vec{OP}-\langle\vec{OP},{\bf n}\rangle{\bf n}\tag{17}
\end{eqnarray}

となります。

偉人の名言


負けても終わりではない。やめたら終わりだ。
リチャード・ニクソン

参考文献

線形代数セミナー

動画

本記事作成前に作成した動画なので、本記事とは内容が異なる可能性があります。

目次へ戻る