본문 바로가기

머신러닝/[인공지능을 위한 선형대수]

Orthogonal Projection 1

학습목표

 이번에는 Orthogonal Projection 관점에서 Least Squares Problem을 접근해보도록 하겠습니다. 이를 위해 선형대수에서 중요한 개념인 Orthogonal Projection을 아래의 주요 개념들과 함께 이해하는 시간을 가져보겠습니다.

핵심 키워드

  • Orthogonality와 Orthonormality
  • 직교기저(Orthogonal Basis)와 정규직교기저(Orthonormal Basis)
  • 정사영(Orthogonal Projection)

학습하기

 Least Square를 잘 이해하는 또다른 시선으로, Projection 이라는 개념을 한 번 이야기해보죠. Projection은 사영-의 개념이죠. 계속해서 보셨던 b^이라는 건, b의 수선의 발이었죠. 이런 수선의 발이라는 건, 어떤 평면에 b를 수직으로 쏘아내린 점인 것이구요. 이는 곧바로 사영-이라는 개념으로 생각할 수 있습니다. 때문에 Orthogonal Projection이라는 키워드가 필요한거죠. 다시한번 생각해봅시다. A^T*A*x = A^T*b -> x = (A^T*A)^-1 * A^T*b 였는데, 이를 만족하는 x=x^이니까, 양변에 A를 한번 더 곱해주면, 아래와 같은 수식을 얻어낼 수 있겠습니다. 즉, Col A와 b가 주어졌을 때, 아래와 같은 식은, Orthogonal projection에 대한 수식이 되는 셈입니다. b에 A(A^T*A)^-1*A^T를 곱해줌으로써 계산할 수 있는거죠.

  이런 개념을 조금 더 디테일하게 알아봅시다. Orthogonal set이라는 건, 해당 집합 안에 모든 벡터들의 Pair가, 내적값이 0인 경우, 그러니까 서로 수직인 경우를 의미합니다. 그리고 Orthonormal이라는 건, Orthogonal set의 벡터들의 크기가, Norm이, Length가 1일 때, 즉 Unit vectors로 구성되어있을 때를 의미합니다. 그럼 이런 Othogo(nor)mal set들은 모두 선형독립인 집합이 될 수 밖에 없겠죠.

 어떤 벡터 집합을 배우고는 항상 Subspace와, 그에 대한 Basis를 배웠었는데요. 지금도 똑같이 생각해보죠. 우리는 항상 어떤 공간의 Subspace에 대해, Orthgonal한 또는 Orthnormal한 Basis set을 만들 수 있는가. 이런 걸 직교화라고 하는데, 답은 가능합니다. Gram-Schmidt process가 그 방법입니다. 그리고 이걸 QR factorization이라고도 합니다. 이건 추후에 조금 더 자세히 설명드리도록 하겠습니다.

 Orthgonal projection 자체에 대해 조금 더 디테일하게 살펴봅시다. 저희가 찾고자 하는건, y를 L = span{u}에 정사영으로 내린 y^을 찾고자 하는 거죠. 이를 y^ = proj_L(y)로 표기하고, proj_L의 계산은 아래 그림과 같습니다. 자, y*u=||y||||u||cosx 이기 때문에, ||y^|| = ||y||cosx = y*u / ||u|| = y*u / u*u 라고 정리되는거죠. 이때 u가 Unit vector라면, ||u|| = u*u = 1이기 때문에, 단순히 ||y^|| = y*u 라고 정의할 수 있겠습니다. 이제 y^의 길이를 알고 있으니까, 방향성에 대한 정보만 추가해주면, y^를 표현할 수 있습니다. y^의 방향은 u의 방향과 동일하죠. 때문에 y^ = (y*u)u라고 정의됩니다.

 위에서는 2차원 평면의 Subspace인 1차원 선에 대한 Orthgonal projection을 살펴봤었는데, 이번에는 3차원 공간의 Subspace인 2차원 평면에 대한 Orthgonal projection을 살펴봅시다. 지금은 Subspace W = span{u1, u2}인데, 간단히 y를 u1에 대해, u2에 대해 각각 정사영시키고 합쳐주시면 됩니다.

 위의 그림을 위에서 바라보면 아래와 같은 그림이 그려질텐데요. y를 u2에 사영한 y2^과, u1에 사영한 y1^은 반드시 서로 수직입니다. 그리고 이 두 벡터를 합치게 되면, y의 좌표를 완성할 수 있게 됩니다. 이런 방향성이라면, 차원이 아무리 높아지더라도, 계속해서 정사영을 계산할 수 있게되는거겠죠. 다양한 Basis vector들에게 각각 사영시킨 뒤, 합산해주기만 하면 되니까요. 이상입니다.

'머신러닝 > [인공지능을 위한 선형대수]' 카테고리의 다른 글

그람-슈미트 직교화와 QR 분해  (0) 2020.05.21
Orthogonal Projection 2  (0) 2020.05.20
정규방정식  (0) 2020.05.18
Least Squares와 그 기하학적 의미  (0) 2020.05.17
Least Square Problem 소개  (0) 2020.05.16