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

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

⇢ 두 벡터가 θ만큼 멀어져 있을 때, 식1로 소개한 바와 같이 내적을 취해 fig1과 같은 경우 두 벡터가 35도 만큼 멀어져 있는 상태에서 a 벡터의 힘이 b 벡터에 얼마나 더해져 실질적으로 작용했는지 직관적으로 설명할 수 있다.
* 벡터 내적은 무수히 많은 차원에 대해 적용 가능하다.
벡터 내적을 활용하면 고차원 벡터에서 상관관계 즉 닮은 정도를 계산할 수 있다.(fig2)
예를 들어 문서, 이미지, 사용자 행동 등 고차원의 특성을 가진 데이터를 벡터로 표현하고, 벡터 간 유사성을 비교하는 방식으로 자연어 처리, 컴퓨터 비전, 추천 시스템 등 다양한 인공지능(AI) 분야는 크게 발전해 왔다.

fig2로 확인할 수 있듯 두 벡터는 같은 방향일 때 관계의 크기가 커지고 직각일 때 0 즉 관계는 사라진다.
* 정사영된 좌표 구하기
정사영된 좌표를 구하면 한 벡터가 다른 벡터 방향에서 어느 지점에 놓여 있는지를 구체적으로 파악할 수 있다. 자세한 과정 및 사전지식을 확인해보자.
Prerequisites
* 벡터 내적은 식2와 같이 성분(component)간의 곱들의 합으로 표현할 수 있다.

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

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

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

With these prerequisites met, let's move into the main discussion.
1. a, b베터에 대하여 정사영된 a벡터가 b벡터에 정사영 된 크기(||a||cosθ)를 내적 식 1을 이항하여 구해보면 아래와 같다.

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

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

1. 이 때 두 벡터의 차인 a - b・xhat 즉 error를 정의할 수 있고, 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으로 해석될 수 있다. 매우 신비로운 일이다.
이는 선형 변환 및 데이터의 저차원 표현에서도 중요한 역할을 한다.

생각해 보면 분모는 상수값으로 볼 수 있고 분자의 b・b transpose 는 하나의 Projection matrix로 볼 수 있다.
이 Projection matrix가 가지는 의미는 다음과 같다.
먼저, 벡터 a를 projection하여 내적한 결과로부터 b 벡터의 방향을 고려하여 point를 찾는 방식과는 구분하여 이해해야 한다.
위 Projection matrix를 활용하는 P・a는 하나의 연산이 되며, 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 |
|---|