Косинусное сходство — это мера сходства между двумя ненулевыми векторами пространства внутреннего произведения, которое измеряет косинус угла между ними.

С точки зрения непрофессионала, если у вас есть два вектора, скажем, A (2,3) и B (3,2), в первую очередь мы проводим прямую линию от начала до этого вектора, в нашем случае это от начала (0,0) к этим точки.

так:

Как видите, мы вычислили угол между двумя векторами «θ».

Если вы, ребята, не знаете, существует множество способов измерить расстояние между двумя векторами.

  1. Евклидово расстояние
  2. Манхэттенское расстояние

Евклидово расстояние — это прямое расстояние между двумя точками на графике.

так:

С другой стороны, манхэттенское расстояние. Это просто сумма горизонтального и вертикального расстояния между двумя точками, давайте рассмотрим его между точками A (x1, y1) и B (x2, y2):

А затем приходит косинус, который измеряет угол между ними. Если угол между двумя мал, это означает, что они подобны.

Формула дается:

cos(тета) = (A * B) / (||A|| * ||B||)

где A и B — сравниваемые векторы, а ||A|| и ||В|| — евклидовы расстояния векторов. Результирующее значение будет находиться в диапазоне от -1 до 1, причем значения ближе к 1 указывают на меньший угол и большее сходство, а значения ближе к -1 указывают на больший угол и меньшее сходство.

Случаи использования:

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

Это особенно полезно, поскольку не чувствительно к величине векторов, а только к их направлению. Это означает, что он может обрабатывать различия в длине документа и по-прежнему точно измерять сходство между текстами.

В следующем блоге мы поговорим о задаче с косинусным сходством.