Я пытаюсь построить Context Aware Recommender System с Cloud ML Engine, который использует метод context prefiltering
(, как описано на слайде 55, решение a ), и я использую это Google Cloud обучающее руководство (часть 2) , чтобы построить демо. Для целей этой демонстрации я разделил набор данных на контексты «Будни» и «Выходные» и «Полдень» и «Полдень» по меткам времени.
На практике я изучу четыре модели, чтобы я мог фильтровать контекст по дням недели: неизвестно, по выходным - неизвестно, по неизвестному - полдень, неизвестно - после полудня, по будням - после полудня, по будням - в полдень ... и так далее. Идея состоит в том, чтобы использовать прогнозирование по всем соответствующим моделям пользователя, а затем взвесить итоговую рекомендацию на основе того, что известно о контексте (неизвестно, что используются все модели контекста и дан взвешенный результат).
Мне нужно что-то, что реагирует быстро, и, похоже, мне, к сожалению, понадобится какое-то промежуточное программное обеспечение, если я не хочу выполнять взвешивание во внешнем интерфейсе.
Я знаю, что в AppEngine есть режим прогнозирования, в котором модели хранятся в оперативной памяти, что гарантирует быстрый отклик, поскольку вам не нужно загружать модели прогнозирования; тогда разрешение контекста будет быстрым.
Однако будет ли более простое решение, которое также гарантировало бы аналогичную производительность в Google Cloud?
Причина, по которой я использую Cloud ML Engine, заключается в том, что, когда я работаю с контекстно-зависимой системой рекомендаций, таким образом, количество настроек гиперпараметра сильно возрастает; Я не хочу делать это вручную, но вместо этого использую байесовский гипертюнер Cloud ML Engine для выполнения этой работы, так что мне нужно только настроить диапазон параметров от одного до трех раз для каждой контекстной модели (с помощью автоматического сценария); это экономит большую часть времени разработки Data Scientist при повторном наборе данных.