Назад к подготовке

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.