* 코사인 유사도란?

정의

코사인 유사도(― 類似度, 영어: cosine similarity)는 내적공간의 두 벡터간 각도의 코사인값을 이용하여 측정된 벡터간의 유사한 정도를 의미한다.

유클리드 거리

유클리드 거리(Euclidean distance)는 두 점 사이의 거리를 계산할 때 흔히 쓰는 방법이다. 이 거리를 사용하여 유클리드 공간을 정의할 수 있으며, 이 거리에 대응하는 노름을 유클리드 노름(Euclidean norm)이라고 부른다.

  1. 딥러닝은 지정된 답안지 안에서 때려 맞추는 것부터 시작한다.
  2. 코사인 유사도와 유클리드 거리를 이용하여 정답에 근접할 때까지 계속 시도한다.
from numpy import dot
from numpy.linalg import norm

# 코사인 유사도 계산식
dot(A, B)/(norm(A)*norm(B))

# 유클리드 거리 계산식 (norm사용)
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
dist = np.linalg.norm(a-b)

# 유클리드 거리 계산식 (numpy로 구현)
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
dist = np.sqrt(np.sum(np.square(a-b)))
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유