precision@k и recall@k

Вопрос или проблема

Как правило, я знаком с метриками оценки точности и полноты, но, как вы знаете, recall@k и precision@k – это разные вещи, используемые в оценках ранжирования, особенно в системах рекомендаций.

Я проверил много источников, я понял все, но не смог понять один момент.

Еще одна вещь,

Каждый источник различается по способу расчетов ( 1 , 2, 3, 4 )

давайте возьмем этот пример

опишите изображение здесь

Я дам вам пример, чтобы вы могли объяснить мне

Предположим, у нас есть 5 пользователей. Мы пытаемся дать рекомендации по локациям для следующего визита каждому пользователю. Мы анализируем исторические данные регистрации пользователей и даем рекомендации для следующего визита.

Пользователь 1 посещает: Музей1, Парк1, Ночной клуб, “?” (Что дальше)

Мы пытаемся найти следующие места для посещения. Предположим, наша “истина” – “Ресторан”

Как я могу рассчитать precision@5 и recall@5?

Дополнительно:
Это видео на YouTube объясняет очень хорошо (перейти к 51:45 на видео)

Что означает 5-6 релевантных предметов? Если мы даем рекомендации, это должно быть всего 1 предмет, который будет релевантен для пользователя. Они пытаются сделать рекомендацию фильма, но говорят, что у нас есть 5 релевантных фильмов. Что это значит?

Краткий ответ.

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

Некоторые определения:

Релевантные предметы: Это предметы, которые пользователи сами определили как релевантные своими действиями.

Рекомендованные предметы: Это предметы, которые система рекомендаций предсказывает, что будут релевантны пользователю.

Что касается вашего примера:

Давайте разберемся с определениями recall@k и precision@k, предположим
мы предоставляем $5$ рекомендаций в следующем порядке — 1 0 1 0 1, где 1
представляет релевантный и 0 нерелевантный. Таким образом, precision@k при различных
значениях k будет precision@3 равно $2/3$, precision@4 равно $2/4$, а
precision@5 равно $3/5$. Recall@k будет равен, recall@3 равно $2/3$, recall@4
равно $2/3$, а recall@5 равно $3/3$.

Ссылка: Precision and recall at k for recommender systems

Я думаю, что вышеуказанный ответ неверен или, по крайней мере, не отвечает на вопрос содержательно (насколько я понимаю), в промышленной среде $k$ определяется количеством предметов, которые вы показываете пользователю. В вашем случае показываете ли вы пользователю все эти варианты?

Музей1, Парк1, Ночной клуб

Если да, то $k=3$, поскольку они видели все $3$. Ваш движок рекомендаций очень хорош, если один из $3$ – это то, что действительно сделал пользователь.

Если вы показываете $5$, то ваш движок рекомендаций хорош, если один из $5$ – это то, что действительно сделал пользователь.

Если вы показываете $1000$, то ваш движок рекомендаций хорош, если один из $1000$ – это то, что действительно сделал пользователь.

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

В вашем случае я мог бы предположить, что ваше $k$ на самом деле равно $1$!
Почему? Потому что похоже, что вы думаете о том, как использовать систему рекомендаций, чтобы встретиться с человеком физически (надеюсь, не причинить ему вред :P). В этом случае вы можете быть только в одном месте в один момент времени. Поэтому вы, вероятно, разместите себя там, где система рекомендаций дала наивысшее предсказанное значение. Если это не идентично этому максимальному значению, ваша система рекомендаций неверна.

Я занимаюсь такими вопросами на своем блоге для оценки систем рекомендаций.
https://franciscormendes.github.io/2024/11/08/consulting-ab-testing/

Ответ или решение

Понимание Precision@k и Recall@k в Рекомендательных Системах

Введение

Метрики Precision@k и Recall@k являются важнейшими инструментами для оценки производительности рекомендательных систем, особенно в контексте ранжирования. Несмотря на то, что эти термины активно используются в научной литературе и практике, их интерпретация может варьироваться. В данной статье мы рассмотрим эти метрики с примерами, чтобы предоставить четкое понимание их различий и применения.

Определение

Precision@k (Точность@k) и Recall@k (Полнота@k) представляют собой оценку качества рекомендательной системы в контексте количества рекомендуемых элементов.

  • Precision@k — это доля релевантных элементов среди первых k элементов, рекомендованных пользователю. Вычисляется по формуле:

[
Precision@k = \frac{TP}{TP + FP}
]

где:

  • TP (True Positives) — количество релевантных элементов, рекомендованных среди первых k,

  • FP (False Positives) — количество нерелевантных элементов среди первых k.

  • Recall@k — это доля релевантных элементов, которые были рекомендованы среди всех релевантных элементов. Рассчитывается по формуле:

[
Recall@k = \frac{TP}{TP + FN}
]

где:

  • FN (False Negatives) — количество релевантных элементов, которые не были включены в первые k рекомендаций.

Пример

Рассмотрим пример с пятью пользователями, где мы хотим рекомендовать места для посещения. Предположим, у пользователя 1 следующее поведение: он уже посетил Museum1, Park1, Night Club и мы хотим предсказать его следующую посещаемую локацию. Допустим, что истинная релевантная локация — это "Restaurant".

Для простоты, предположим, что мы предоставляем пользователю k = 5 рекомендаций, из которых 3 являются релевантными (например, "Restaurant", "Cafe", "Museum2"), а 2 нерелевантными (например, "Night Club", "Park1").

Чтобы рассчитать Precision@5 и Recall@5, сначала нам нужно определить значения TP, FP и FN:

  • TP = 1 (только "Restaurant" является релевантным),
  • FP = 1 (одно нерелевантное — "Night Club"),
  • FN = 2 (два релевантных элемента не были рекомендованы).

Теперь мы можем выполнить вычисления:

  • Precision@5:

[
Precision@5 = \frac{TP}{TP + FP} = \frac{1}{1 + 1} = \frac{1}{2} = 0.5
]

  • Recall@5:

[
Recall@5 = \frac{TP}{TP + FN} = \frac{1}{1 + 2} = \frac{1}{3} \approx 0.33
]

Объяснение Значений

Метрики Precision и Recall помогают понять, как рекомендательная система справляется с задачей предсказания релевантных элементов. В случае, если мы показываем 1000 рекомендаций, такие метрики могут стать менее информативными, если среди них не будет ни одной релевантной для пользователя. Поэтому важно учитывать количество элементов k, которые показываются пользователю.

Заключение

Метрики Precision@k и Recall@k — это ключевые инструменты для оценки эффективности рекомендательных систем. Понимание их различий и правильное применение формул является основополагающим для достижения высоких результатов в рекомендации и пользовательском опыте. При оценке рекомендательных систем необходимо всегда учитывать контекст использования и объем предоставляемых рекомендаций, чтобы избежать манипуляций с метриками.

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

Оцените материал
Добавить комментарий

Капча загружается...