射影行列で影を落とす
ベクトル b を直線(方向 a)へまっすぐ落とした「影」が正射影 p = P b。残差 e = b − p が直線と直交する点が最近接点になります。最小二乗法の幾何的な正体です。
25°
70°
2.60
プリセット
図の中の b の先端(赤丸)をドラッグしても直接動かせます。
射影係数 x̂ = aᵀb / aᵀa
—
影の長さ |p|
—
残差の長さ |e|(=誤差)
—
e と直線のなす角
—
凡例
- 赤の矢印 … 元のベクトル b
- 灰の直線 … 射影先の方向(部分空間)
- 緑の矢印 … 影 p = Pb(最近接点)
- 青の点線 … 残差 e = b − p
b から直線へ垂線を下ろした足が緑の点。そこが直線上で b にいちばん近い点で、青い残差は必ず直線と直交します。
射影の様子(原点中心・1マス = 1)
あるベクトル b を、ある方向(直線)にまっすぐ落とした影を考えます。これが正射影 p です。
方向ベクトルを a とすると、影は
残差 e = b − p は必ず直線と直交し、その長さが最小になる点 p が直線上で b に最も近い点です。 これが最小二乗法の幾何そのもの ── 「誤差 e を最小にする」とは「b を部分空間へ射影する」ことなのです。
スライダーで直線の向きや b を変え、影と残差がどう動くか確かめてみましょう。
方向ベクトルを a とすると、影は
p = (aᵀb / aᵀa) · a、まとめて
p = P b(P = a aᵀ / aᵀa)と書けます。この P が射影行列です。残差 e = b − p は必ず直線と直交し、その長さが最小になる点 p が直線上で b に最も近い点です。 これが最小二乗法の幾何そのもの ── 「誤差 e を最小にする」とは「b を部分空間へ射影する」ことなのです。
スライダーで直線の向きや b を変え、影と残差がどう動くか確かめてみましょう。
いま何が起きている?
ここがポイント
- p = Pb ── 射影行列 P = a aᵀ / (aᵀa) を掛けると、b の影(最近接点)が一発で求まる。
- 残差 e ⟂ 部分空間 ── 影が「最も近い点」である条件は、残差 e が方向 a と直交(aᵀe = 0)すること。
- P は冪等 ── P² = P。影をもう一度射影しても動かない(すでに直線上だから)。固有値は 1 と 0。
- 最小二乗 = 射影 ── 「誤差 ‖b − p‖ を最小化」は「b を列空間へ射影」と同じ。垂線を下ろす操作が解になる。