seegongsik
単語帳
工業数学

射影は最も近い影だ

射影は直線や平面の上で最も近い点、残りはつねに垂直で、データに積めば最小二乗になる

棒に光を当てると床に影ができますね。その影は棒の上の一点で、元の点から最も近い床の上の場所です。点から影へ下りる線は、つねに床と直角に交わります。これが射影です。一点ではなく数十のデータ点を同じやり方で一斉に影として落とせば、それが最小二乗です。すべての点に最も近く通る直線、すなわち回帰直線。AI がデータにモデルを合わせることは、結局この影を落とす一つの動作なのです。

青い点 p は固定です。スライダーで原点を通る直線の角度を回してみてください。直線上の金の点 f は p の影、つまり直線上で p に最も近い場所です。p から f へ下りる赤い破線はつねに直線と直角に交わり、これが残差です。直線が p の方をちょうど指すと残差は0に縮み、影は p と重なります。直線が p からずれるほど残差は長くなります。射影の長さ p·u と残差の長さを並べて読み、二つがどう釣り合うかを見てください。

今度は直線を30度に固定し、点 p を自分で動かしてみてください。p がどこへ行っても直線上の影(射影の足)が追従し、p からそこへ下りる破線はつねに直線と直角です。この直角こそが要点です。残差が直線と垂直なとき、その長さがちょうど p から直線までの最短距離になります。直線上の他のどの点へ行ってもより遠いのです。p を直線から遠くへ動かすと距離の表示が大きくなり、近づけると0に近づきます。最も近いことと垂直であることは、同じ事実の二つの顔です。

なぜ影の長さは p·u なのでしょう。直線を x 軸(u=e1)に置き、長さを3に固定したベクトル p の角度 θ だけをスライダーで変えてみてください。p の x 軸への影(金)は長さ |p|cosθ で、縦に下りる破線がその影を作ります。θ=0 なら p は直線と並び影はまるごと3、θ が90度へ向かうと p は直線と直角になり影は0へ消えます。この |p|cosθ こそ内積 p·u の定義です。内積は結局、一つのベクトルが別のベクトルの方向へ落とす影の長さを測る物差しなのです。

今度は一点ではなく七点です。スライダーで直線の傾き m と切片 b を動かしてみてください。各点から直線へ下りる縦の破線がその点の残差で、その二乗をすべて足した値が SSE(二乗誤差の和)です。直線が点群の真ん中をうまく通るほど残差は短くなり SSE は小さくなります。手で最善を探したあと、最適化ボタンを押してみてください。m と b が最小二乗の公式が与える正確な値へ跳び、SSE が可能な最小値まで落ちます。これが回帰直線です。

最後に、幾何で見ると最小二乗は一行で閉じます。青い目標ベクトル b があり、モデルが作れるのは金の方向ベクトル a が描く直線上の点だけです。最も近い近似は b をその直線へ射影した点 p で、残る残差 r=b−p は a と直角でなければなりません。トグルを入れるとその垂線(破線)が現れ、a·r が0に近いのが見えます。この直角条件こそ正規方程式 aᵀ(b−Ax)=0 です。ブロック1の残差の直交が、ここでそのまま方程式になりました。最小二乗とはつねに、残差をモデル空間に垂直に立てる営みなのです。

実際に使う射影は、一点を直線や平面の上で最も近い場所へ落とした影です。その場所は残差がモデル空間と直角のときに定まり、影の長さは内積 p·u で測ります。垂直と最近接が同じ事実だということが、すべての根です。多くのデータ点に同じ射影を適用すれば最小二乗で、二乗誤差の和を最小化する直線が回帰直線です。残差がモデルと直交するという条件を式に書けば正規方程式 aᵀ(b−Ax)=0 になります。直線合わせ、曲線適合、ニューラルネットの出力較正まで、AI がデータにモデルを合わせることは、結局データベクトルをモデル空間へ射影する一つの動作なのです。
工業数学
このページがお役に立ったなら支援する