Функции расстояния
Преимуществом метрических методов является то, что их можно применять с любой функцией расстоя ния (distance function) между объектами . По смыслу расстояние измеряет непохожесть объектов между собой, и его не надо путать с функцией похожести (similarity function) , принимающей более высокие значения между более похожими объектами.
Мы всегда можем преобразовать расстояние в похожесть и наоборот, применяя некоторую убывающую функцию :
Например, или .
Сравнение векторов вещественных чисел
Если , то часто используются следующие функции расстояния:
| Название | |
|---|---|
| Евклидово | |
| (Манхэттенская) | |
| Канберра | |
| Ланса-Уильямса |
Косинусная мера близости
Очень популярна косинусная мера близости [1]:
измеряющая косинус угла между векторами и , поэтому принимающая значения на отрезке .
Согласно этой мере объекты близки, если угол между ними мал, а, соответственно, косинус этого угла близок к единице. Косинусная мера близости не зависит от длин сравниваемых векторов (докажите!).
Это полезно в некоторых приложениях, таких как анализ текстов, кодируемых счётчиками встречаемости в них слов. Если продублировать документ, то счётчики всех слов увеличатся вдвое, как и длина вектора признаков, кодирующего документ. Поскольку дублирование текста не оказывает влияние на смысл документа, то оно не должно изменять попарные расстояния между документами, что и наблюдается для косинусной меры близости.
Расстояние Махаланобиса
Для сравнения векторов, элементы которых сильн о скоррелированы между собой, используется Евклидово расстояние, но не между исходными объектами , а между их декоррелированными версиями:
Докажите, что и будут иметь нулевое среднее и единичную матрицу ковариаций, т.е. отдельные элементы векторов будут не скоррелированы между собой.
Графически процесс перевода из скоррелированного пространства (A) в декоррелированное (B) показан ниже:

В терминах исходных векторов это расстояние выражается как
и называется расстоянием Махаланобиса [2].
Докажите, что Евклидово расстояние между декореллированными версиями объектов и будет считаться по формуле выше.
В более общем случае расстояние можно определить через произвольную неотрицательно-определённую матрицу , которую можно настраивать по данным (metric learning [3]):
Сравнение бинарных векторов
Для бинарных векторов, состоящих только из нулей и единиц, часто используют расстояние Хэмминга [4]:
Сравнение множеств
Для сравнения двух множеств X и Z (например наборов товаров, купленных в магазине по двум чекам) используется мера близости Жаккара (Jaccard index [5]), равная числу элементов в пересечении множеств, нормированному на число элементов в их объединении:
Мера принимает значения в отрезке .
Сравнение строк
Для сравнения строк часто используется редакторское расстояние (edit distance), называемое также расстоянием Левенштейна (Levenstein distance [6], предложена в [7]). Для двух строк и оно вычисляется как минимальное число операций вставки символа, удаления символа и замены одного символа другим, необходимое для перевода одной строки в другую. Например, расстояние между строками "вагон" и "авто" будет 4, поскольку минимально требуется 4 операции для преобразования одной строки в другую:
| операция | результат | |
|---|---|---|
| ВАГОН | ||
| 1 | удаление В | АГОН |
| 2 |