본문 바로가기
Machine Learning (인공지능)

[ML] 벡터 (Vector), 임베딩 (embedding), 코사인 유사도 (Cosine Similarity)

by muha0-0 2025. 11. 29.

Vector (벡터)

크기와 방향성을 가진 기하학적 대상
A mathematical object defined by magnitude and direction; represented as a list of numbers.

 

Embedding (임베딩)

임베딩은 의미를 압축하여 담은 '고밀도 벡터' 입니다. 단어, 구, 문장을 숫자의 집합으로 변환해 고차원 공간에 위치시킵니다. 

이 공간에서는 의미가 비슷한 단어일수록 서로 가깝게 배치됩니다. 

 

예를 들어, King과 Queen은 가깝게 위치하지만, King과 Table의 임베딩은 멀리 떨어져 있습니다. 

 

Vector in AI 벡터와 AI 

Vector is useful in AI because they let us represent complex concepts (users, words, images, etc) as arrows that can be compared mathematically.

 

Comparing Vectors 벡터 비교하기

1. Distance (거리)

거리는 벡터와 벡터의 endpoint가 얼마나 멀리 떨어져있는지를 측정합니다. 단순하지만, 벡터의 중요한 개념인 방향 (direction) 을 반영하지 않고, magnitude를 민감하게 계산합니다. 

 

2. Dot Product (내적)

AB=A∥∥Bcos(θ)

두 벡터의 크기와 유사성 (정렬도, alignment)를 수치로 나타낸 것 입니다.

 

3. Cosine Similarity (코사인 유사도)

Cosine Similarity

  • 크기를 정규화하여 벡터의 방향성만을 계산합니다. 
  • -1 과 1 사이의 값을 갖습니다. 
  • 규모가 다르지만 방향성이 중요한 순간에 유용합니다. 

예시) 예시의 상황에서 Dot Product는 크지만 Cosine Similarity = 1.0 으로 일치합니다. (perfect match) 

A = [1, 2]
B = [2, 4]   (same direction, different scale)

 

 

코사인 유사도가 AI 에서 활용되는 이유

  • 정보를 수치화한 임베딩 벡터 (Embedding Vector)는 일반적으로 100 ~ 1000 차원 이상의 공간에 존재함
  • 규모 (활동량, 사용량)이 달라도 비교가 가능해 가장 유사한 대상을 찾는데 매우 효율적이다.
  • YouTube, TikTok, Netflix, Amazon 등 대규모 추천 시스템의 핵심 기술로 사용된다.