- 카테고리:
VECTOR_COSINE_SIMILARITY¶
두 벡터 사이의 코사인 유사도를 계산합니다.
코사인 유사성은 다차원 공간에서 두 벡터 사이의 각도를 기반으로 하며, 벡터의 크기는 고려되지 않습니다. 코사인 유사도 값은 벡터의 내적을 길이의 곱으로 나눈 값입니다. 코사인 유사도는 항상 [-1, 1]
구간에 있습니다. 예를 들어, 동일한 벡터는 코사인 유사도 1
, 두 개의 직교 벡터는 유사도 0
, 두 개의 반대 벡터는 유사도 -1
을 갖습니다.
- 참고 항목:
구문¶
VECTOR_COSINE_SIMILARITY( <vector>, <vector> )
인자¶
vector
각도 계산을 시작할 VECTOR 값입니다.
vector
각도 계산을 종료할 VECTOR 값입니다.
반환¶
두 입력 벡터 사이의 코사인 유사성을 나타내는 [-1, 1]
간격의 FLOAT 값을 반환합니다.
사용법 노트¶
벡터 비교 함수의 계산 최적화로 인해 부동소수점 오차가 평소보다 약간 더 클 수 있습니다(예: 약 1e-4).
예¶
이 예제는 VECTOR_COSINE_SIMILARITY 함수를 호출하여 [1,2,3]
에 가장 가까운 벡터를 찾습니다.
SELECT a, VECTOR_COSINE_SIMILARITY(a, [1,2,3]::VECTOR(FLOAT, 3)) AS similarity
FROM vectors
ORDER BY similarity DESC
LIMIT 1;
+-------------------------+
| [1, 2.2, 3] | 0.9990... |
+-------------------------+