유사도와 내적

HanJu Han·2024년 11월 24일
0

추천 시스템

목록 보기
11/49

내적의 수학적 의미를 수식과 함께 설명

두 벡터 u와 v의 내적은 다음과 같이 정의됩니다:

u·v = ||u|| ||v|| cos(θ)

여기서,

  • ||u||, ||v||는 각 벡터의 크기(magnitude)
  • θ는 두 벡터 사이의 각도
  • cos(θ)는 두 벡터의 방향 유사도

구체적인 수치 예제로 살펴보겠습니다:

  1. 벡터의 성분별 계산
u = (3,4)
v = (4,2)

u·v = u₁v₁ + u₂v₂
    = (3×4) + (4×2)
    = 12 + 8
    = 20
  1. 크기와 각도로 계산
||u|| = √(3² + 4²) = 5
||v|| = √(4² + 2²) = √20 ≈ 4.47

cos(θ) = u·v / (||u|| ||v||)
       = 20 / (5 × 4.47)
       ≈ 0.894

이 예제에서 볼 수 있듯이:

  1. 내적이 큰 경우 (θ가 작을 때):

    • cos(0°) = 1 일 때 최댓값
    • 예: u = (3,4), v = (6,8)
    • 내적 = 3×6 + 4×8 = 50
  2. 내적이 작은 경우 (θ가 90°에 가까울 때):

    • cos(90°) = 0
    • 예: u = (3,4), v = (-4,3)
    • 내적 = 3×(-4) + 4×3 = 0
  3. 내적이 음수인 경우 (θ가 90° 이상일 때):

    • cos(180°) = -1 일 때 최솟값
    • 예: u = (3,4), v = (-3,-4)
    • 내적 = 3×(-3) + 4×(-4) = -25

따라서 내적의 크기는:
1. 방향 유사도 (cos(θ))와
2. 벡터의 크기 (||u||, ||v||)의
곱으로 결정되며, 이 두 요소가 모두 클수록 내적값도 커지게 됩니다.

임베딩 공간에서는 이러한 수학적 특성을 활용하여 두 데이터 포인트의 유사도를 계산하는 것입니다.


두 가지 관점

  1. 대수적 관점 (성분별 곱의 합):
a·b = a₁b₁ + a₂b₂ + ... + aₙbₙ
  1. 기하적 관점 (크기와 각도):
a·b = ||a|| ||b|| cos(θ)

이 두 식은 완전히 동일합니다!

예제를 통해 살펴보겠습니다:

a = (3,0)
b = (2,2)
θ = 45°
  1. 대수적 계산 (성분별 곱의 합):
a·b = (3×2) + (0×2) = 6
  1. 기하적 계산 (크기와 각도):
||a|| = 3
||b|| = √(2² + 2²) = 2√2
cos(45°) = 1/√2

a·b = ||a|| ||b|| cos(θ)
    = 3 × 2√2 × (1/√2)
    = 6

두 방식 모두 같은 결과(6)가 나옵니다!

따라서:
1. 점곱에 따로 코사인을 곱하지 않는 이유는 이미 점곱 자체에 코사인 정보가 포함되어 있기 때문입니다.

  1. 성분별 곱의 합을 계산하면:

    • 자동으로 두 벡터의 크기와
    • 두 벡터 사이 각도의 코사인 값이 반영됩니다.
  2. 이는 수학적으로:

    Σ(aᵢbᵢ) = ||a|| ||b|| cos(θ)

    가 항상 성립한다는 것을 의미합니다.

이것이 바로 점곱이 유사도 측정에 사용되는 이유입니다:

  • 방향이 비슷할수록 (θ가 작을수록) cos(θ)가 1에 가까워져 값이 커지고
  • 방향이 다를수록 (θ가 클수록) cos(θ)가 0에 가까워져 값이 작아집니다.
profile
시리즈를 기반으로 작성하였습니다.

0개의 댓글