group-telegram.com/sysblok/1082
Last Update:
Косинусная близость: как компьютер сравнивает объекты
Рассказываем, как онлайн-кинотеатры определяют, какой фильм вам порекомендовать, маркетплейсы — какой похожий товар предложить, а интернет-поисковики находят темы, которые отвечают теме запроса. И всё это — с помощью косинуса угла между векторами.
Кратко: о чем статья?
Прежде чем сравнивать объекты, компьютер должен представить их в виде векторов — упорядоченных наборов чисел, которые формализуют свойства каждого объекта. Каждое число вектора характеризует какой-то признак объекта, например, цвет и размер товара, тональность текста, жанр и длительность фильма. Чем больше признаков у объекта, тем больше чисел в векторе (эти числа называют координатами вектора).
Между двумя векторами можно измерять расстояние и угол. Чтобы не измерять угол в градусах, его удобнее выражать через косинус. Косинус — это одна из тригонометрических функций, которая на вход принимает угол и сопоставляет ему число из диапазона от -1 до 1. Чем меньше угол между векторами, тем более схожи соответствующие объекты, и наоборот. Поэтому косинус между векторами также называют косинусной близостью.
Например, объекты, у которых соответствующие им векторы направлены одинаково (угол между ними 0 градусов), имеют с точки зрения косинуса максимальную близость, равную единице. A объекты, векторы которых указывают в противоположные направления (угол между ними 180 градусов), максимально удалены — у них косинус равен -1. Так, если на плоскости изобразить векторы, соответствующие трем рюкзакам (при этом их объем и количество отделений будут координатами по горизонтали и вертикали соответственно), то при подсчете косинусной близости между ними выяснится, что рюкзак объемом 2 литра с 6 отделениями более схож с рюкзаком объемом 1 литр и с 2 отделениями, нежели чем с рюкзаком, объем которого — 4 литра, а количество отделений — 2 штуки.
Чтобы узнать о том, как рассчитать косинус с помощью математических формул или компьютера, а также найти ссылку на проект в Google Colab, где вы можете попробовать рассчитать косинусную близость между разными словами, читайте полную версию статьи.
Время чтения: 7 минут