이번 포스트에서는 orthogonal projection에 대해 알아보겠습니다.
1) Orthogonal Projection
(1) Orthogonal projection
Orthogonal projection의 목표는 다음과 같습니다.
Rn의 subspace W와 벡터 y에 대해서 W에 속하는 벡터 중 다음 조건을 만족하는 벡터 y^을 찾고 싶습니다.
- y−y^가 W에 orthogonal합니다.
(y−y^)⊥W
- y에서 W에 가장 가까운 벡터가 y^입니다.
∥y−y^∥≤∥y−x∥ for all x∈W
해당 상황을 시각적으로 표현하면 다음과 같습니다.
이러한 y^는 unique하게 존재하는데, 왜 unique하게 존재하는지, 어떻게 해당 벡터를 찾을 수 있는지 알아보겠습니다.
{u1,...,un}이 Rn의 orthogonal basis면, y∈Rn은
y=z1+z2
로 표현이 가능합니다. 여기서, z1은 basis에 속한 몇 개의 벡터의 linear combination으로 표현되는 벡터이고, z2는 basis에 속한 벡터 중 z1에 포함된 벡터를 제외한 나머지 벡터들의 linear combination으로 표현되는 벡터입니다.
이 때, z1과 z2는 orthogonal합니다. 예를 들어
z1=c1u1+⋯+ckukz2=ck+1uk+1+⋯+cnun
일 경우,
z1⊥z2
가 됩니다. 또한 z1을 표현할 때 사용한 벡터 {u1,...,uk}를 basis로 하는 subspace W를 생각한다면, z1∈W을 만족합니다. 이 때, {u1,...,un}이 orthogonal basis이므로,
z2∈W⊥
를 만족합니다. 또한, z2을 표현할 때 사용한 벡터 {uk+1,...,un}을 basis로 하는 subspace는 바로 W⊥입니다.
이 성질을 이용하면 orthogonal projection의 목적에 부합하는 y^를 찾을 수 있습니다.
Theorem
Let W be a subspace of Rn. Then each y in Rn can be written uniquely in the form
y=y^+z
where y^∈W and z∈W⊥.
In fact, if {u1,...,up} is any orthogonal basis for W, then
y^=u1⋅u1u1⋅yu1+u2⋅u2u2⋅yu2+⋯+up⋅upup⋅yup
and
z=y−y^
y^ is called the orthogonal projection of y onto W
y^=projWy
이전 포스트에서 orthogonal basis를 알고 있다면, 해당 subspace에 있는 벡터를 orthogonal basis의 linear combination으로 표현할 수 있는 방법을 배웠습니다. 그 방법이 위 정리에 적용이 되었습니다. 또한, 앞서 말한 특정 subspace와 subspace의 orthogonal complement에 속한 두 개의 벡터로 쪼갤 수 있는 성질을 이용하여 위 정리를 나타낼 수 있습니다. 특히, y를 W에 속한 벡터와 W⊥에 속한 벡터로 나타내었을 때, W에 속한 벡터인 y^를 orthogonal projection of y onto W라고 합니다.
example
Let {u1,...,u5} be an orthogonal basis for R5 and let
y=c1u1+⋯c5u5
Consider the subspace W=Span{u1,u2}
u1,u2가 orthogonal하기 때문에, W의 basis는 {u1,u2}입니다.
y 벡터는 두 개의 벡터로 쪼개질 수 있습니다.
y=y^+zy^=c1u1+c2u2z=c3u3+c4u4+c5u5
이 때, y^∈W이고, z∈W⊥을 만족합니다. 따라서 y^=projWy 가 됩니다.
example
u1=⎣⎢⎡25−1⎦⎥⎤,u2=⎣⎢⎡−211⎦⎥⎤,y=⎣⎢⎡123⎦⎥⎤,W=Span{u1,u2}
projWy를 구해봅시다. 먼저
u1⋅u2=0
이므로 {u1,u2}는 W의 orthogonal basis입니다.
u1⋅y=9, u2⋅y=3, u1⋅u1=30, u2⋅u2=6
을 이용하면
u1⋅u1u1⋅y=103, u2⋅u2u2⋅y=21
이므로
projWy=103u1+21u2
임을 알 수 있습니다.
(2) Properties of orthogonal projection
orthogonal projection과 projection vector에 대한 다양한 성질에 대해 알아보도록 하겠습니다.
Theorem
Let {u1,...,up} be an orthogonal basis for a subspace W of Rn. For each y in W, the weights in the linear combination
y=c1u1+⋯+cpup
where ci=ui⋅uiui⋅yui
In this case projWy=y
Projection의 목적이 W 밖에 있는 벡터를 W에 존재하는 벡터와 W⊥에 존재하는 벡터로 분리하여 표현하는 것이 목적입니다. 따라서, 만약 y∈W이면, y는 W의 orthogonal basis 벡터로 표현이 가능합니다.
y=y^+z
로 표현하였을 때, z=0∈W⊥가 되는 것이구요.
Theorem : The best approximation theorem
Let W be a subspace of Rn, let y be any vector in Rn, and let y^ be the orthogonal projection of y onto W. Then y^ is the closest point in W to y, in the sense that
∥y−y^∥<∥y−v∥
for all v in W distinct from y^
위 정리를 통해서, y의 W로의 orthogonal projection y^가 W에 존재하는 벡터 중에 가장 y와 가까운 것을 알 수 있습니다. 이를 시각적으로 나타내면 다음과 같습니다.
=
y를 W에 projection시킨 벡터 y^가 W에 속한 다른 벡터 v1,v2보다 가까운 것을 알 수 있습니다.
Caution and notation
orthogonal projection 벡터는 해당 벡터에서 subspace W에 가장 가까운 벡터임을 알 수 있었습니다. 즉, W에 있는 벡터 중에서 가장 y와 비슷한 벡터가 y^입니다. 따라서
y^=projWy
를 the best approximation to y by elements of W라고 표현합니다. 또한 the best approximation theorem에서 사용한
∥y−v∥
지표를 error of using v in place of y라고 합니다. 이 때, 이 error는 v=y^일 때 최소화됩니다.
또한, y^는 orthogonal basis에 의존하지 않습니다. 즉, 어떤 subspace W에 존재하는 orthogonal basis는 수없이 많을 수 있습니다. 하지만 y^는 orthogonal basis와 상관없이 고정이되며, orthogonal basis가 바뀌었을 때 해당 orthogonal basis를 이용하여 y^를 표현하는 방법(coefficient)만 달라집니다.
Theorem
If {u1,...,up} is an orthonormal basis for a subspace W of Rn, then
y^=(u1⋅y)u1+⋯+(up⋅y)up
If U=[u1...up],
projWy=UTUy
for all y∈Rn
orthonormal basis인 경우에는 basis에 속한 벡터의 length가 1이기 때문에, y^를 계산할 때 각 coefficient부분의 분모부분을 계산하지 않아도 됩니다. 또한, 위 식을 matrix를 이용하여 표현 또한 가능합니다.
지금까지 orthogonal projection에 대해 알아보았습니다. 다음 포스트에서는 Gram-Schmidt Process에 대해 알아보겠습니다. 질문이나 오류 있으면 댓글 남겨주세요! 감사합니다!
Appendix : Proof of Theorem
Theorem
Let W be a subspace of Rn. Then each y in Rn can be written uniquely in the form
y=y^+z
where y^∈W and z∈W⊥.
In fact, if {u1,...,up} is any orthogonal basis for W, then
y^=u1⋅u1u1⋅yu1+u2⋅u2u2⋅yu2+⋯+up⋅upup⋅yup
and
z=y−y^
{u1,...,up}가 W의 orthogonal의 basis이고, y^∈W이기 때문에
y^=c1u1+⋯+cpup
를 만족해야 합니다. orthogonal basis의 성질을 이용하면
cj=uj⋅ujuj⋅y
인 것을 알 수 있습니다. 즉,
y^=u1⋅u1u1⋅yu1+u2⋅u2u2⋅yu2+⋯+up⋅upup⋅yup
입니다. 두 번째로, z=y−y^가 W⊥에 속하는지 확인하기 위해,
z⋅uj=(y−y^)⋅uj=uj⋅y−uj⋅ujuj⋅yuj⋅uj=uj⋅y−uj⋅y=0
이 성립하므로, z는 W의 orthogonal basis에 있는 모든 벡터와 orthogonal합니다. 따라서
z∈W⊥
를 만족합니다.
Theorem
Let {u1,...,up} be an orthogonal basis for a subspace W of Rn. For each y in W, the weights in the linear combination
y=c1u1+⋯+cpup
where ci=ui⋅uiui⋅yui
In this case projWy=y
y∈W이므로, y는 W의 basis 벡터의 linear combination으로 표현할 수 있습니다. 이 때 {u1,...,up}는 orthogonal basis이므로
y=u1⋅u1u1⋅yu1+⋯up⋅upup⋅yup
가 됩니다.
Theorem : The best approximation theorem
Let W be a subspace of Rn, let y be any vector in Rn, and let y^ be the orthogonal projection of y onto W. Then y^ is the closest point in W to y, in the sense that
∥y−y^∥<∥y−v∥
for all v in W distinct from y^
∥y−v∥2=∥(y−y^)−(v−y^)∥2=∥y−y^∥2−2(y−y^)⋅(v−y^)+∥v−y^∥2
이 때, y−y^는 W에 orthogonal하므로, v−y^에도 orthogonal합니다. 즉
∥y−v∥2=∥y−y^2∥+∥v−y^∥2
가 됩니다. $|\boldsymbol{v}-\hat{\boldsymbol{y}}|\geq 0 $이므로
∥y−v∥2≥∥y−y^∥2
을 만족합니다. 즉
∥y−v∥≥∥y−y^∥
을 만족합니다.
Theorem
If {u1,...,up} is an orthonormal basis for a subspace W of Rn, then
y^=(u1⋅y)u1+⋯+(up⋅y)up
If U=[u1...up],
projWy=UTUy
for all y∈Rn
y^=(u1⋅y)u1+⋯+(up⋅y)up
는 다음과 같이 matrix와 벡터의 곱으로 나타낼 수 있습니다.
[u1⋯up]⎣⎢⎢⎡u1⋅y⋮up⋅y⎦⎥⎥⎤
uj⋅y=ujTy이므로
[u1⋯up]⎣⎢⎢⎡u1⋅y⋮up⋅y⎦⎥⎥⎤=[u1⋯up]⎣⎢⎢⎡u1Ty⋮upTy⎦⎥⎥⎤=[u1⋯up]⎣⎢⎢⎡u1T⋮upT⎦⎥⎥⎤y
가 되어
U=[u1⋯up]
일 때,
y^=UUTy
가 됩니다.