NDCG, MAP, BPR и WARP в рекомендациях
Чем отличаются NDCG/MAP и pairwise losses вроде BPR/WARP?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
NDCG/MAP - метрики качества выдачи, BPR/WARP - обучающие pairwise objectives. BPR оптимизирует pos > neg, WARP сильнее фокусируется на нарушениях в верхней части ранга.
Полный разбор
NDCG и MAP используются для оценки ранжирования. MAP больше подходит для бинарной релевантности, NDCG поддерживает graded relevance и позиционный discount. Они говорят, насколько хорош порядок в выдаче.
BPR - pairwise loss: берем positive item и negative item для пользователя и учим score(pos) быть выше score(neg). Это хорошо ложится на implicit feedback. WARP семплирует negatives до тех пор, пока не найдет violating negative, и сильнее штрафует ошибки, влияющие на top of ranking.
В production loss и metric не обязаны совпадать. Модель может учиться на BPR/WARP, а оцениваться по Recall@K/NDCG и online uplift.
Теория
Ranking loss - это способ обучить модель, ranking metric - способ измерить итоговый порядок.
Типичные ошибки
- Путать NDCG как loss и как metric.
- Считать все negatives одинаково полезными.
- Не проверять online эффект после улучшения pairwise loss.