Косинусное сходство — это мера сходства между двумя ненулевыми векторами пространства внутреннего произведения, которое измеряет косинус угла между ними.
С точки зрения непрофессионала, если у вас есть два вектора, скажем, A (2,3) и B (3,2), в первую очередь мы проводим прямую линию от начала до этого вектора, в нашем случае это от начала (0,0) к этим точки.
так:
Как видите, мы вычислили угол между двумя векторами «θ».
Если вы, ребята, не знаете, существует множество способов измерить расстояние между двумя векторами.
- Евклидово расстояние
- Манхэттенское расстояние
Евклидово расстояние — это прямое расстояние между двумя точками на графике.
так:
С другой стороны, манхэттенское расстояние. Это просто сумма горизонтального и вертикального расстояния между двумя точками, давайте рассмотрим его между точками A (x1, y1) и B (x2, y2):
А затем приходит косинус, который измеряет угол между ними. Если угол между двумя мал, это означает, что они подобны.
Формула дается:
cos(тета) = (A * B) / (||A|| * ||B||)
где A и B — сравниваемые векторы, а ||A|| и ||В|| — евклидовы расстояния векторов. Результирующее значение будет находиться в диапазоне от -1 до 1, причем значения ближе к 1 указывают на меньший угол и большее сходство, а значения ближе к -1 указывают на больший угол и меньшее сходство.
Случаи использования:
Косинусное сходство часто используется в задачах обработки естественного языка и поиска информации, таких как классификация документов и поисковые системы, для сравнения сходства текстов.
Это особенно полезно, поскольку не чувствительно к величине векторов, а только к их направлению. Это означает, что он может обрабатывать различия в длине документа и по-прежнему точно измерять сходство между текстами.
В следующем блоге мы поговорим о задаче с косинусным сходством.