유사도 측정

유사도 측정은 두 개 이상의 객체(데이터, 문자열, 벡터, 문서 등) 사이의 유사성을 수량화하여 값으로 표현하는 과정이다. 흔히 0과 1(또는 −1과 1) 사이의 수치로 나타내며, 1에 가까울수록 두 객체가 서로 비슷함을, 0에 가까울수록 차이가 크다는 의미를 갖는다. 유사도 측정은 정보 검색, 자연어 처리, 머신러닝, 통계학, 생물정보학 등 다양한 분야에서 핵심적인 역할을 한다.


1. 정의

유사도 측정은 거리(metric)유사도(similarity) 를 서로 대비되는 개념으로 정의한다.

  • 거리는 객체 간 차이를 나타내며 값이 클수록 멀리 떨어져 있음을 의미한다.
  • 유사도는 거리와 반대로 객체 간 유사성을 나타내며 값이 클수록 가깝게(비슷하게) 존재함을 의미한다.

수학적으로는 두 객체 $x, y$ 에 대해 거리 $d(x,y)$ 와 유사도 $s(x,y)$ 가 다음 관계를 만족하도록 정의될 수 있다.

$$ s(x,y)=\frac{1}{1+d(x,y)} \quad \text{또는} \quad s(x,y)=1-\frac{d(x,y)}{\max{d_{\text{max}}}} $$


2. 주요 종류

구분 설명 대표적 지표
벡터 기반 유사도 고차원 실수 벡터 간의 방향 또는 크기 차이를 이용 코사인 유사도, 피어슨 상관계수, 유클리드 거리(역수)
집합 기반 유사도 객체를 원소 집합으로 보고 교집합·합집합·차집합을 활용 자카드 계수, 사보이 지수, 오버랩 계수
서열/문자열 기반 유사도 시퀀스(문자열, DNA, 단백질 서열)의 편집 거리를 측정 레벤슈타인 거리, 다이스 계수, N-그램 기반 유사도
확률·통계 기반 유사도 확률 분포나 통계적 특성을 비교 KL-발산(역수), JS-발산, 히스토그램 교차점
그래프·네트워크 기반 유사도 정점·간선 구조를 비교 그래프 편집 거리, Jaccard 네트워크, SimRank

3. 대표적인 유사도 측정 방법

3.1 코사인 유사도 (Cosine Similarity)

두 벡터 $\mathbf{a}, \mathbf{b}$ 사이의 각도 코사인을 이용한다.

$$ \text{cosine}(\mathbf{a},\mathbf{b})=\frac{\mathbf{a}\cdot\mathbf{b}}{|\mathbf{a}||\mathbf{b}|} $$

값 범위: $[0,1]$ (양수 벡터 경우)

3.2 자카드 계수 (Jaccard Index)

두 집합 $A, B$의 교집합 크기를 합집합 크기로 나눈다.

$$ J(A,B)=\frac{|A\cap B|}{|A\cup B|} $$

값 범위: $[0,1]$

3.3 레벤슈타인 거리 (Levenshtein Distance)

문자열 변환에 필요한 최소 삽입·삭제·대체 연산 횟수.

$$ d_{\text{Lev}}(s,t)=\min{\text{편집 작업 수}} $$

유사도는 $s(x,y)=1-\frac{d_{\text{Lev}}(x,y)}{\max(|x|,|y|)}$ 로 변환 가능.

3.4 피어슨 상관계수 (Pearson Correlation)

두 연속형 변수 간 선형 관계를 측정한다.

$$ \rho_{X,Y}= \frac{\operatorname{cov}(X,Y)}{\sigma_X\sigma_Y} $$

값 범위: $[-1,1]$ (절댓값이 클수록 높은 유사도)

3.5 KL-발산 (Kullback‑Leibler Divergence)

두 확률분포 $P, Q$ 사이의 비대칭 거리.

$$ D_{\text{KL}}(P|Q)=\sum_i P(i)\log\frac{P(i)}{Q(i)} $$

유사도는 $s(P,Q)=e^{-D_{\text{KL}}(P|Q)}$ 와 같이 정의한다.


4. 활용 분야

분야 적용 사례
정보 검색 문서 간 유사도 기반 검색 순위 결정 (TF‑IDF·코사인 유사도)
추천 시스템 사용자·아이템 유사도 기반 협업 필터링
자연어 처리 문장 임베딩 간 유사도 측정, 의미론적 유사도 평가
컴퓨터 비전 이미지 특징 벡터(예: SIFT, CNN) 간 유사도 매칭
생물정보학 DNA·단백질 서열 비교, 계통분류
클러스터링/분류 군집 알고리즘(k‑means, DBSCAN)에서 거리·유사도 함수 사용
시계열 분석 DTW(Dynamic Time Warping) 등 시계열 유사도 측정

5. 관련 용어

  • 거리(metric) : 두 객체 사이의 차이를 수치화한 함수.
  • 핵심 함수(kernel) : 고차원 공간에서의 내적을 효율적으로 계산하는 함수, 유사도 측정에 활용.
  • 정규화(normalization) : 유사도 값의 해석을 용이하게 하기 위한 스케일링 과정.
  • 차원 축소(dimensionality reduction) : 고차원 유사도 계산의 비용을 낮추기 위한 기법 (PCA, t‑SNE 등).

6. 참고 문헌

  1. Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
  2. Tan, P.-N., Steinbach, M., & Kumar, V. (2005). Introduction to Data Mining. Pearson.
  3. Jurafsky, D., & Martin, J. H. (2023). Speech and Language Processing (3rd ed.). Draft.
  4. Shannon, C. E., & Weaver, W. (1949). The Mathematical Theory of Communication. University of Illinois Press.

Note: 본 내용은 2026년 현재까지 축적된 학술·산업 자료를 바탕으로 작성되었으며, 최신 연구 동향에 따라 새로운 유사도 측정 기법이 지속적으로 제안되고 있다.

둘러보기

더 찾아볼 만한 주제