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

Любовь — это способность видеть сходство в непохожем. - Теодор В. Адорно

Математика

Здесь A, B — два вектора в многомерном пространстве, и решение приведенного выше уравнения будет лежать в диапазоне [-1,1]:

  • 1 : Высокое сходство
  • 0
  • -1 : Нет сходства

Проще говоря, по мере того, как угол 𝜭 становится меньше, сходство косинусов приближается к 1.

Тот сериал, который ты никогда не собирался перепивать, та песня, которую ты никогда не собирался слушать…

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

Приложения

  1. Сходство документов, Детекторы плагиата.
  2. Используется в рекомендательных системах.
  3. В ML для интеллектуального анализа данных и выборочного сбора информации.
  4. Используется в биоинформатике для поиска похожих последовательностей в ДНК.
  5. Измерьте сходство изображений в компьютерном зрении.

Искусство

Хороший пример — лучшая проповедь. Итак, я проведу вас через очень простую демонстрацию. Нашей целью будет вычислить косинусное сходство двух приведенных ниже предложений.

  1. «Сачин играл в крикет»
  2. «Сачин — бог крикета»

В приведенном выше примере мера косинусного сходства составляет 47%. Это сходство вытекает из упоминаний слов «сачин» и «крикет» в двух предложениях.

Теперь давайте углубимся в то, как вы можете использовать python и его библиотеки для получения подобия косинуса.

Output : Cosine Similarity: 0.47140452079103173

Мы получили тот же результат 0.4714, что и раньше.
Можно также использовать функции в таких пакетах, как sklearn, для получения сходства косинусов без каких-либо хлопот (Escape the Math).

from sklearn.metrics.pairwise import cosine_similarity

Заключение

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

Также следует помнить, что область машинного обучения и искусственного интеллекта опирается исключительно на сложную математику, и настоящий энтузиаст машинного обучения никогда не должен уклоняться от ее изучения.

Вас может заинтересовать:

  1. Процесс науки о данных
  2. 5 важных функций PyTorch
  3. Связь со мной в LinkedIn