seegongsik
工業数学 わかりやすく

最小二乗法 射影 わかりやすく

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

太陽が真上にあるとき、空中の一点が床に落とす影を思い浮かべてみましょう。その影は、床の上でもとの点にいちばん近い場所で、点から影へ下ろした線はいつも床と直角です。これが射影です。一点ではなく、何十ものデータ点を同じやり方でいっぺんに影へ落とすと、それがまさに最小二乗法で、すべての点にいちばん近いところを通る直線が回帰直線です。AI がデータにモデルを合わせることも、結局はこの影を落とす一つの動作なのです。

青い点は固定されています。スライダーで原点を通る直線の角度を回すと、変化がはっきりします。直線の上の金色の点は青い点の影、つまり直線の上で青い点にいちばん近い場所です。青い点から影へ下りる赤い点線はいつも直線と直角をなし、これが残差です。直線が青い点のほうをちょうど指すとき、残差は 0 に縮んで影が点と重なり、直線が点からずれるほど残差は長くなります。原点から影までの金色の線分が射影の長さで、下には射影の長さ p·u と残差の長さが並んで表示され、二つがどうかみ合っているかがわかります。

今度は直線を 30 度に固定して、青い点を自分でドラッグします。点をどこへ動かしても直線の上の金色の影がついてきて、点から影へ下りる赤い点線はいつも直線と直角です。この直角が核心です。残差が直線と垂直なとき、その残差の長さがそのまま点から直線までのいちばん短い距離で、直線の上のほかのどの点へ行ってもそれより遠くなります。点を直線から遠くへ引くと下の距離の値が大きくなり、直線にぴったり寄せると 0 に近づきます。いちばん近いことと直角であることは、同じ事実の二つの顔なのです。

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

今度は点一つではなく、点が七つです。スライダーで直線の傾きと切片を動かすと、各点から金色の直線へ下りる赤い縦の点線がその点の残差で、その二乗をすべて足した値が SSE (二乗誤差の和)です。直線が点の真ん中をうまく通るほど残差は短くなり、下の値は小さくなります。手でいちばんよい直線を探してから「最適な当てはめ」ボタンを押すと、傾きと切片が最小二乗の公式が与える正確な値へ飛び、二乗誤差の和がとりうるいちばん小さな値に落ちます。これが回帰直線です。手で見つけた直線がその値にどれだけ近かったかを見比べるのも、よい練習になります。

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

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