🚀 Try Zilliz Cloud, the fully managed Milvus, for free—experience 10x faster performance! Try Now>>

메트릭 유형

유사성 메트릭은 벡터 간의 유사성을 측정하는 데 사용됩니다. 적절한 거리 메트릭을 선택하면 분류 및 클러스터링 성능을 크게 향상시키는 데 도움이 됩니다.

현재 Milvus는 다음과 같은 유형의 유사도 메트릭을 지원합니다: 유클리드 거리 (L2), 내적 곱 (IP), 코사인 유사도 (COSINE), JACCARD, HAMMING, BM25 (특히 희소 벡터의 전체 텍스트 검색을 위해 설계됨).

아래 표에는 다양한 필드 유형과 해당 메트릭 유형 간의 매핑이 요약되어 있습니다.

필드 유형

차원 범위

지원되는 메트릭 유형

기본 메트릭 유형

FLOAT_VECTOR

2-32,768

COSINE, L2, IP

COSINE

FLOAT16_VECTOR

2-32,768

COSINE, L2, IP

COSINE

BFLOAT16_VECTOR

2-32,768

COSINE, L2, IP

COSINE

SPARSE_FLOAT_VECTOR

치수를 지정할 필요가 없습니다.

IP, BM25 (전체 텍스트 검색에만 사용)

IP

BINARY_VECTOR

8-32,768*8

HAMMING, JACCARD

HAMMING

  • SPARSE_FLOAT_VECTOR 유형의 벡터 필드의 경우, 전체 텍스트 검색을 수행할 때만 BM25 메트릭 유형을 사용합니다. 자세한 내용은 전체 텍스트 검색을 참조하세요.

  • BINARY_VECTOR 유형의 벡터 필드의 경우 차원 값(dim)은 8의 배수여야 합니다.

아래 표에는 지원되는 모든 메트릭 유형의 유사도 거리 값의 특징과 값 범위가 요약되어 있습니다.

메트릭 유형

유사도 거리 값의 특성

유사도 거리 값 범위

L2

값이 작을수록 유사도가 높음을 나타냅니다.

[0, ∞)

IP

값이 클수록 유사도가 높음을 나타냅니다.

[-1, 1]

COSINE

값이 클수록 유사도가 높음을 나타냅니다.

[-1, 1]

JACCARD

값이 작을수록 유사도가 높음을 나타냅니다.

[0, 1]

HAMMING

값이 작을수록 유사도가 높음을 나타냅니다.

[0, dim(벡터)]

BM25

용어 빈도, 반전된 문서 빈도 및 문서 정규화를 기반으로 관련성 점수를 매깁니다.

[0, ∞)

유클리드 거리(L2)

기본적으로 유클리드 거리는 두 점을 연결하는 세그먼트의 길이를 측정합니다.

유클리드 거리의 공식은 다음과 같습니다.

Euclidean distance formula 유클리드 거리 공식

여기서 a = (a0, a1,...,an-1)b = (b0, b1,..., bn-1) 은 n차원 유클리드 공간에서 두 점입니다.

가장 일반적으로 사용되는 거리 측정법으로 데이터가 연속적인 경우에 매우 유용합니다.

밀버스는 유클리드 거리를 거리 측정값으로 선택한 경우 제곱근을 적용하기 전의 값만 계산합니다.

내부 제품(IP)

두 임베딩 사이의 IP 거리는 다음과 같이 정의됩니다.

Inner product formula 내부 곱 공식

IP는 정규화되지 않은 데이터를 비교해야 하거나 크기와 각도를 고려해야 할 때 더 유용합니다.

IP를 사용하여 임베딩 간의 유사성을 계산하는 경우 임베딩을 정규화해야 합니다. 정규화 후 내적 곱은 코사인 유사도와 같습니다.

X'가 임베딩 X에서 정규화되었다고 가정합니다.

Normalized inner product formula 정규화된 내적 곱 공식

두 임베딩 간의 상관관계는 다음과 같습니다.

Correlation between embeddings 임베딩 간의 상관관계

코사인 유사도

코사인 유사도는 두 벡터 세트 사이의 각도의 코사인을 사용하여 얼마나 유사한지 측정합니다. 두 벡터 세트는 [0,0,...]과 같이 같은 지점에서 시작하지만 서로 다른 방향을 가리키는 선분으로 생각할 수 있습니다.

두 벡터 집합 A = (a0, a1,...,an-1)B = (b0, b1,..., bn-1) 사이의 코사인 유사도를 계산하려면 다음 공식을 사용하세요.

Cosine similarity formula 코사인 유사도 공식

코사인 유사도는 항상 [-1, 1] 간격에 있습니다. 예를 들어 두 개의 비례 벡터의 코사인 유사도는 1, 두 개의 직교 벡터의 유사도는 0, 두 개의 반대 벡터의 유사도는 -1입니다. 코사인이 클수록 두 벡터 사이의 각도가 작아져 이 두 벡터가 서로 더 유사하다는 것을 나타냅니다.

코사인 유사도를 1에서 빼면 두 벡터 사이의 코사인 거리를 구할 수 있습니다.

JACCARD 거리

JACCARD 유사도 계수는 두 샘플 세트 간의 유사도를 측정하며, 정의된 세트의 교집합의 카디널리티를 두 세트의 합집합의 카디널리티로 나눈 값으로 정의됩니다. 유한한 샘플 세트에만 적용할 수 있습니다.

JACCARD similarity coefficient formula JACCARD 유사도 계수 공식

JACCARD 거리는 데이터 세트 간의 유사도를 측정하며, 1에서 JACCARD 유사도 계수를 빼면 구할 수 있습니다. 이진 변수의 경우, JACCARD 거리는 타니모토 계수와 동일합니다.

JACCARD distance formula JACCARD 거리 공식

해밍 거리

해밍 거리는 이진 데이터 문자열을 측정합니다. 길이가 같은 두 문자열 사이의 거리는 비트가 서로 다른 비트 위치의 수입니다.

예를 들어 1101 1001과 1001 1101이라는 두 개의 문자열이 있다고 가정해 보겠습니다.

11011001 ⊕ 10011101 = 01000100. 여기에는 두 개의 1이 포함되어 있으므로 해밍 거리는 d(11011001, 10011101) = 2입니다.

BM25 유사성

BM25는 널리 사용되는 텍스트 관련성 측정 방법으로, 특히 전체 텍스트 검색을 위해 설계되었습니다. 다음 세 가지 주요 요소를 결합합니다.

  • 용어 빈도(TF): 문서에서 용어가 얼마나 자주 나타나는지를 측정합니다. 빈도가 높을수록 중요도가 높은 경우가 많지만, BM25는 포화도 매개변수 k1을 사용하여 지나치게 빈번한 용어가 관련성 점수를 지배하는 것을 방지합니다.

  • 역 문서 빈도(IDF): 전체 말뭉치에서 용어의 중요도를 반영합니다. 더 적은 문서에 나타나는 용어는 더 높은 IDF 값을 받아 연관성에 대한 기여도가 더 크다는 것을 나타냅니다.

  • 문서 길이 정규화: 문서 길이가 길수록 더 많은 용어를 포함하고 있기 때문에 점수가 높아지는 경향이 있습니다. BM25는 문서 길이를 정규화하여 이러한 편향을 완화하며, 매개변수 b는 이 정규화의 강도를 제어합니다.

BM25 점수는 다음과 같이 계산됩니다.

BM25 similarity formula BM25 유사도 공식

매개변수 설명

  • Q: 사용자가 제공한 쿼리 텍스트입니다.

  • D: 평가 중인 문서입니다.

  • TF(qi,D): 문서에서 qi 용어가 얼마나 자주 나타나는지 나타내는 용어 빈도 D.

  • IDF(qi): 역 문서 빈도, 다음과 같이 계산됩니다.

    IDF formula IDF 공식

    여기서 N 은 말뭉치의 총 문서 수이고 n(qi) 은 용어 qi 가 포함된 문서 수입니다.

  • ∣D∣: 문서 길이 D (총 용어 수).

  • avgdl: 코퍼스에 있는 모든 문서의 평균 길이.

  • k1: 용어 빈도가 점수에 미치는 영향을 제어합니다. 값이 높을수록 용어 빈도의 중요도가 높아집니다. 일반적인 범위는 [1.2, 2.0]이며, Milvus는 [0, 3]의 범위를 허용합니다.

  • b: 길이 정규화 정도를 0에서 1 사이의 범위로 제어합니다. 값이 0이면 정규화가 적용되지 않고, 값이 1이면 전체 정규화가 적용됩니다.

번역DeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?

How we use cookies

This website stores cookies on your computer. By continuing to browse or by clicking ‘Accept’, you agree to the storing of cookies on your device to enhance your site experience and for analytical purposes.