Косинусное сходство — это математическое понятие, которое помогает нам определить меру сходства между объектами.
Любовь — это способность видеть сходство в непохожем. - Теодор В. Адорно
Математика
Здесь A, B — два вектора в многомерном пространстве, и решение приведенного выше уравнения будет лежать в диапазоне [-1,1]:
- 1 : Высокое сходство
- 0
- -1 : Нет сходства
Проще говоря, по мере того, как угол 𝜭 становится меньше, сходство косинусов приближается к 1.
Тот сериал, который ты никогда не собирался перепивать, та песня, которую ты никогда не собирался слушать…
Прежде чем использовать наши знания о сходстве косинусов для вычислений, давайте воспользуемся ими, чтобы обогатить наше понимание различных приложений.
Приложения
- Сходство документов, Детекторы плагиата.
- Используется в рекомендательных системах.
- В ML для интеллектуального анализа данных и выборочного сбора информации.
- Используется в биоинформатике для поиска похожих последовательностей в ДНК.
- Измерьте сходство изображений в компьютерном зрении.
Искусство
Хороший пример — лучшая проповедь. Итак, я проведу вас через очень простую демонстрацию. Нашей целью будет вычислить косинусное сходство двух приведенных ниже предложений.
- «Сачин играл в крикет»
- «Сачин — бог крикета»
В приведенном выше примере мера косинусного сходства составляет 47%. Это сходство вытекает из упоминаний слов «сачин» и «крикет» в двух предложениях.
Теперь давайте углубимся в то, как вы можете использовать python и его библиотеки для получения подобия косинуса.
Output : Cosine Similarity: 0.47140452079103173
Мы получили тот же результат 0.4714
, что и раньше.
Можно также использовать функции в таких пакетах, как sklearn, для получения сходства косинусов без каких-либо хлопот (Escape the Math).
from sklearn.metrics.pairwise import cosine_similarity
Заключение
В этой статье вы начали с математики, лежащей в основе сходства косинусов, ее приложений, а затем вывели ее, используя математику на бумаге и вычисления с использованием Python. Есть много других способов реализации этой метрики в python и других языках.
Также следует помнить, что область машинного обучения и искусственного интеллекта опирается исключительно на сложную математику, и настоящий энтузиаст машинного обучения никогда не должен уклоняться от ее изучения.
Вас может заинтересовать:
- Процесс науки о данных
- 5 важных функций PyTorch
- Связь со мной в LinkedIn