본문 바로가기
IT/정보

코사인 유사도(Cosine Similarity)란?

by bamcong 2025. 4. 29.
728x90
반응형

안녕하세요. 오늘은 코사인 유사도(Cosine Similarity) 에 대해 알아보도록 하겠습니다. 코사인 유사도는 두 벡터 간의 유사성을 측정하는 방법으로 주로 텍스트 분석, 추천 시스템, 정보 검색 등 다양한 분야에서 활용됩니다. 벡터 간의 각도가 얼마나 가까운지를 통해 유사도를 판단하는 방식이기 때문에 그 값은 -1과 1 사이의 범위를 가집니다. 1에 가까울수록 유사도가 높고, 0에 가까울수록 유사도가 낮다는 의미입니다.

코사인 유사도의 정의

코사인 유사도는 다음과 같이 정의됩니다:

cos(θ) = (A · B) / (||A|| ||B||)

여기서 A와 B는 두 벡터를 의미하고, ||A||와 ||B||는 각각의 벡터의 크기입니다. 예를 들어, 두 문서를 벡터 형태로 표현할 수 있다면, 그 사이의 코사인 유사도를 통해 얼마나 유사한지를 측정할 수 있습니다.

코사인 유사도

 

코사인 유사도의 예시

실제 예시를 통해 보다 쉽게 이해해 보겠습니다. 두 개의 벡터 A와 B가 다음과 같다고 가정해 보겠습니다:

import numpy as np

# 두 벡터
A = np.array([1, 2, 3])
B = np.array([4, 5, 6])

# 코사인 유사도 계산
cosine_similarity = np.dot(A, B) / (np.linalg.norm(A) * np.linalg.norm(B))
print("코사인 유사도:", cosine_similarity)

이 코드를 실행하면 A와 B 간의 코사인 유사도가 출력되며, 이를 통해 두 벡터의 유사성을 확인할 수 있습니다.

코사인 유사도의 활용 사례

코사인 유사도는 다음과 같은 다양한 방법으로 활용됩니다:

  • 문서 유사도 분석: 텍스트 데이터를 벡터화하여 유사한 문서를 찾는 데 사용합니다.
  • 추천 시스템: 사용자와 아이템 간의 유사도를 측정하여 추천 목록을 생성합니다.
  • 클러스터링: 유사한 데이터 포인트를 그룹화하는 데 사용됩니다.

결론적으로 , 코사인 유사도는 단순하면서도 강력한 유사도 측정 방법입니다. 다양한 분야에서 활용되는 만큼, 이 개념에 대한 이해를 통해 데이터 분석 및 머신러닝 분야에서도 많은 도움이 될 것입니다.

728x90
반응형