정의
코사인 유사도(― 類似度, 영어: cosine similarity)는 내적공간의 두 벡터간 각도의 코사인값을 이용하여 측정된 벡터간의 유사한 정도를 의미한다.
유클리드 거리
유클리드 거리(Euclidean distance)는 두 점 사이의 거리를 계산할 때 흔히 쓰는 방법이다. 이 거리를 사용하여 유클리드 공간을 정의할 수 있으며, 이 거리에 대응하는 노름을 유클리드 노름(Euclidean norm)이라고 부른다.
- 딥러닝은 지정된 답안지 안에서 때려 맞추는 것부터 시작한다.
- 코사인 유사도와 유클리드 거리를 이용하여 정답에 근접할 때까지 계속 시도한다.
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)))
'A.I.(인공지능) & M.L.(머신러닝) > Python' 카테고리의 다른 글
[python] 이미지 임베딩 후 검색엔진에 저장까지_elastic/opensearch (1) | 2024.06.04 |
---|---|
[python] 원하는 이미지 데이터셋을 만들고싶은데, 귀찮을 때 (0) | 2024.05.29 |
[실습] Python3.x 다른 python file import 하기 (0) | 2024.04.04 |
[실습] 01. numpy (0) | 2024.02.27 |