Что такое векторная схожесть?

Векторная схожесть измеряет, насколько похожи два вектора в многомерном пространстве. Векторы — это упорядоченные списки чисел, представляющие точки данных. Они встречаются в встраиваниях машинного обучения, системах рекомендаций, обработке естественного языка, распознавании изображений и научных вычислениях. Сравнение двух векторов показывает, насколько близки или связаны исходные точки данных.

Используются два основных понятия:

  • Схожесть: оценка, указывающая на сходство двух векторов. Более высокие значения обычно означают большую схожесть (например, косинусная схожесть 1 означает идентичное направление).
  • Расстояние: мера того, насколько далеко друг от друга находятся два вектора. Более низкие значения обычно означают большую схожесть (например, евклидово расстояние 0 означает идентичные векторы).

Описание инструмента

Этот инструмент вычисляет схожесть или расстояние между двумя числовыми векторами, используя более 50 хорошо известных методов из теории информации, статистики и геометрии. Введите два вектора, выберите метод на вкладке схожесть или расстояние, и результат будет вычислен мгновенно в вашем браузере.

Примеры

Входные данные

Вектор A: 1, 2, 3
Вектор B: 4, 5, 6
Метод Результат
Косинусная схожесть 0.9746318461970762
Евклидово расстояние 5.196152422706632
Манхэттенское расстояние 16.5

Поддерживаемые форматы входных данных

Все следующие варианты эквивалентны:

1, 2, 3
[1, 2, 3]
(1 2 3)
1;2;3

Возможности

  • 50+ методов — выбирайте из расстояний (Евклидово, Манхэттенское, Чебышёва, Косинусное, Кульбака-Лейблера, Йенсена-Шеннона и другие) или схожестей (Косинусная, Жаккара, Дайса, Танимото и другие)
  • Гибкий ввод — принимает значения, разделённые запятыми, пробелами или точками с запятой, с скобками или без них
  • Мгновенные результаты — все вычисления выполняются на стороне клиента без отправки данных на сервер

Поддерживаемые методы

Методы схожести

Метод Описание
Cosine Измеряет угол между двумя векторами; широко используется в NLP и системах рекомендаций
Kumar-Hassebrook Обобщённая схожесть, объединяющая Жаккара и косинусное
Dice Удвоенное пересечение, делённое на сумму количеств элементов
Tanimoto Расширенный коэффициент Жаккара для непрерывных векторов
Intersection Сумма поэлементных минимумов
Czekanowski Отношение удвоенной суммы минимумов к общей сумме
Motyka Пересечение, делённое на сумму всех элементов
Kulczynski Гармоническое среднее отношений, похожих на точность и полноту
Squared Chord Основано на квадратных корнях произведений элементов
Pearson Коэффициент линейной корреляции между двумя векторами

Методы расстояния

Метод Описание
Euclidean Прямолинейное расстояние в n-мерном пространстве
Squared Euclidean Евклидово расстояние без извлечения квадратного корня
Manhattan (City Block) Сумма абсолютных поэлементных разностей
Chebyshev Максимальная абсолютная разность по всем измерениям
Canberra Взвешенное манхэттенское расстояние, чувствительное к значениям близким к нулю
Sørensen Сумма абсолютных разностей, делённая на сумму всех значений
Gower Нормализованное среднее абсолютных разностей
Soergel Отношение абсолютных разностей к поэлементным максимумам
Lorentzian Сумма натуральных логарифмов абсолютных разностей плюс один
Clark Взвешенное расстояние с использованием абсолютных разностей над суммами
Wave Hedges Сумма абсолютных разностей, делённая на поэлементные максимумы
Czekanowski Форма расстояния коэффициента Чекановского
Motyka Форма расстояния коэффициента Мотыки
Kulczynski Форма расстояния коэффициента Кульчинского
Tanimoto Форма расстояния коэффициента Танимото
Ruzicka Дополнение схожести Рузички
Inner Product Отрицательное скалярное произведение как мера расстояния
Harmonic Mean Расстояние, основанное на гармонических средних пар элементов
Jaccard Доля несовпадающих компонентов
Dice Форма расстояния коэффициента Дайса
Fidelity Основано на квадратном корне произведений элементов (связано с Бхаттачарьей)
Bhattacharyya Измеряет перекрытие между двумя распределениями вероятностей
Hellinger Квадратный корень расстояния Бхаттачарьи
Matusita Квадратный корень половины суммы квадратов разностей квадратных корней
Squared Chord Форма расстояния коэффициента Squared Chord
Pearson Форма расстояния коэффициента корреляции Пирсона
Neyman Дивергенция типа хи-квадрат
Squared Квадратное расстояние хи-квадрат
Probabilistic Symmetric Симметричная версия дивергенции хи-квадрат
Divergence Дважды взвешенное квадратное расстояние
Additive Symmetric Среднее дивергенций хи-квадрат Неймана и Пирсона
Kullback-Leibler Информационно-теоретическая дивергенция между распределениями
Jeffreys Симметричная дивергенция Кульбака-Лейблера
K Divergence Асимметричная дивергенция, основанная на среднем распределении
Topsøe Удвоенная дивергенция Йенсена-Шеннона
Jensen-Shannon Сглаженная, симметричная версия Кульбака-Лейблера
Jensen Difference Основано на неравенстве Йенсена для выпуклых функций
Taneja Дивергенция арифметико-геометрического среднего
Kumar-Johnson Основано на квадратах разностей чётных степеней
Intersection Дополнение схожести пересечения
Average (City Block + Chebyshev) Среднее манхэттенского и расстояний Чебышёва

Как это работает

Инструмент анализирует каждый входной вектор в последовательность чисел, удаляет необязательные скобки и разделяет по запятым, пробелам или точкам с запятой. Затем он передаёт оба массива выбранной функции из библиотеки ml-distance, которая выполняет вычисления на чистом JavaScript. Оба вектора должны иметь одинаковое количество измерений; в противном случае инструмент выводит ошибку валидации.

Ограничения

  • Некоторые методы (например, Кульбака-Лейблера, Бхаттачарьи) требуют, чтобы все значения были строго положительными и суммировались в 1 (распределения вероятностей). Использование произвольных векторов может привести к Infinity или NaN, которые инструмент рассматривает как ошибку вычисления.
  • Очень большие векторы (тысячи измерений) поддерживаются, но могут вызвать кратковременную задержку в зависимости от выбранного метода.