Типы метрик
Метрики сходства используются для измерения сходства между векторами. Выбор подходящей метрики расстояния позволяет значительно улучшить производительность классификации и кластеризации.
В настоящее время Milvus поддерживает такие типы метрик сходства: Евклидово расстояние (L2
), внутреннее произведение (IP
), косинусное сходство (COSINE
), JACCARD
, HAMMING
, и BM25
(специально разработанная для полнотекстового поиска по разреженным векторам).
В таблице ниже приведены соответствия между различными типами полей и соответствующими им типами метрик.
Тип поля | Диапазон измерений | Поддерживаемые метрические типы | Метрический тип по умолчанию |
---|---|---|---|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| Размерность указывать не нужно. |
|
|
| 8-32,768*8 |
|
|
Для векторных полей типа
SPARSE_FLOAT_VECTOR
используйте метрический типBM25
только при полнотекстовом поиске. Дополнительные сведения см. в разделе Полнотекстовый поиск.Для векторных полей типа
BINARY_VECTOR
значение размерности (dim
) должно быть кратно 8.
В таблице ниже приведены характеристики значений расстояния сходства для всех поддерживаемых метрических типов и диапазон их значений.
Тип метрики | Характеристики значений расстояния сходства | Диапазон значений расстояния сходства |
---|---|---|
| Меньшее значение указывает на большее сходство. | [0, ∞) |
| Большее значение указывает на большее сходство. | [-1, 1] |
| Большее значение указывает на большее сходство. | [-1, 1] |
| Меньшее значение указывает на большее сходство. | [0, 1] |
| Меньшее значение указывает на большее сходство. | [0, dim(vector)] |
| Оценка релевантности на основе частоты терминов, инвертированной частоты документов и нормализации документов. | [0, ∞) |
Евклидово расстояние (L2)
По сути, евклидово расстояние измеряет длину отрезка, соединяющего 2 точки.
Формула для евклидова расстояния выглядит следующим образом.
Формула евклидова расстояния
где a = (a0, a1,...,an-1) и b = (b0, b1,..., bn-1) - две точки в n-мерном евклидовом пространстве.
Это наиболее часто используемая метрика расстояния, которая очень полезна, когда данные непрерывны.
Milvus вычисляет значение перед применением квадратного корня только в том случае, если в качестве метрики расстояния выбрано евклидово расстояние.
Внутреннее произведение (IP)
Расстояние IP между двумя вкраплениями определяется следующим образом.
Формула внутреннего произведения
IP более полезно, если вам нужно сравнить ненормированные данные или если вам важны величина и угол.
Если вы используете IP для вычисления сходства между эмбеддингами, вы должны нормализовать ваши эмбеддинги. После нормализации внутреннее произведение равно косинусному сходству.
Предположим, что X' нормализовано из эмбеддинга X.
Формула нормализованного внутреннего произведения
Корреляция между двумя эмбеддингами выглядит следующим образом.
Корреляция между эмбеддингами
Косинусное сходство
Косинусное сходство использует косинус угла между двумя наборами векторов для измерения того, насколько они похожи. Можно представить два набора векторов как отрезки прямых, начинающиеся из одной и той же точки, например [0,0,...], но направленные в разные стороны.
Чтобы вычислить косинусоидальное сходство между двумя наборами векторов A = (a0, a1,...,an-1) и B = (b0, b1,..., bn-1), воспользуйтесь следующей формулой.
Формула косинусного сходства
Косинусоидальное сходство всегда находится в интервале [-1, 1]. Например, косинус сходства двух пропорциональных векторов равен 1, двух ортогональных векторов - 0, а двух противоположных векторов - -1. Чем больше косинус, тем меньше угол между двумя векторами, что говорит о том, что эти два вектора более похожи друг на друга.
Вычитая косинус сходства из 1, вы можете получить косинусоидальное расстояние между двумя векторами.
Расстояние JACCARD
Коэффициент сходства JACCARD измеряет сходство между двумя выборочными совокупностями и определяется как кардинальность пересечения заданных совокупностей, деленная на кардинальность их объединения. Он может быть применен только к конечным выборочным совокупностям.
Формула коэффициента сходства JACCARD
Расстояние JACCARD измеряет несходство между наборами данных и получается путем вычитания коэффициента сходства JACCARD из 1. Для бинарных переменных расстояние JACCARD эквивалентно коэффициенту Танимото.
Формула расстояния 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
Описание параметра.
Q
: Текст запроса, предоставленный пользователем.D
: : Оцениваемый документ.TF(qi,D)
: Частота термина, показывающая, как часто терминqi
встречается в документеD
.IDF(qi)
: Обратная частота документа, рассчитывается как.формула IDF
где
N
- общее количество документов в корпусе, аn(qi)
- количество документов, содержащих термин qi.∣D∣
: Длина документаD
(общее количество терминов).avgdl
: Средняя длина всех документов в корпусе.k1
: Контролирует влияние частоты терминов на оценку. Более высокие значения увеличивают важность частоты терминов. Типичный диапазон - [1.2, 2.0], в то время как Milvus допускает диапазон [0, 3].b
: Управляет степенью нормализации длины, в диапазоне от 0 до 1. Если значение равно 0, нормализация не применяется; если значение равно 1, применяется полная нормализация.