Оценка рекомендателя SVD

В этой статье описано, как использовать компонент оценки рекомендателя SVD в конструкторе Машинного обучения Azure. Используйте этот компонент для создания прогнозов с помощью обученной модели рекомендаций на основе алгоритма декомпозиции одиночного значения (SVD).

Рекомендатель SVD может генерировать два разных типа прогнозов:

При создании прогнозов второго типа можно использовать один из описанных ниже режимов.

  • В рабочем режиме учитываются все пользователи и элементы. Обычно он используется в режиме веб-службы.

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

  • Режим оценки применяется к ограниченному набору пользователей или элементов, которые могут оцениваться (обычно он используется во время экспериментов).

Дополнительные сведения об алгоритме рекомендателя SVD см. в справочном документе по методам факторизации матрицы для систем рекомендаций.

Настройка оценки рекомендателя SVD

Этот компонент поддерживает два типа прогнозов, у каждого из которых — свои требования.

Прогноз рейтингов

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

  1. Добавьте в конвейер обученную модель рекомендаций и подключите ее к обученному рекомендателю SVD. Модель необходимо создать с помощью компонента обученного рекомендателя SVD.

  2. Тип рекомендательного прогноза: выберите Прогноз рейтинга. Другие параметры не требуются.

  3. Добавьте данные, для которых вы хотите сделать прогнозы, и подключите их к набору данных для оценки.

    Для прогнозирования рейтингов входной набор данных должен содержать пары "пользователь-элемент".

    Набор данных может содержать необязательный третий столбец оценок для пары "пользователь-элемент" в первом и втором столбцах, но третий столбец во время прогнозирования будет проигнорирован.

  4. Отправьте конвейер.

Результаты прогнозов рейтингов

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

Рекомендации для пользователей

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

  1. Добавьте в конвейер обученную модель рекомендаций и подключите ее к обученному рекомендателю SVD. Модель необходимо создать с помощью компонента обученного рекомендателя SVD.

  2. Чтобы рекомендовать элементы для определенного списка пользователей, установите для параметра Тип прогноза рекомендателя значение Рекомендация элемента.

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

    • Из всех элементов: выберите этот параметр, если вы настраиваете конвейер для использования в веб-службе или рабочей среде. Этот параметр активирует рабочий режим. В рабочем режиме этот компонент делает рекомендации на базе всех элементов, встреченных во время обучения.

    • Из оцененных элементов (для оценки модели) : выберите этот вариант, если разрабатываете или тестируете модель. Этот параметр активирует режим оценки. Компонент дает рекомендации только по тем элементам входного набора данных, которые были оценены.

    • Из элементов без рейтинга (чтобы предлагать пользователям новые элементы): выберите этот параметр, если вы хотите, чтобы компонент давал рекомендации только по тем элементам в наборе обучающих данных, которые не были оценены.

  4. Добавьте набор данных, для которого вы хотите сделать прогнозы, и подключите его к набору данных для оценки.

    • В режиме Из всех элементов входной набор данных должен состоять из одного столбца. Он содержит идентификаторы пользователей, для которых необходимо сделать рекомендации.

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

    • Для режима Из оцененных элементов (для оценки модели) , входной набор данных должен состоять из пар "пользователь-элемент". Первый столбец должен содержать идентификатор пользователя. Второй столбец должен содержать соответствующие идентификаторы элементов.

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

    • Для Из элементов без рейтинга (чтобы предлагать пользователям новые элементы) входной набор данных должен состоять из пар "пользователь-элемент". Первый столбец должен содержать идентификатор пользователя. Второй столбец должен содержать соответствующие идентификаторы элементов.

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

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

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

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

  7. Для Из элементов без рейтинга (чтобы предлагать пользователям новые элементы) используйте третий порт ввода с именем Данные обучения, чтобы удалить элементы, которые уже были оценены, из результатов прогнозирования.

    Чтобы применить этот фильтр, подключите исходный набор обучающих данных к входному порту.

  8. Отправьте конвейер.

Результаты рекомендации по элементу

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

  • Первый столбец содержит идентификаторы пользователей.
  • Создается ряд дополнительных столбцов в зависимости от значения, установленного вами для параметра Максимальное количество элементов, рекомендуемых пользователю. Каждый столбец содержит рекомендованный элемент (по идентификатору). Рекомендации упорядочиваются по сходству пар "пользователь-элемент". Элемент с самым высоким сходством помещается в столбец Элемент 1.

Технические примечания

Если у вас есть конвейер с рекомендателем SVD и вы переносите модель в рабочую среду, имейте в виду, что между использованием рекомендателя в режиме оценки и в рабочем режиме есть важные различия.

Для оценки по определению требуется прогнозы, которые можно проверить на соответствие экспериментальным данным в тестовом наборе. Когда вы оцениваете рекомендатель, он должен прогнозировать только элементы, которые были оценены в тестовом наборе. Это накладывает ограничения на возможные предсказываемые значения.

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

Дальнейшие действия

Ознакомьтесь с набором доступных компонентов для Машинного обучения Azure.