Ранжирование. 🟢 easy
🔥 Как договаривались, пишу постик по ранжированию. В блоке easy обсудим метрики и базовый подход.
❓ Представим, что блэкбокс принимает запрос (например товар, к которому мы хотим найти наиболее похожие товары из Базы Данных) и выдает топ-K самых похожих товаров с уровнем похожести (число от 0 до 1).
❓ Классическими метриками ранжирования являются:
☺️Recall@K - покажет, какую долю всех похожих товаров в датасете мы покрыли в этих топ-K
☺️Precision@K - покажет, сколько % среди этих топ-К товаров действительно являются похожими
☺️MRR - обратный ранг (подойдет, если ищем единственный релевантный товар)
☺️Kendall's t - ранговый коэффициент (оценивает ранжирование исходя из числа перестановок до идеального ранжирования)
☺️AveragePrecision, MeanAveragePrecision, NDCG, PFound - более сложные и более популярные метрики
❓ Наверное, самым базовым подходом в ранжировании является Pointwise подход - то есть "точечный" подход, при котором мы сравниваем запрашиваемый товар поточечно с каждым товаром в базе.
Например, у нас
1. Есть предобученные эмбеддинги товаров в базе
2. Есть эмбеддинг запрашиваемого товара
3. Мы по очереди считаем cosine similarity этого товара со всеми товарами в базе
4. Сортируем товары в базе по убыванию cosine similarity
5. Берем Топ-K
❓ Проблема этого подхода заключается в том, что мы, во-первых, не обучаем никакую модель прогнозировать значение релевантности, во-вторых, никак не используем соседние товары в базе при оценке релевантности какого-либо товара из базы (иными словами, не учитываем контекст)
👍, если ждешь пост 🟠medium про то, как эти проблемы победить
#Ботаем
Post #681
1.33K
- 👍 17
- ❤ 6