벡터 Norm과 Inner Product 정리 | 벡터 크기와 방향 유사도를 계산하는 방법

벡터를 다룰 때 가장 많이 사용하는 개념이 Norm과 Inner Product(내적)이다.

Norm은 벡터의 크기를 계산하는 방법이고, Inner Product는 두 벡터가 얼마나 같은 방향을 바라보는지를 계산하는 연산이다. 머신러닝에서는 거리 계산, 유사도 계산, 추천 시스템, word embedding 같은 거의 모든 벡터 기반 모델에서 계속 등장한다.


Norm이란

Norm은 벡터의 크기(length)를 정의하는 방식이다.

가장 익숙한 것은 유클리드 거리 기반의 L2 Norm이다.

||x||₂ = √(x₁² + x₂² + ... + xₙ²)

예를 들어:

x = (3, 4)

라면:

||x||₂ = √(3² + 4²) = 5

즉, 우리가 중학교·고등학교에서 배운 피타고라스 거리와 같은 개념이다.

자료에서도 L2 norm은 우리가 흔히 아는 유클리드 거리라고 설명된다.


L1 Norm과 L2 Norm 차이

Norm은 하나만 있는 것이 아니다.

L1 Norm

||x||₁ = |x₁| + |x₂| + ... + |xₙ|

예를 들어:

x = (3, -4)

라면:

||x||₁ = 3 + 4 = 7

L2 Norm

||x||₂ = √(x₁² + x₂² + ... + xₙ²)

같은 벡터라면:

||x||₂ = 5

L1 vs L2 차이

종류 특징

L1 Norm 절댓값 합
L2 Norm 유클리드 거리

머신러닝에서는 이 차이가 규제(regularization)와 연결된다.

  • L1 → Lasso
  • L2 → Ridge

자료에서도 L1/L2 norm은 이후 규제 방식과 연결된다고 설명된다.


Inner Product(내적)이란

내적은 두 벡터의 각 성분을 곱해서 더하는 연산이다.

a · b = a₁b₁ + a₂b₂ + ... + aₙbₙ

예를 들어:

a = (1, 2)
b = (3, 4)

이면:

a · b = 1×3 + 2×4 = 11

내적의 기하학적 의미

내적은 단순 계산만이 아니라, 두 벡터의 방향 관계로도 해석할 수 있다.

a · b = ||a|| ||b|| cosθ

여기서 중요한 것은 cosθ다.

각도 의미

cosθ > 0 비슷한 방향
cosθ = 0 수직
cosθ < 0 반대 방향

즉, 내적은 단순 곱셈이 아니라:

두 벡터가 얼마나 같은 방향을 바라보는가

를 계산하는 방법이다.

자료에서도 내적은 벡터 방향 유사도를 계산하는 데 사용되며, 추천 시스템·word2vec·transformer와 연결된다고 설명된다.


직교(Orthogonal)

두 벡터의 내적이 0이면 두 벡터는 직교한다고 한다.

a · b = 0

예를 들어:

(1, 0) · (0, 1) = 0

즉, 두 벡터는 서로 수직이다.

자료에서도 직교는 “내적이 0인 특수한 경우”로 설명된다.


Projection(정사영)

Projection은 한 벡터를 다른 벡터 방향으로 투영하는 개념이다.

쉽게 말하면:

특정 방향으로 얼마나 영향을 주는가

를 계산하는 방식이다.

내적 공식은 Projection과 연결된다.

a · b = ||a|| ||b|| cosθ

여기서:

||a|| cosθ

는 a 벡터가 b 방향으로 얼마나 투영되는지를 의미한다.


왜 중요한가

Norm과 Inner Product는 머신러닝 거의 모든 곳에서 등장한다.

Norm

  • 거리 계산
  • 정규화
  • 규제(L1/L2)

Inner Product

  • cosine similarity
  • 추천 시스템
  • word embedding
  • transformer attention

특히 cosine similarity는 내적 기반 유사도 계산이다.


핵심 흐름

Norm → 벡터 크기
Inner Product → 방향 유사도
Projection → 특정 방향 영향력

Norm은 벡터의 크기를 정의하고, Inner Product는 두 벡터의 방향 유사도를 계산하는 핵심 연산이다!!