はじめに
N個のデータ点をM個のパラメーを用いて最小二乗法でフィッティングしようとする時、これはN次元空間のデータ点から、M次元部分空間への正射影を求める問題と等価になります。ですが、N次元空間とかM次元部分空間とか言われても普通は想像できません。また、元々フィッティングしようとしていたデータの住む空間とは異なる空間での話になるのも混乱を助長します。
以下では簡単な系で「なるほど、たしかに最小二乗法は射影だな」と思えるような説明を試みます。
最小二乗法
まずは最小二乗法を定式化しておきましょう。簡単のため、データはスカラーであるとします。何か入力値xがあるとき、その出力yを予想する関数y=f(x)を推定するのが目的です。
N個入力点x1,x2,⋯,xNに対して、観測値y1,y2,⋯,yNが与えられているとします。これをM個のパラメータθ1,θ2,⋯,θMを持つ関数f(x;θ)で近似することにします。ただしθはパラメータをまとめて書いたものです。
例えば、入力値がxiだったとして、推定値はy~i=f(xi;θ)となります。正解データはyiですから、誤差は∣yi−y~i∣です。これがN点あるのですから、これらの二乗和Eを近似の誤差としましょう。
E=i∑(yi−y~i)2
このEを最小化するようにパラメータを決めましょう、というのが最小二乗法です。
例を挙げましょう。パラメータを一つだけとし、θ1=aとします。推定関数をy=axとしましょう。入力xiに対する推定値はy~i=axiなので、誤差は
E=i∑(yi−axi)2=a2i∑xi2−2ai∑xiyi+i∑yi2
となります。あとの計算のために二乗を展開しておきました。これを最小にするaを求めるため、aで微分します。
∂a∂E=2ai∑xi2−2i∑xiyi=0
ここから、
a=∑ixi2∑ixiyi
と求められます。ここまでは「誤差を微分してゼロとなるようなパラメータが最小値を与えるよね」という解析学的な扱いでしたが、この幾何学的な意味を考えよう、というのが本稿の目的です。
幾何学的な解釈
もう一度誤差を見てみましょう。
E=i∑(yi−y~i)2
ここで、y=(y1,y2,⋯,yN)、y~=(y~1,y~2,⋯,y~N)というベクトルを定義すると
E=∣y−y~∣2
と書き直せます。これは2つのN次元ベクトルの距離です。これを最小化しようと言うのですから、最小二乗法は「与えられたベクトルyに対して、なるべくy~を近づけるようにパラメータを選ぶ作業」となります。いま、パラメータがM個であるとするなら、パラメータをいろいろ変えてみると、y~は(N次元ベクトルだけれど)M次元空間を動くことになります。この辺がわかりにくいので、具体例を見てみましょう。
パラメータ1つの場合
データ点N=2、パラメータ数M=1の場合を考えます。いま、データ点として
(xiyi)=(11.1),(21.8)
の2点が与えられているとしましょう(N=2)。これを
という一つのパラメータを持つ関数でフィッティングします(M=1)。データ点のベクトルは
y≡(y1y2)=(1.11.8)
という二次元ベクトルになります。同様に、データ点の推定ベクトルは
y~≡(y~1y~2)=(ax1ax2)=(a2a)
となります。このベクトルy~は2次元ベクトルですが、パラメータaを色々かえると、直線上を動きます。したがって、パラメータaをいろいろ変えた時のy~の軌跡の集合は直線になります。

我々の目的はデータ点ベクトルyと、推定ベクトルy~をなるべく近づけることですから、幾何学的にはデータ点ベクトルから、推定ベクトルy~が描く直線に垂線を下ろし、その足が求める最良推定点であり、その点を与えるパラメータがフィッティング結果ということになります。
パラメータ2つの場合
データ点N=3、パラメータ数M=2の場合を考えます。いま、データ点として
(x1y1),(x2y2),(x3y3)
の3点が与えられているとしましょう(N=2)。これを
y=ax+b
という2つのパラメータを持つ関数でフィッティングします(M=2)。データ点のベクトルは
y≡y1y2y3
という3次元ベクトルになります。同様に、データ点の推定ベクトルは
y~≡y~1y~2y~3=ax1+bax2+bax3+b
となります。このベクトルy~は3次元ベクトルですが、パラメータa,bを色々かえると、平面上を動きます。したがって、パラメータをいろいろ変えた時のy~の軌跡の集合は平面になります。

この平面上の点で、最もデータ点ベクトルyに近いものを探したいのですから、データ点ベクトルからこの平面に垂線を下ろし、その足が求める最良推定点であり、またその点を与えるパラメータがフィッティング結果となります。
まとめ
最小二乗法はデータ点ベクトルyと、その推定ベクトルy~をなるべく近づけようとする手法であり、データ点が(x,y)という二次元の住人であっても、データ数がN点あったらデータ点ベクトルyはN次元空間の住人になるところがちょっとわかりにくいポイントです。
それさえわかってしまえば、「N個のデータをM個のパラメータでフィッティングする」という問題は、「N次元空間中にあるベクトルから、M次元部分空間に正射影する」という問題になることはわかりやすいのかな、と思います。例えばN=2,M=1なら、2次元空間上の点から直線への垂線に、N=3,M=2なら、3次元空間上の点から平面への垂線となります。
PRMLの3.1.2節に最小二乗法の幾何学的な意味の解説がありましたが、そのままではちょっとわかりにくいかなと思って説明を書いてみました。参考になれば幸いです。
参考
Discussion