Как использовать тестовый набор данных для оценки алгоритма рекомендательной системы

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

Я новичок в системе рекомендаций и пытаюсь создать одну из них, используя метод коллаборативной фильтрации на основе предметов. В настоящее время я пытаюсь оценить/измерить результаты, используя MAE. У меня есть один шаг, который неясен (после того как я смог разделить обучающий набор данных и тестовый набор данных и вычислил матрицу сходства между предметами). Я понимаю, что теперь могу делать прогнозы для данного предмета для конкретного пользователя. Допустим, из тестового набора данных есть Пользователь A с 10 уже оцененными предметами. Что мне делать с этим пользователем? Случайным образом выбрать один предмет и притвориться, что я не знаю оценки, которую Пользователь A поставил предмету? Затем вычислить предсказанную оценку, используя взвешенную сумму остальных 9 предметов?

Или мне на самом деле следует перечислить все 10 предметов, которые оценил Пользователь A. Затем каждый раз убирать только целевой предмет и использовать остальные 9 предметов для прогнозирования?

Я думаю, что правильный ответ может заключаться в том, чтобы предсказать все 10 предметов, которые оценил Пользователь A. И вычислить MAE, используя все их.

Обновление: Только что узнал, что вышеуказанный подход называется “Оценка качества модели по остаткам”, есть и другие, такие как Кросс-валидация

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

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

Основные этапы оценки системы рекомендаций

1. Разделение данных

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

2. Построение матрицы сходства

После разделения данных на обучающую и тестовую выборки необходимо вычислить матрицу сходства, используя метод item-to-item collaborative filtering (CF). Для этого можно использовать различные метрики, такие как косинусное сходство или корреляцию Пирсона, в зависимости от типа данных и требований к результатам.

3. Оценка предсказаний

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

3.1 Выбор пользователя

Рассмотрим конкретного пользователя, например, Пользователя A, у которого есть 10 оцененных элементов. Это важно, поскольку мы будем использовать эти данные для проверки точности наших предсказаний.

3.2 Методика предсказания

Существует два подхода к предсказанию оценок:

  • Метод случайного выбора: случайным образом выберите один из элементов, оцененных Пользователем A, и предположите, что его рейтинг вам неизвестен. Далее, используя оставшиеся 9 элементов, рассчитайте предсказанный рейтинг для выбранного элемента.

  • Метод перебора всех элементов: более распространенный и, как правило, более надежный метод. Каждый раз берите один элемент из 10 оцененных и используйте остальные 9 для предсказания его рейтинга. Таким образом, вы получите 10 различных предсказаний – по одному для каждого элемента.

4. Расчет MAE

После получения предсказанных значений важно рассчитать MAE для оценки точности модели. MAE определяется как среднее значение абсолютных ошибок между предсказанными и фактическими рейтингами:

[ MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i – \hat{y}_i| ]

где ( y_i ) – фактический рейтинг элемента, а ( \hat{y}_i ) – предсказанный рейтинг.

5. Другие методы оценки

Хотя метод "Residuals" является доброй практикой, также стоит рассмотреть использование кросс-валидации. Он позволяет разбить ваш обучающий набор на несколько частей, тем самым обеспечивая более надежную оценку производительности вашего алгоритма.

Заключение

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

  1. Разделите данные на обучающую и тестовую выборки.
  2. Постройте матрицу сходства элементов.
  3. Примените один из методов предсказания для рейтингов пользователей.
  4. Рассчитайте MAE для объективной оценки точности предсказаний.
  5. Рассмотрите альтернативные методы, такие как кросс-валидация, для более глубокого анализа.

Следуя этим рекомендациям, вы сможете эффективно измерять производительность вашего алгоритма системы рекомендаций и улучшать его на основе полученных результатов.

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

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