Повторная поездка Spark MLlib Рекомендация Модель [дубликат]

Это невозможно напрямую с помощью Basic-Authentication.

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

Есть «хаки» (см. другие ответы), обычно связанные с использованием XMLHttpRequest для отправки HTTP-запроса с неправильными учетными данными для перезаписывания исходных данных.

13
задан Community 23 May 2017 в 11:47
поделиться

2 ответа

Кажется, что вы хотите заниматься каким-то онлайн-обучением . Это то, что вы фактически обновляете модель при получении данных. Spark MLLib имеет ограниченные возможности для обучения потоковым машинам. Существует потоковая линейная регрессия и потоковое K-Means .

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

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

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

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

0
ответ дан Chet 19 August 2018 в 13:27
поделиться

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


Фактически вы можете получать прогнозы для новых пользователей с использованием обученной модели (без обновления):

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

, т. е. если пользовательская латентная матрица равна u, а ваша скрытая матрица продукта v, для пользователя i в модели, вы получаете оценки по do: u_i * v для нового пользователя, у вас нет скрытого представления, поэтому возьмите полное представление full_u и сделайте: full_u * v ^ t * v Это приблизит скрытые факторы для новых пользователей и даст разумные рекомендации (если модель уже дает разумные рекомендации для существующих пользователей)

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

Примечание: MLLIB дает вам доступ к матрице u и v

6
ответ дан yoh.lej 19 August 2018 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: