Поделиться через


Обучение модели рекомендаций Matchbox

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

Обучает байесовскую модель рекомендаций с помощью алгоритма Matchbox

категория: Машинное обучение/обучение

Примечание

применимо к: только Машинное обучение Studio (классическая модель)

Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.

Обзор модуля

в этой статье описывается, как использовать модуль рекомендуемого для обучения Matchbox в Машинное обучение Studio (классическая модель) для обучения модели рекомендаций.

алгоритм рекомендаций в Машинное обучение основан на модели Matchbox , разработанной Microsoft Research. Чтобы загрузить документ с подробным описанием алгоритма, щелкните эту ссылку на веб-сайте Microsoft Research.

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

Совет

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

создание подсистемы рекомендаций для приложений .net с помощью Машинное обучение

Дополнительные сведения о моделях рекомендаций и рекомендации по Matchbox

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

Существует два основных подхода к системам рекомендаций.

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

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

Как это работает. Если пользователь является относительно новым в системе, улучшение прогнозов достигается за счет использования сведений о признаках пользователя. Таким образом решается известная проблема "холодного запуска". Однако после сбора достаточного количества оценок от конкретного пользователя можно создавать для него полностью персонализированные прогнозы на основе конкретных оценок, а не только признаков. Следовательно, происходит плавный переход от рекомендаций на основе содержимого к рекомендациям на основе совместной фильтрации. Даже если признаки пользователя или элемента недоступны, модель Matchbox по-прежнему сможет работать в режиме совместной фильтрации.

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

Как настроить рекомендацию по обучению Matchbox

Подготовка данных

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

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

Требуемый набор данных пользователь-элемент-рейтинг

Очень важно, чтобы входные данные, используемые для обучения, содержали верный тип данных в правильном формате:

  • Первый столбец должен содержать идентификаторы пользователей.
  • Второй столбец должен содержать идентификаторы элементов.
  • Третий столбец содержит рейтинги для пар пользователь-элемент. Значения рейтинга должны быть либо числовыми, либо категориями.

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

набор данных о рейтинге ресторана в Машинное обучение Studio (классическая модель) (щелкните сохраненные наборы данных , а затем — примеры) демонстрирует ожидаемый формат:

Идентификатор пользователя плацеид рейтинг
U1077 135085 2
U1077 135038 2

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

Набор признаков пользователя (опционально)

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

пример см. в разделе набор данных клиента ресторана в Машинное обучение Studio (классическая модель). Типичный набор пользовательских функций выглядит следующим образом:

Идентификатор пользователя окружением Dress_preference транспорт АВТОТЕСТ
U1004 family не по форме В нижнем колонтитуле FALSE
U1005 friends Нет предпочтения Владелец автомобиля true

Набор признаков элемента (необязательно)

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

пример см. в разделе набор данных о функциях ресторана, предоставленный в Машинное обучение Studio (классическая модель) (щелкните сохраненные наборы datasets , а затем — примеры). Типичный набор функций элементов (в данном случае элемент — Ресторан) может выглядеть следующим образом:

плацеид алкоголя Smoking_area price рамбиенце
135106 Wine-Beer нет low family
132667 No_Alcohol_Served разрешены средняя Непринужденная

Обучение модели

  1. Добавьте модуль " обучение Matchbox рекомендовать " в эксперимент в студии (классическая модель) и подключите его к обучающим данным.

  2. Если у вас есть отдельный набор данных о пользовательских функциях и (или) элементах, подключите их к модулю рекомендации Train Matchbox .

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

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

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

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

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

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

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

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

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

    Matchbox рекомендуется обучить с помощью алгоритма передачи сообщений, который может многократно выполнять перебор входных данных несколько раз. Чем выше это число, тем точнее прогнозы; Однако обучение выполняется медленнее. Как правило, число итераций в диапазоне от 1 до 10.

  6. Запустите эксперимент или выберите модуль " обучение Matchbox рекомендовать " и выберите Выполнить выбранное.

Примеры

примеры использования моделей рекомендаций в Машинное обучение см. в этих примерах экспериментов в Коллекция решений ИИ Azure.

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

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

В этом разделе содержатся сведения о реализации, советы и ответы на часто задаваемые вопросы.

Советы по использованию

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

  • Все функции пользователей и элементов повторно масштабируются с учетом длины единицы, поэтому их максимальное абсолютное значение равно 1. Преобразование не применяется к значениям признаков, чтобы сохранить степень их незаполненности.

Ограничения

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

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

В настоящее время Нижняя граница объема памяти Matchbox — 16 * N\(4\T + 2\R) байты, где N обозначает число тройных оценок элементов в наборе данных для обучения, T до количества скрытых характеристик, а R — разность между минимальной и максимальной оценкой (в наборе данных для обучения).

Размер сериализованной Matchboxной модели рекомендуется примерно 16 * T\(U\R + I + X + Y) в байтах, где U означает число пользователей, число элементов, X , число пользовательских функций, а Y — число функций элемента.

Ожидаемые входные данные

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

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Количество характеристик >=0 Целое число 10 Укажите число признаков для использования с рекомендацией (необязательно)
Число итераций алгоритма рекомендаций >= 1 Целочисленный тип 5 Укажите максимальное число итераций для выполнения при обучении модели рекомендаций (необязательно)
Количество обучающих пакетов >= 1 Целое число 4 Укажите количество обучающих пакетов для использования с рекомендацией (необязательно)

Выходные данные

Имя Тип Описание
Обученная модель рекомендаций Matchbox Интерфейс ILearner Обученная модель рекомендаций Matchbox

Исключения

Исключение Описание
Ошибка 0022 Исключение возникает, если количество выбранных столбцов в наборе входных данных не равно ожидаемому числу.
Ошибка 0036 Исключение возникает, если для данного пользователя или элемента было предоставлено несколько векторов признаков.
Ошибка 0018 Исключение возникает, если входной набор данных не является допустимым.
Ошибка 0035 Исключение возникает, если для данного пользователя или элемента не были предоставлены какие-либо признаки.
Ошибка 0034 Исключение возникает, если для данной пары "пользователь-элемент" существует более одной оценки.
Ошибка 0053 Исключение возникает, если отсутствуют признаки пользователей или элементы для рекомендаций подсистемы Matchbox.
Ошибка 0003 Исключение возникает, если один или несколько входных аргументов имеют значение NULL или пусты.

список ошибок, относящихся к модулям студии (классическая версия), см. в разделе Машинное обучение коды ошибок.

список исключений API см. в разделе Машинное обучение REST API коды ошибок.

См. также раздел

Модель перекрестной проверки
Оценка рекомендателя
Обучение
Подсистема Score Matchbox