---
title: "king - man + woman = queen이 되는 수학적 이유"
published: 2026-01-15T23:47:32.000Z
canonical: https://jeff.news/article/872
---
# king - man + woman = queen이 되는 수학적 이유

word2vec이 단어를 벡터로 변환하고 벡터 산술로 유추가 작동하는 원리를 조건부 확률과 PMI를 통해 수학적으로 설명하는 글. 분포 가설에서 출발해 손실 압축, 코사인 유사도, 유추의 확률적 근거까지 단계별로 풀어냄.

word2vec이 단어를 벡터로 바꾸고, 그 벡터 연산으로 유추(analogy)가 작동하는 원리를 수학적으로 설명하는 글임. 조건부 확률과 PMI(점별 상호 정보량)를 통해 벡터 차이가 왜 의미 차이를 표현하는지 단계별로 풀어냄.

## 분포 가설: 단어는 주변 단어로 정의됨

- word2vec의 핵심 아이디어는 "a word is characterized by the company it keeps"라는 분포 가설(distributional hypothesis)에 기반함
- 모든 단어 쌍에 대해 조건부 확률 P(w|a)를 계산하고, 두 단어 a와 b에 대해 P(w|a) = P(w|b)이면 a와 b는 동일한 의미로 간주됨
- 단순히 단어 동시 출현(co-occurrence)만 봐도 놀랍도록 풍부한 의미 정보를 얻을 수 있음

## PMI와 벡터 압축

- 10만 단어 사전 기준으로 모든 단어 쌍의 조건부 확률을 저장하려면 8GB가 필요함
- 이를 해결하기 위해 점별 상호 정보량(PMI)을 사용: PMI(a,b) = log[P(a|b)/P(a)]
- PMI를 50~300차원 벡터의 내적(scalar product)으로 근사함: PMI(a,b) = v_a · v_b
- 이 손실 압축(lossy compression)이 오히려 장점임 — 개별 쌍을 암기하는 대신 패턴을 발견하게 됨

## 단어 유사성과 벡터 근접성

- P(w|a) = P(w|b)를 PMI로 변환하면 v_w · (v_a - v_b) = 0이 되고, 모든 w에 대해 성립하려면 v_a = v_b여야 함
- 실제로는 완벽한 등호 대신 벡터가 가까운 정도로 유사성이 측정됨
- 가까운 단어들은 동의어(happy-delighted), 반의어(good-evil), 교환 가능한 단어(yellow-blue)를 포함함
- 코사인 거리를 사용하는 이유는 방향(어떤 맥락에서 출현하는지)에 초점을 맞추기 위함임

## 유추와 벡터 산술

- 유추(a:b = A:B)는 조건부 확률의 비율 등식으로 표현됨: P(w|a)/P(w|b) = P(w|A)/P(w|B)
- 이를 PMI로 변환하면 v_w · (v_a - v_b - v_A + v_B) = 0, 즉 v_a - v_b = v_A - v_B가 됨
- dog:puppy = cat:kitten 예시에서, 확률이 종(species), 나이(age) 등 차원별로 인수분해된다고 가정함
- Google Books Ngram 데이터로 확인하면 실제로 새끼 동물 단어가 약 2배 더 빈번하게 등장함

## 벡터 차이와 투영

- v_she - v_he 같은 벡터 차이 자체는 단어 벡터가 아니지만, 이 축에 다른 단어를 투영하면 의미 있는 결과를 얻음
- 투영값 v_w · (v_a - v_b) = log[P(w|a)] - log[P(w|b)]로, 서로 다른 맥락에서의 상대적 출현 빈도를 정확히 나타냄
- 성 중립적 대명사를 만들려면 합이 아니라 평균 (v_she + v_he)/2를 사용해야 함

## 실용적 고려사항과 알고리즘 변형

- word2vec은 단일 알고리즘이 아님: Skip-Gram(PMI의 암묵적 압축), GloVe(동시 출현의 명시적 압축) 등 여러 변형이 있음
- 각 단어는 두 개의 벡터(단어용, 맥락용)를 가짐
- PMI가 -무한대가 되는 쌍이 있어서 실제로는 양의 PMI(PPMI)를 사용함
- "machine learning" 같은 구문 처리나 다의어 구분을 위한 전처리가 필요함

## 편향 문제

- 학습 데이터의 편향이 그대로 벡터에 반영됨: doctor - man + woman = nurse 같은 성별 고정관념이 나타남
- 의미의 선형 공간이라는 개념 자체가 학계에서 논쟁 중인 주제임
- 결과는 객관적 진실이 아니라 학습 데이터의 함수임

## 탐색 도구와 참고 자료

- Julia Bazinska가 만든 Word2viz로 GloVe 사전훈련 벡터를 인터랙티브하게 탐색할 수 있음 (30MB 로드 필요)
- 직접 훈련하려면 Python의 gensim 라이브러리를 사용하면 됨
- Stanford GloVe, Google word2vec에서 사전훈련 벡터를 다운로드할 수 있음

## 핵심 포인트

- PMI를 50~300차원 벡터 내적으로 근사하는 손실 압축이 패턴 발견의 핵심임
- 유추는 조건부 확률 비율의 등식 P(w|a)/P(w|b) = P(w|A)/P(w|B)에서 유도되며 벡터 뺄셈으로 변환됨
- 학습 데이터의 편향이 벡터에 그대로 반영되어 doctor - man + woman = nurse 같은 고정관념이 나타남

## 인사이트

word2vec의 유추가 단순한 트릭이 아니라 확률 분포의 인수분해에 기반한 수학적 구조를 갖고 있다는 점이 핵심이며, 동시에 데이터 편향이 벡터 공간에 그대로 인코딩된다는 한계를 명확히 보여줌.
