線形代数 · 直交射影

直交射影

ベクトルbの部分空間への直交射影とは、その部分空間でbに最も近い点pです。誤差e = b − pは部分空間に垂直で、それ以外の点qはすべて遠くなります:|b − q|² = |e|² + |p − q|²。

この図で見る直交射影

直交射影は、与えられたベクトルに最も近い点を部分空間の中から見つけます。ここでは、部分空間SSは原点Oを通る平面または直線で、ベクトルはb⃗\vec bです。その射影p⃗\vec pはSS内にあり、誤差e⃗=b⃗−p⃗\vec e = \vec b - \vec pはSSに直交します。b⃗\vec bを動かしたりSSを変えたり、p⃗\vec pとSS内の別の点を比べたりできます。また、b⃗\vec bの2本の軸への影を足すとp⃗\vec pになるのはどんなときか、確かめられます。

なぜ直角になる点が最も近いのでしょうか。SS内の別の点qqを取ります。qqからp⃗\vec pへの線分はSS内にあるので、e⃗\vec eに垂直です。b⃗\vec b、p⃗\vec p、qqの3点はp⃗\vec pに直角がある直角三角形を作り、三平方の定理から次が得られます。

Sのほかの点はすべて遠い
∣b⃗−q∣2=∣e⃗∣2+∣p⃗−q∣2|\vec b - q|^2 = |\vec e|^2 + |\vec p - q|^2

したがって、qqがp⃗\vec pそのものでない限り、b⃗\vec bからqqまでの距離はp⃗\vec pまでの距離より長くなります。逆も成り立ちます。もしe⃗\vec eがSS内のある方向へ傾いていれば、p⃗\vec pをその方向に少し動かすことでb⃗\vec bに近づけられるからです。よって平面では、e⃗\vec eがu⃗\vec uとw⃗\vec wの両方に垂直になる点が最も近い点です。直線では、u⃗\vec uに垂直であれば十分です。

p⃗\vec pを求めるには、この直角の条件を解きます。直線上ではp⃗\vec pはu⃗\vec uの定数倍であり、条件e⃗⋅u⃗=0\vec e\cdot\vec u = 0によってその倍率が決まります。

直線への射影
p⃗=u⃗⋅b⃗u⃗⋅u⃗ u⃗\vec p = \frac{\vec u\cdot\vec b}{\vec u\cdot\vec u}\,\vec u

平面ではp⃗=c1u⃗+c2w⃗\vec p = c_1\vec u + c_2\vec wと表します。2つの条件e⃗⋅u⃗=0\vec e\cdot\vec u = 0とe⃗⋅w⃗=0\vec e\cdot\vec w = 0は、c1c_1とc2c_2についての2つの一次方程式になり、正規方程式と呼ばれます。

正規方程式
(u⃗⋅u⃗) c1+(u⃗⋅w⃗) c2=u⃗⋅b⃗,(w⃗⋅u⃗) c1+(w⃗⋅w⃗) c2=w⃗⋅b⃗(\vec u\cdot\vec u)\,c_1 + (\vec u\cdot\vec w)\,c_2 = \vec u\cdot\vec b,\qquad (\vec w\cdot\vec u)\,c_1 + (\vec w\cdot\vec w)\,c_2 = \vec w\cdot\vec b

数値欄には、p⃗\vec pが座標と、u⃗\vec uおよびw⃗\vec wの線形結合の両方で表示されます。同じ平面内でu⃗\vec uとw⃗\vec wをドラッグすると、係数は変わってもp⃗\vec pは変わりません。射影は部分空間だけで決まり、それを表すベクトルの選び方には依存しません。

u⃗\vec uとw⃗\vec wが直交すると、2つの方程式は独立になります。各係数は片方の軸だけで決まり、p⃗\vec pはb⃗\vec bの2本の軸への影の和になります。

軸が直交するときだけ
p⃗=b⃗⋅u⃗u⃗⋅u⃗ u⃗+b⃗⋅w⃗w⃗⋅w⃗ w⃗\vec p = \frac{\vec b\cdot\vec u}{\vec u\cdot\vec u}\,\vec u + \frac{\vec b\cdot\vec w}{\vec w\cdot\vec w}\,\vec w

斜交する軸では、この近道は通常うまくいきません。各々の影はもう一方の軸がないものとして求めるため、その和ssは通常p⃗\vec pとは別の点になります。このとき、数値欄ではb⃗−s\vec b - sが少なくとも片方の直角条件を満たしていないことがわかります。wをuに垂直にするは、w⃗\vec wをu⃗\vec uに垂直な成分で置き換えます。これはグラム–シュミットの正規直交化法の1段階です。平面は同じままですが、2本の軸が直交するので、どんなb⃗\vec bでも影の和がp⃗\vec pになります。

(1,1,1)(1, 1, 1)を通る対角線は、身近な例です。b⃗\vec bをこの直線に射影すると、b⃗\vec bの各成分が全成分の平均に置き換わり、∣e⃗∣2|\vec e|^2はその平均からの偏差の二乗和になります。最小二乗回帰も同じ種類の射影を使います。

操作方法

  • b⃗\vec bの点をドラッグすると、ベクトルはSSに平行に動き、p⃗\vec pも追従します。点の外側にある小さなリングをドラッグすると、b⃗\vec bはSSに垂直に動き、p⃗\vec pは動きません。
  • 平面を選んでいるとき、u⃗\vec uとw⃗\vec wは元の平面内だけでドラッグできます。平面を変えるには、新しい座標を入力するか、数値キーを使ってください。

関連項目