🔵Косинусное сходство
В задачах типа NLP используеться косинусное сходство(см фото), функция принимает значения в [-1, 1] и измеряет угол между векторами без учёта их длины. Прямое использование cos(x, y) в качестве расстояния не совсем работает: значение возрастает при увеличении сходства, а аксиома неотрицательности не удовлетворяется.
Стандартное преобразование в косинусном расстоянии(см второе фото), даёт неотрицательную симметричную функцию, обращающуюся в ноль при y = ax для a > 0. Это псевдометрика, а не метрика: разные векторы с одинаковым направлением неразличимы.
Неравенство треугольника для d_cos в общем случае тоже не выполняется, собственно метрикой является angular distance arccos(cos(x, y)) / pi. На практике косинусное расстояние применяется в условиях, где векторы предварительно нормированы на единичную сферу: в этом случае d_cos монотонно связана с евклидовым расстоянием через |x - y|_2^2 = 2 - 2 cos(x, y), и для целей ранжирования различие несущественно.
#TDA101
Post #115
132

