Удобные инструменты ML

Показатели рекомендательной системы - ясно объяснены

Понимание показателей оценки рекомендательных систем

В этом посте мы обсудим метрики оценки рекомендательных систем и постараемся их четко объяснить. Но перед этим давайте вкратце разберемся с системой рекомендаций.

Система рекомендаций - это алгоритм, который предоставляет рекомендации пользователям на основе их исторических предпочтений / вкусов. В настоящее время системы рекомендаций широко используются в нашем повседневном взаимодействии с приложениями и сайтами. Например, Amazon использует их, чтобы рекомендовать продукты, Spotify, чтобы рекомендовать музыку, YouTube, чтобы рекомендовать видео, Netflix, чтобы рекомендовать фильмы.

Качество рекомендаций зависит от того, насколько они актуальны для пользователей, а также должны быть интересными. Когда рекомендации слишком очевидны, они бесполезны и бесполезны. Для релевантности рекомендаций мы используем такие показатели, как отзыв и точность. Для последнего (интуитивной прозорливости) используются такие показатели, как разнообразие, охват, интуитивная интуиция и новизна. Здесь мы будем изучать показатели релевантности, а для показателей интуитивной интуиции, пожалуйста, ознакомьтесь с этим сообщением: Рекомендательные системы - это еще не все о точности.

Допустим, есть пользователи и товары, например фильмы, песни или товары. Каждого пользователя могут заинтересовать какие-то предметы. Мы рекомендуем несколько элементов (число k) для каждого пользователя. Теперь, как вы узнаете, были ли наши рекомендации каждому пользователю эффективны?

В задаче классификации мы обычно используем метрики оценки точности и отзыва. Точно так же для рекомендательных систем мы используем сочетание точности и отзыва - показатель средней точности (MAP), в частности MAP @ k, где представлены рекомендации k.

Давайте объясним MAP, так что M - это просто среднее (среднее) AP, средняя точность всех пользователей. Другими словами, мы берем среднее значение для средней точности, отсюда и среднее значение средней точности. Если у нас 1000 пользователей, мы суммируем AP для каждого пользователя и делим полученную сумму на 1000. Это MAP.

Итак, что такое средняя точность? Перед этим давайте разберемся с полнотой (r) и точностью (P).

Обычно между отзывом и точностью существует обратная зависимость. Точность связана с тем, сколько рекомендаций уместно среди предоставленных рекомендаций. Напомним, это важно, сколько рекомендаций содержится среди всех соответствующих рекомендаций.

Давайте разберемся с определениями отзыва @ k и точности @ k, предположим, что мы даем 5 рекомендаций в таком порядке - 1 0 1 0 1, где 1 представляет релевантные, а 0 нерелевантные. . Таким образом, точность @ k при разных значениях k будет равна точности @ 3 2/3, точности @ 4 2/4 и точности @ 5 3/5. Отзыв @ k был бы, отзыв @ 3 - 2/3, отзыв @ 4 - 2/3, а отзыв @ 5 - 3/3.

Поэтому нам не нужно понимать среднюю точность (AP). Но нам нужно знать следующее:

  • мы можем порекомендовать не более k товаров для каждого пользователя
  • лучше отправлять все рекомендации k, потому что нас не наказывают за неверные предположения
  • порядок имеет значение, поэтому лучше сначала представить более конкретные рекомендации, а затем рекомендации, в которых мы менее уверены

В основном мы выбираем k лучших рекомендаций (по порядку) и все.

Вот еще один способ понять среднюю точность. Вы можете думать об этом так: вы вводите что-то в Google, и он показывает вам 10 результатов. Наверное, было бы лучше, если бы все они были актуальны. Но если релевантны только некоторые из них, скажем пять из них, тогда гораздо лучше, если релевантные будут показаны первыми. Было бы плохо, если бы первые пять были неактуальными, а хорошие начинались бы только с шестого, не так ли? Оценка AP отражает это. Они должны были назвать это «отзыв о порядке», а не «средняя точность».

Но если вы упорствуете, давайте погрузимся в математику. Если нас просят порекомендовать N элементов, а количество соответствующих элементов в полном пространстве элементов составляет m , тогда:

где P (k) - значение точности в рекомендации kth, rel (k), - это просто индикатор, который говорит, что k-я рекомендация была релевантной (rel (k) = 1) или нет (rel (k) = 0).

Предположим, есть 5 соответствующих рекомендаций (m), мы даем 10 рекомендаций (N) следующим образом - 1 0 1 0 0 1 0 0 1 1. Рассчитаем средняя точность здесь.

Сравните математику с приведенной выше формулой, и вы поймете интуицию. Теперь, чтобы доказать, что MAP заботится о порядке, как мы упоминали ранее, давайте предоставим еще один набор рекомендаций - 1 1 1 0 1 1 0 0 0 (здесь мы сначала даем соответствующие рекомендации).

MAP награждает релевантные рекомендации, впервые загруженные первым.

Подводя итог, MAP вычисляет среднее значение средней точности (AP) по всем пользователям для системы рекомендаций. ТД - это мера, которая берет ранжированный список рекомендаций k и сравнивает его со списком релевантных рекомендаций для пользователя. AP вознаграждает вас за то, что в списке есть много релевантных рекомендаций, и за то, что вы помещаете наиболее актуальные рекомендации вверху.

Использованная литература:





Изображения математических формул взяты из следующего блога.