Логотип

BasedCalc

Массив 1

Массив 2

Косинусное расстояние между векторами

Введение

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

Операция

Косинусное расстояние основано на косинусе угла между двумя векторами a\mathbf{a} и b\mathbf{b} и вычисляется по формуле как:

Косинусное расстояние=1cos(θ)=1abab\text{Косинусное расстояние} = 1 - \cos(\theta) = 1 - \frac{\mathbf{a} \cdot \mathbf{b}}{\|\mathbf{a}\| \|\mathbf{b}\|}

Где:

  • ab\mathbf{a} \cdot \mathbf{b} - скалярное произведение векторов a\mathbf{a} и b\mathbf{b}.
  • a\|\mathbf{a}\| и b\|\mathbf{b}\| - векторные нормы (длины) векторов a\mathbf{a} и b\mathbf{b}.

Свойства

  • Безразмерная величина: Косинусное расстояние не зависит от длины векторов и принимает значения от 0 до 2.
  • Инвариантность к масштабу: Так как оно измеряет лишь угол, результат не изменяется при увеличении или уменьшении длины векторов.
  • Несимметричность пространства: Не удовлетворяет все аксиомы метрики; в частности, не соблюдается аксиома тождества неразличимости, так как косинусное расстояние между двумя различными противоположными векторами может быть равно 2.

Примеры использования

Пример 1

Найдем косинусное расстояние между векторами a=(1,0,0)\mathbf{a} = (1, 0, 0) и b=(0,1,0)\mathbf{b} = (0, 1, 0):

ab=10+01+00=0\mathbf{a} \cdot \mathbf{b} = 1 \cdot 0 + 0 \cdot 1 + 0 \cdot 0 = 0 a=12+02+02=1,b=02+12+02=1\|\mathbf{a}\| = \sqrt{1^2 + 0^2 + 0^2} = 1, \\ \|\mathbf{b}\| = \sqrt{0^2 + 1^2 + 0^2} = 1 Косинусное расстояние=1011=1\text{Косинусное расстояние} = 1 - \frac{0}{1 \cdot 1} = 1

Пример 2

Векторы c=(1,2,3)\mathbf{c} = (1, 2, 3) и d=(4,5,6)\mathbf{d} = (4, 5, 6):

cd=14+25+36=32\mathbf{c} \cdot \mathbf{d} = 1 \cdot 4 + 2 \cdot 5 + 3 \cdot 6 = 32 c=12+22+32=14,d=42+52+62=77\|\mathbf{c}\| = \sqrt{1^2 + 2^2 + 3^2} = \sqrt{14}, \\ \|\mathbf{d}\| = \sqrt{4^2 + 5^2 + 6^2} = \sqrt{77} Косинусное расстояние=1321477\text{Косинусное расстояние} = 1 - \frac{32}{\sqrt{14} \cdot \sqrt{77}}

Часто задаваемые вопросы (FAQ)

  • Как интерпретировать косинусное расстояние?

  • Косинусное расстояние выражает угол между векторами - расстояние ближе к 0 указывает на малый угол (векторы близки к параллельности), а расстояние ближе к 2 указывает на большой угол (векторы почти антипараллельны).

  • Почему косинусное расстояние используется в обработке текста?

  • В задачах анализа текста векторы часто представляют документы в высокоразмерном пространстве слов. Косинусное расстояние позволяет сравнивать документы по их направлению (то есть, по содержанию), игнорируя частоту упоминаний (длину векторов).

Примеры из жизни

  • Анализ текста и фильтрация спама: Векторы создаются на основе частот слов, и косинусное расстояние помогает определять похожесть текстовых документов.
  • Музыкальные рекомендации: Схожие песни могут быть определены на основе направления векторов, представляющих различные музыкальные характеристики.

Ссылки на литературу и ресурсы