선형대수학 기초이론

벡터의 내적, 정사영(선형변환 관점으로 해석)

mwithgod 2024. 11. 11. 21:38

백터 내적을 계산하는 식은 식1과 같다 두 백터를 각 a, b라고 할 때, 두 벡터 크기의 곱에 cosθ를 곱해주면 된다.

식1

* 벡터 내적은 무엇을 의미하는가 ?

먼저, 아래 이미지를 보자. 수레를 끄는 상황에서, 사람이 수레 높이만큼 몸을 낮춰 수레를 끌 경우에 비해, 양의 각도를 가지는 모든 경우에서 더 많은 힘이 필요함을 직관적으로 이해할 수 있다. 이러한 상황을 수학적으로 이해하려면 내적을 활용해 문제를 풀어볼 수 있다.

fig1

 
        두 벡터가 θ만큼 멀어져 있을 때, 식1로 소개한 바와 같이 내적을 취해 fig1과 같은 경우 두 벡터가 35도 만큼 멀어져 있는 상태에서 a 벡터의 힘이 b 벡터에 얼마나 더해져 실질적으로 작용했는지 직관적으로 설명할 수 있다. 
 

* 벡터 내적은 무수히 많은 차원에 대해 적용 가능하다.
벡터 내적을 활용하면 고차원 벡터에서 상관관계 즉 닮은 정도를 계산할 수 있다.(fig2) 
예를 들어 문서, 이미지, 사용자 행동 등 고차원의 특성을 가진 데이터를 벡터로 표현하고, 벡터 간 유사성을 비교하는 방식으로 자연어 처리, 컴퓨터 비전, 추천 시스템 등 다양한 인공지능(AI) 분야는 크게 발전해 왔다.

fig2

 
fig2로 확인할 수 있듯 두 벡터는 같은 방향일 때 관계의 크기가 커지고 직각일 때 0 즉 관계는 사라진다.


* 정사영된 좌표 구하기 

정사영된 좌표를 구하면 한 벡터가 다른 벡터 방향에서 어느 지점에 놓여 있는지를 구체적으로 파악할 수 있다. 자세한 과정 및 사전지식을 확인해보자.
 

Prerequisites

* 벡터 내적은 식2와 같이 성분(component)간의 곱들의 합으로 표현할 수 있다.

이는 코사인 제 2법칙을 통해 증명할 수 있고 증명 과정은 아래와 같다.

 
* 더불어, abaTb와 동일다. 예를 들어, a 벡터가 [1,3] b벡터가 [5,1]일 때 계산해 보면 두 결과 값이 같다는 것을 확인할 수 있다.

* 덧붙여, 상수값을 반환하는 내적의 결과는 전치해도 동일한 값을 가지므로 aTbbTa와 같다.
 
* 마지막으로 벡터의 유닛벡터를 계산할 수 있어야 한다. unit vector란 단위 벡터로 크기가 정확히 1인 벡터를 의미한다.
        유닛 벡터는 방향을 나타내는 데 주로 사용되며, 어떤 벡터를 그 해당 벡터의 크기로 나누면 해당 벡터와 같은 방향을 가진 유닛 벡터를 얻을 수 있다. 

 

With these prerequisites met, let's move into the main discussion.

1. a, b베터에 대하여 정사영된 a벡터가 b벡터에 정사영 된 크기(||a||cosθ)를 내적 식 1을 이항하여 구해보면 아래와 같다.

식2

 
2. 우선적으로 유의할 점은, 스칼라 값인 크기만으로는 벡터의 방향을 추정할 수 없다는 것이다. 방향은 b 벡터로부터 얻어야 하고, 이를 위해 b 벡터를 정규화(Normalize)하여 크기가 1인 단위 벡터를 사용해야 한다. 이렇게 구한 단위 벡터에 크기 값을 곱해주면, b 벡터의 방향을 가지는 정사영 벡터를 얻을 수 있다.
 

식3

식 3은 a 벡터가 b 벡터에 대해 수선의 발을 내려 정사영될 때의 좌표값을 나타낸다. 
 
이는,  b 위에 있는 임의의 점 p를 찾는 과정으로 해석할 수도 있다. (b・xhat)

fig3

 
1. 이 때 두 벡터의 차인 a - bxhaterror를 정의할 수 있고, b・xhat 과 수직관계인 두 벡터간의 내적은 cosθ 값이 0 임으로 아래와 같은 식을 얻을 수 있다.

 

그리고 이를 전개하면 xhat 값을 얻을 수 있게 되고,

 b・xhat 값은 결국 식3과  같은 결과 값을 얻을 수 있도록 한다.



 
여기서 한단계 더 발전시켜 생각해 볼 수 있다.

우선 위 식의 분자에 transpose b가 되어도 결과는 변하지 않기에 아래와 같은 식으로 기존 식을 바꾸어보자.

위 식을 우리는 어떻게 이해할 수 있을까? 결국 이는 a라는 좌표에서 b라는 직선으로 연결되는 가장 가까운 좌표 즉 "closest point on line b from a"로 볼 수 있다.
 
더불어 이런 과정은 vector space에 projection하는 행위로 볼 수 있다. b line을 1d에 해당하는 vector space로 볼 수 있고 단순히 xhat의 크기를 구하는 내적이 목적이 아닌, closest point를 구하는 하나의 방법(식)이 된다.
 
 

 
위 식에서 b를 분자로 옮겨 쓴 것은 b를 "행렬 기호"로 보겠다는 취지이다.
 
벡터 b를 행렬로 취급할 때, 이 프로젝션 식은 특정한 벡터를 벡터 b의 방향으로 projection하는 것이 아니라, b가 생성하는 공간에 대한 projection을 의미한다. 즉, 벡터 b를 행렬 기호로 간주할 경우, 이 식은 특정 sub space에 대한 projection으로 해석될 수 있다. 매우 신비로운 일이다.
 
이는 선형 변환 및 데이터의 저차원 표현에서도 중요한 역할을 한다.

생각해 보면 분모는 상수값으로 볼 수 있고 분자의 bb transpose 는 하나의 Projection matrix로 볼 수 있다. 
Projection matrix가 가지는 의미는 다음과 같다.
 
먼저, 벡터 a를 projection하여 내적한 결과로부터 b 벡터의 방향을 고려하여 point를 찾는 방식과는 구분하여 이해해야 한다.
 
Projection matrix를 활용하는 Pa는 하나의 연산이 되며, linear tranform matrix p를 구하는 방식이다. 이는 projection을 하나의 선형 변환으로 보는 관점인 것이다.
 

Properties of projection matrix(P)

* 대칭성 (Symmetry): 정규 직교 기저 위의 직교 프로젝션 행렬은 대칭성을 가짐.

* 자기 동일성 (Idempotence): 프로젝션 행렬 P는 자기 동일성 성질을 가짐. (definition of projection matrix)

Further Exploration

        위 내용에서는 직선에 대한  1차원적인 vector space의 projection을 n차원 공간으로 확장하여 공부해 볼 수 있다. 그럼으로써 Over-constrained Linear System Equation 의 해를 구하는 과정에서 Least Square를 이해하게 된다.

'선형대수학 기초이론' 카테고리의 다른 글

벡터의 기본 연산  (1) 2025.10.04