🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • Концепции
  • Home
  • Docs
  • Концепции

  • Метрические типы

Типы метрик

Метрики сходства используются для измерения сходства между векторами. Выбор подходящей метрики расстояния позволяет значительно улучшить производительность классификации и кластеризации.

В настоящее время 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(vector)]

BM25

Оценка релевантности на основе частоты терминов, инвертированной частоты документов и нормализации документов.

[0, ∞)

Евклидово расстояние (L2)

По сути, евклидово расстояние измеряет длину отрезка, соединяющего 2 точки.

Формула для евклидова расстояния выглядит следующим образом.

Euclidean distance formula Формула евклидова расстояния

где a = (a0, a1,...,an-1) и b = (b0, b1,..., bn-1) - две точки в n-мерном евклидовом пространстве.

Это наиболее часто используемая метрика расстояния, которая очень полезна, когда данные непрерывны.

Milvus вычисляет значение перед применением квадратного корня только в том случае, если в качестве метрики расстояния выбрано евклидово расстояние.

Внутреннее произведение (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 измеряет несходство между наборами данных и получается путем вычитания коэффициента сходства JACCARD из 1. Для бинарных переменных расстояние JACCARD эквивалентно коэффициенту Танимото.

JACCARD distance formula Формула расстояния JACCARD

Расстояние Хамминга

Расстояние Хамминга измеряет бинарные строки данных. Расстояние между двумя строками одинаковой длины - это количество битовых позиций, в которых биты различаются.

Например, пусть есть две строки, 1101 1001 и 1001 1101.

11011001 ⊕ 10011101 = 01000100. Поскольку они содержат две 1, расстояние HAMMING, 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, применяется полная нормализация.

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?