Калькулятор сходства векторов
Вычисляйте расстояние и сходство между числовыми векторами, используя методы косинусного сходства, евклидова расстояния, индекса Жаккара и другие.
Ввод
Вывод
Документация
Что такое векторная схожесть?
Векторная схожесть измеряет, насколько похожи два вектора в многомерном пространстве. Векторы — это упорядоченные списки чисел, представляющие точки данных. Они встречаются в встраиваниях машинного обучения, системах рекомендаций, обработке естественного языка, распознавании изображений и научных вычислениях. Сравнение двух векторов показывает, насколько близки или связаны исходные точки данных.
Используются два основных понятия:
- Схожесть: оценка, указывающая на сходство двух векторов. Более высокие значения обычно означают большую схожесть (например, косинусная схожесть 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, которые инструмент рассматривает как ошибку вычисления. - Очень большие векторы (тысячи измерений) поддерживаются, но могут вызвать кратковременную задержку в зависимости от выбранного метода.