ИТМО Machine Learning. Рекомендательные системы — часть 1Andrey Danilchenko
Лекция-введение в рекомендательные системы в рамках курса по машинному обучению для студентов четвертого курса на кафедре КТ ИТМО. Часть 1 — kNN, SVD, iALS.
ИТМО Machine Learning. Рекомендательные системы — часть 2Andrey Danilchenko
Лекция-введение в рекомендательные системы в рамках курса по машинному обучению для студентов четвертого курса на кафедре КТ ИТМО. Часть 2 — explanations, RBM, evaluation metrics, BPR
Рассказ про рекомендательные системы в целом, о том, какие они бываю и какие данные используют. Краткий разбор kNN-модели и SVD, рассказ о том, как применять SGD и ALS для обучения SVD. Обучение implicit SVD через iALS. Методы построения объяснений к рекомендациям. Обзор основных метрик качества Модель Personalized Bayesian Ranking в качестве примера learning to rank framework.
ИТМО Machine Learning. Рекомендательные системы — часть 1Andrey Danilchenko
Лекция-введение в рекомендательные системы в рамках курса по машинному обучению для студентов четвертого курса на кафедре КТ ИТМО. Часть 1 — kNN, SVD, iALS.
ИТМО Machine Learning. Рекомендательные системы — часть 2Andrey Danilchenko
Лекция-введение в рекомендательные системы в рамках курса по машинному обучению для студентов четвертого курса на кафедре КТ ИТМО. Часть 2 — explanations, RBM, evaluation metrics, BPR
Рассказ про рекомендательные системы в целом, о том, какие они бываю и какие данные используют. Краткий разбор kNN-модели и SVD, рассказ о том, как применять SGD и ALS для обучения SVD. Обучение implicit SVD через iALS. Методы построения объяснений к рекомендациям. Обзор основных метрик качества Модель Personalized Bayesian Ranking в качестве примера learning to rank framework.
Факторизационные модели в рекомендательных системахromovpa
Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №6 "Линейные модели для классификации и регрессии"
Лектор - Николай Анохин
Обобщенные линейные модели. Постановка задачи оптимизации. Примеры критериев. Градиентный спуск. Регуляризация. Метод Maximum Likelihood. Логистическая регрессия.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №7 "Машина опорных векторов"
Лектор - Николай Анохин
Разделяющая поверхность с максимальным зазором. Формулировка задачи оптимизации для случаев линейно-разделимых и линейно-неразделимых классов. Сопряженная задача. Опорные векторы. KKT-условия. SVM для задач классификации и регрессии. Kernel trick. Теорема Мерсера. Примеры функций ядра.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №9 "Алгоритмические композиции. Начало"
Лектор - Владимир Гулин
Комбинации классификаторов. Модельные деревья решений. Смесь экспертов. Stacking. Стохастические методы построения ансамблей классификаторов. Bagging. RSM. Алгоритм RandomForest.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №10 "Алгоритмические композиции. Завершение"
Лектор - Владимир Гулин
Ключевые идеи бустинга. Отличия бустинга и бэггинга. Алгорим AdaBoost. Градиентный бустинг. Мета-алгоритмы над алгоритмическими композициями. Алгоритм BagBoo.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лектор - Николай Анохин
Постановка задачи кластеризации. Функции расстояния. Критерии качества кластеризации. EM-алгоритм. K-means и модификации.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №4 "Задача классификации"
Лектор - Николай Анохин
Постановка задач классификации и регрессии. Теория принятия решений. Виды моделей. Примеры функций потерь. Переобучение. Метрики качества классификации. MDL. Решающие деревья. Алгоритм CART.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №12 "Ограниченная машина Больцмана"
Лектор - Павел Нестеров
Нейросетейвой автоэнкодер. Стохастические и рекурентные нейронные сети. Машина Больцмана и ограниченная машина Больцмана. Распределение Гиббса. Алгоритм contrastive divergence для обучения РБМ. Сэмплирование данных из РБМ. Бинарная РБМ и гауссово-бинарная РБМ. Влияние регуляризации, нелинейное сжатие размерности, извлечение признаков. Semantic hashing.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №8 "Методы снижения размерности пространства"
Лектор - Владимир Гулин
Проблема проклятия размерности. Отбор и выделение признаков. Методы выделения признаков (feature extraction). Метод главных компонент (PCA). Метод независимых компонент (ICA). Методы основанные на автоэнкодерах. Методы отбора признаков (feature selection). Методы основанные на взаимной корреляции признаков. Метод максимальной релевантность и минимальной избыточности (mRMR). Методы основанные на деревьях решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Факторизационные модели в рекомендательных системахromovpa
Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №6 "Линейные модели для классификации и регрессии"
Лектор - Николай Анохин
Обобщенные линейные модели. Постановка задачи оптимизации. Примеры критериев. Градиентный спуск. Регуляризация. Метод Maximum Likelihood. Логистическая регрессия.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №7 "Машина опорных векторов"
Лектор - Николай Анохин
Разделяющая поверхность с максимальным зазором. Формулировка задачи оптимизации для случаев линейно-разделимых и линейно-неразделимых классов. Сопряженная задача. Опорные векторы. KKT-условия. SVM для задач классификации и регрессии. Kernel trick. Теорема Мерсера. Примеры функций ядра.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №9 "Алгоритмические композиции. Начало"
Лектор - Владимир Гулин
Комбинации классификаторов. Модельные деревья решений. Смесь экспертов. Stacking. Стохастические методы построения ансамблей классификаторов. Bagging. RSM. Алгоритм RandomForest.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №10 "Алгоритмические композиции. Завершение"
Лектор - Владимир Гулин
Ключевые идеи бустинга. Отличия бустинга и бэггинга. Алгорим AdaBoost. Градиентный бустинг. Мета-алгоритмы над алгоритмическими композициями. Алгоритм BagBoo.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лектор - Николай Анохин
Постановка задачи кластеризации. Функции расстояния. Критерии качества кластеризации. EM-алгоритм. K-means и модификации.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №4 "Задача классификации"
Лектор - Николай Анохин
Постановка задач классификации и регрессии. Теория принятия решений. Виды моделей. Примеры функций потерь. Переобучение. Метрики качества классификации. MDL. Решающие деревья. Алгоритм CART.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №12 "Ограниченная машина Больцмана"
Лектор - Павел Нестеров
Нейросетейвой автоэнкодер. Стохастические и рекурентные нейронные сети. Машина Больцмана и ограниченная машина Больцмана. Распределение Гиббса. Алгоритм contrastive divergence для обучения РБМ. Сэмплирование данных из РБМ. Бинарная РБМ и гауссово-бинарная РБМ. Влияние регуляризации, нелинейное сжатие размерности, извлечение признаков. Semantic hashing.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №8 "Методы снижения размерности пространства"
Лектор - Владимир Гулин
Проблема проклятия размерности. Отбор и выделение признаков. Методы выделения признаков (feature extraction). Метод главных компонент (PCA). Метод независимых компонент (ICA). Методы основанные на автоэнкодерах. Методы отбора признаков (feature selection). Методы основанные на взаимной корреляции признаков. Метод максимальной релевантность и минимальной избыточности (mRMR). Методы основанные на деревьях решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Семантическая разметка укоренилась в вебе в виде множества стандартов. На смену привычным микроформатам приходят более универсальные технологии. Опробованы различные подходы к построению действительно осмысленного интернета. В своём докладе я расскажу про основные выжившие технологии (JSON-LD, Острова, Microdata, Микроформаты 2.0), разберу их плюсы и минусы. Попробую ответить на вопрос о том, что ждёт нас дальше.
Метод искусственной пчелиной колонии, алгоритм пчёлKirill Netreba
A new population-based search algorithm called the Bees Algorithm (BA) is presented. The algorithm mimics the food foraging behaviour of swarms of honey bees. In its basic version, the algorithm performs a kind of neighbourhood search combined with random search and can be used for both combinatorial optimisation and functional optimisation.
3. План
Виды и области применения рекомендательные систем
Стандартные алгоритмы
Измерение качества рекомендаций
Направления развития
Бонус: тензорные разложения
10. И другие категории
Заведения на карте
Новости, статьи, сайты
Концерты, театры, выставки
Видео
Книги
Приложения
Игры
Путешествия
Социальные связи
. . .
11. Виды рекомендательных систем
Content-based
Пользователю рекомендуются объекты, похожие на те,
которые этот пользователь уже употребил.
Похожести оцениваются по признакам содержимого
объектов.
Сильная зависимость от предметной области, полезность
рекомендаций ограничена.
8
12. Виды рекомендательных систем
Content-based
Пользователю рекомендуются объекты, похожие на те,
которые этот пользователь уже употребил.
Похожести оцениваются по признакам содержимого
объектов.
Сильная зависимость от предметной области, полезность
рекомендаций ограничена.
Коллаборативная фильтрация (Collaborative Filtering)
Для рекомендаций используется история оценок как
самого пользователя, так и других пользователей.
Более универсальный подход, часто дает лучший результат.
Есть свои проблемы (например, холодный старт).
8
13. Виды рекомендательных систем
Content-based
Пользователю рекомендуются объекты, похожие на те,
которые этот пользователь уже употребил.
Похожести оцениваются по признакам содержимого
объектов.
Сильная зависимость от предметной области, полезность
рекомендаций ограничена.
Коллаборативная фильтрация (Collaborative Filtering)
Для рекомендаций используется история оценок как
самого пользователя, так и других пользователей.
Более универсальный подход, часто дает лучший результат.
Есть свои проблемы (например, холодный старт).
Гибридные системы
Сочетают оба подхода.
8
14. Коллаборативная фильтрация: формальная постановка
Имеется:
Пользователи (users, u ∈ U)
Объекты (items, i ∈ I)
События (events, (rui, u, i, . . .) ∈ D)
9
15. Коллаборативная фильтрация: формальная постановка
Имеется:
Пользователи (users, u ∈ U)
Объекты (items, i ∈ I)
События (events, (rui, u, i, . . .) ∈ D)
Требуется:
Предсказать предпочтение:
ˆrui = Predict(u, i, . . .) ≈ rui
9
16. Коллаборативная фильтрация: формальная постановка
Имеется:
Пользователи (users, u ∈ U)
Объекты (items, i ∈ I)
События (events, (rui, u, i, . . .) ∈ D)
Требуется:
Предсказать предпочтение:
ˆrui = Predict(u, i, . . .) ≈ rui
Персональные рекомендации:
u → (i1, . . . , iK) = RecommendK(u, . . .)
9
17. Коллаборативная фильтрация: формальная постановка
Имеется:
Пользователи (users, u ∈ U)
Объекты (items, i ∈ I)
События (events, (rui, u, i, . . .) ∈ D)
Требуется:
Предсказать предпочтение:
ˆrui = Predict(u, i, . . .) ≈ rui
Персональные рекомендации:
u → (i1, . . . , iK) = RecommendK(u, . . .)
Похожие объекты:
i → (i1, . . . , iM ) = SimilarM (i)
9
18. Netflix Prize
Рассвет рекомендательных систем — Netflix Prize1.
480 189 пользователей;
17 770 фильмов;
100 480 507 оценок {1, 2, 3, 4, 5};
задача: уменьшить RMSE (средне-квадратичное
отклонение) c 0.9514 до 0.8563 (на 10%);
2 октября 2006 — 21 сентября 2009;
1
www.netflixprize.com
10
19. Netflix Prize
Рассвет рекомендательных систем — Netflix Prize1.
480 189 пользователей;
17 770 фильмов;
100 480 507 оценок {1, 2, 3, 4, 5};
задача: уменьшить RMSE (средне-квадратичное
отклонение) c 0.9514 до 0.8563 (на 10%);
2 октября 2006 — 21 сентября 2009;
приз $1 000 000.
1
www.netflixprize.com
10
20. План
Виды и области применения рекомендательные систем
Стандартные алгоритмы
Измерение качества рекомендаций
Направления развития
Бонус: тензорные разложения
27. Singular Value Decomposition
Сингулярное разложение матрицы:
A
n×m
= U
n×n
× Σ
n×m
× V T
m×m
,
U, V — ортогональные, Σ — диагональная:
UUT
= In, V V T
= Im,
Σ = diag λ1, . . . , λmin(n,m) , λ1 . . . λmin(n,m) 0.
14
28. Singular Value Decomposition
Сингулярное разложение матрицы:
A
n×m
= U
n×n
× Σ
n×m
× V T
m×m
,
U, V — ортогональные, Σ — диагональная:
UUT
= In, V V T
= Im,
Σ = diag λ1, . . . , λmin(n,m) , λ1 . . . λmin(n,m) 0.
Усеченное разложение ранга d:
λd+1, . . . , λmin(n,m) := 0,
A
n×m
= U
n×d
× Σ
d×d
× V
T
d×m
≈ A
14
29. Singular Value Decomposition
Сингулярное разложение матрицы:
A
n×m
= U
n×n
× Σ
n×m
× V T
m×m
,
U, V — ортогональные, Σ — диагональная:
UUT
= In, V V T
= Im,
Σ = diag λ1, . . . , λmin(n,m) , λ1 . . . λmin(n,m) 0.
Усеченное разложение ранга d:
λd+1, . . . , λmin(n,m) := 0,
A
n×m
= U
n×d
× Σ
d×d
× V
T
d×m
≈ A
A — наилучшее низкоранговое приближение:
A = arg min
B: rkB=d
||A − B||F
14
32. Singluar Value Decomposition
Выявление скрытых признаков объектов и интересов
пользователей!
Проблемы:
Матрица оценок R нам полностью не известна.
Разложение не единственное:
(UΩ)Σ(V Ω)T
= UΣV T
15
34. SVD: Обучение
Модель:
ˆrui(Θ) = pT
u qi,
Θ = {pu, qi | u ∈ U, i ∈ I}
Хотим оптимизировать качество предсказаний в будущем:
E(u,i) ˆrui(Θ) − rui
2
→ min
Θ
35. SVD: Обучение
Модель:
ˆrui(Θ) = pT
u qi,
Θ = {pu, qi | u ∈ U, i ∈ I}
Хотим оптимизировать качество предсказаний в будущем:
E(u,i) ˆrui(Θ) − rui
2
→ min
Θ
Имеем только оценки из прошлого (обучающая выборка):
(u,i)∈D
ˆrui(Θ) − rui
2
качество на обучающей выборке
+
θ∈Θ
λθ θ 2
регуляризация
→ min
Θ
37. SVD: Методы оптимизации
L(Θ) =
(u,i)∈D
pT
u qi − rui
2
+ λ
u
||pu||2
+
i
||qi||2
Градиентный спуск:
Θt+1 = Θt − η L(Θ)
38. SVD: Методы оптимизации
L(Θ) =
(u,i)∈D
pT
u qi − rui
2
+ λ
u
||pu||2
+
i
||qi||2
Градиентный спуск:
Θt+1 = Θt − η L(Θ)
Проблема: работает очень медленно.
39. SVD: Методы оптимизации
L(Θ) =
(u,i)∈D
pT
u qi − rui
2
+ λ
u
||pu||2
+
i
||qi||2
Градиентный спуск:
Θt+1 = Θt − η L(Θ)
Проблема: работает очень медленно.
Стохастический градиентный спуск:
L(Θ) =
j
Lj(Θ) =
j
(pT
uj
qij
−rujij )2
+λ||puj
||2
+λ||qij
||2
Θt+1 = Θt − η Ljt (Θ)
40. SVD: Методы оптимизации
L(Θ) =
(u,i)∈D
pT
u qi − rui
2
+ λ
u
||pu||2
+
i
||qi||2
Градиентный спуск:
Θt+1 = Θt − η L(Θ)
Проблема: работает очень медленно.
Стохастический градиентный спуск:
L(Θ) =
j
Lj(Θ) =
j
(pT
uj
qij
−rujij )2
+λ||puj
||2
+λ||qij
||2
Θt+1 = Θt − η Ljt (Θ)
Проблема: не распараллеливается.
41. SVD: Методы оптимизации
L зависит от всех параметров квадратично. По каждому
параметру можно найти точный оптимум.
18
42. SVD: Методы оптимизации
L зависит от всех параметров квадратично. По каждому
параметру можно найти точный оптимум.
Для каждого пользователя и для каждого объекта задача
оптимизации — в точности метод наименьших квадратов.
p∗
u(Θ) = arg min
pu
L(Θ) = (QT
u Qu + λI)−1
QT
u ru,
q∗
i (Θ) = arg min
qi
L(Θ) = (P T
i P i + λI)−1
P T
i ri.
18
43. SVD: Методы оптимизации
L зависит от всех параметров квадратично. По каждому
параметру можно найти точный оптимум.
Для каждого пользователя и для каждого объекта задача
оптимизации — в точности метод наименьших квадратов.
p∗
u(Θ) = arg min
pu
L(Θ) = (QT
u Qu + λI)−1
QT
u ru,
q∗
i (Θ) = arg min
qi
L(Θ) = (P T
i P i + λI)−1
P T
i ri.
Alternating Least Squares:
∀u ∈ U p2t+1
u = p∗
u(Θ2t),
∀i ∈ I q2t+2
i = q∗
i (Θ2t+1).
18
44. SVD: Методы оптимизации
L зависит от всех параметров квадратично. По каждому
параметру можно найти точный оптимум.
Для каждого пользователя и для каждого объекта задача
оптимизации — в точности метод наименьших квадратов.
p∗
u(Θ) = arg min
pu
L(Θ) = (QT
u Qu + λI)−1
QT
u ru,
q∗
i (Θ) = arg min
qi
L(Θ) = (P T
i P i + λI)−1
P T
i ri.
Alternating Least Squares:
∀u ∈ U p2t+1
u = p∗
u(Θ2t),
∀i ∈ I q2t+2
i = q∗
i (Θ2t+1).
Каждый шаг можно распараллелить.
18
45. План
Виды и области применения рекомендательные систем
Стандартные алгоритмы
Измерение качества рекомендаций
Направления развития
Бонус: тензорные разложения
47. Метрики: предсказание оценки
Задача регрессии.
RMSE = 1
|D| D (ˆrui − rui)2
MAE = 1
|D| D |ˆrui − rui|
Проблемы:
Не для всех событий известно численное представление.
У каждого пользователя свое представление о шкале
оценок.
Ошибка в предсказании высокой оценки имеет такой же
вес, что и ошибка в предсказании низкой оценки.
49. Метрики: понравилось ли пользователю?
Задача классификации.
Precision = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|ˆrui>θ}|
21
50. Метрики: понравилось ли пользователю?
Задача классификации.
Precision = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|ˆrui>θ}|
Recall = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|rui=1}|
21
51. Метрики: понравилось ли пользователю?
Задача классификации.
Precision = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|ˆrui>θ}|
Recall = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|rui=1}|
AUC = 1
|...|
rui=1 ru i =0
[ˆrui > ˆru i ]
21
52. Метрики: понравилось ли пользователю?
Задача классификации.
Precision = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|ˆrui>θ}|
Recall = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|rui=1}|
AUC = 1
|...|
rui=1 ru i =0
[ˆrui > ˆru i ]
LogLikelihood = 1
|D| D rui log ˆrui + (1 − rui) log(1 − ˆrui)
21
53. Метрики: понравилось ли пользователю?
Задача классификации.
Precision = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|ˆrui>θ}|
Recall = |{(u,i)∈D|ˆrui>θ,rui=1}|
|{(u,i)∈D|rui=1}|
AUC = 1
|...|
rui=1 ru i =0
[ˆrui > ˆru i ]
LogLikelihood = 1
|D| D rui log ˆrui + (1 − rui) log(1 − ˆrui)
Проблемы:
Необходимость специально задавать понятие
“понравилось”.
По-прежнему нет прямой связи с качеством рекомендаций.
21
56. Метрики: ранжирование
Precision, Recall, . . . на списке top-K, выданном моделью.
NDCG = 1
|U|
u∈U
1
IDCGu
K
k=1
2
ruik −1
log2(1+k)
Проблемы:
Нет данных про рекомендованные объекты, которые
пользователь не оценивал.
Оптимизация метрик вычислительно более сложная.
22
59. Другие свойства рекомендаций
Желаемые свойства рекомендаций, которые, возможно, не
выражаются качеством предсказания:
Diversity (разнообразие),
Serendipity (неожиданность),
23
60. Другие свойства рекомендаций
Желаемые свойства рекомендаций, которые, возможно, не
выражаются качеством предсказания:
Diversity (разнообразие),
Serendipity (неожиданность),
Novelty (новизна),
23
61. Другие свойства рекомендаций
Желаемые свойства рекомендаций, которые, возможно, не
выражаются качеством предсказания:
Diversity (разнообразие),
Serendipity (неожиданность),
Novelty (новизна),
Coverage, Trust, Utility, Robustness, Adaptivity, Scalability, . . .
23
64. Похожие объекты
Что такое похожие объекты?
Объекты, похожие по своим признакам (content-based).
Объекты, которые часто используют вместе («клиенты,
купившие i, также покупали j»).
24
65. Похожие объекты
Что такое похожие объекты?
Объекты, похожие по своим признакам (content-based).
Объекты, которые часто используют вместе («клиенты,
купившие i, также покупали j»).
Рекомендации для пользователя, которому понравился
данный объект.
66. Похожие объекты
Что такое похожие объекты?
Объекты, похожие по своим признакам (content-based).
Объекты, которые часто используют вместе («клиенты,
купившие i, также покупали j»).
Рекомендации для пользователя, которому понравился
данный объект.
Рекомендации, в которых данный объект выступает в
качестве контекста.
67. План
Виды и области применения рекомендательные систем
Стандартные алгоритмы
Измерение качества рекомендаций
Направления развития
Бонус: тензорные разложения
70. Концептуальные вопросы
Как строить списки рекомендаций на основе
предсказаний?
Как улучшать качество именно рекомендаций, а не
предсказаний?
26
71. Концептуальные вопросы
Как строить списки рекомендаций на основе
предсказаний?
Как улучшать качество именно рекомендаций, а не
предсказаний?
Как измерять похожести объектов?
26
72. Концептуальные вопросы
Как строить списки рекомендаций на основе
предсказаний?
Как улучшать качество именно рекомендаций, а не
предсказаний?
Как измерять похожести объектов?
Как обосновывать рекомендации?
26
75. Технические вопросы
Как решать проблему холодного старта для новых
пользователей и новых объектов?
Как быстро обновлять рекомендации?
27
76. Технические вопросы
Как решать проблему холодного старта для новых
пользователей и новых объектов?
Как быстро обновлять рекомендации?
Как быстро находить объекты с наибольшим
предсказанием?
27
77. Технические вопросы
Как решать проблему холодного старта для новых
пользователей и новых объектов?
Как быстро обновлять рекомендации?
Как быстро находить объекты с наибольшим
предсказанием?
Как измерять качество онлайн-рекомендаций?
27
78. Технические вопросы
Как решать проблему холодного старта для новых
пользователей и новых объектов?
Как быстро обновлять рекомендации?
Как быстро находить объекты с наибольшим
предсказанием?
Как измерять качество онлайн-рекомендаций?
Как масштабировать систему?
27
80. Как учитывать дополнительную информацию?
Как учитывать не только явный (explicit), но и неявный
(implicit) фидбек?
81. Как учитывать дополнительную информацию?
Как учитывать не только явный (explicit), но и неявный
(implicit) фидбек?
Как учитывать контекст? (Context-aware recommendations)
82. Как учитывать дополнительную информацию?
Как учитывать не только явный (explicit), но и неявный
(implicit) фидбек?
Как учитывать контекст? (Context-aware recommendations)
Как учитывать признаки объектов? (Гибридные системы)
28
83. Как учитывать дополнительную информацию?
Как учитывать не только явный (explicit), но и неявный
(implicit) фидбек?
Как учитывать контекст? (Context-aware recommendations)
Как учитывать признаки объектов? (Гибридные системы)
Как учитывать связи между объектами (таксономию)?
28
84. Как учитывать дополнительную информацию?
Как учитывать не только явный (explicit), но и неявный
(implicit) фидбек?
Как учитывать контекст? (Context-aware recommendations)
Как учитывать признаки объектов? (Гибридные системы)
Как учитывать связи между объектами (таксономию)?
Как учитывать признаки и связи пользователей?
28
85. Как учитывать дополнительную информацию?
Как учитывать не только явный (explicit), но и неявный
(implicit) фидбек?
Как учитывать контекст? (Context-aware recommendations)
Как учитывать признаки объектов? (Гибридные системы)
Как учитывать связи между объектами (таксономию)?
Как учитывать признаки и связи пользователей?
Как учитывать информацию из других предметных
областей? (Cross-domain recommendations)
28
86. План
Виды и области применения рекомендательные систем
Стандартные алгоритмы
Измерение качества рекомендаций
Направления развития
Бонус: тензорные разложения
91. Тензорные разложения
Canonical Decomposition
ˆru,i,l =
d
k=1
pu,k · qi,k · sl,k
Pairwise Decomposition
ˆru,i,l =
dUI
k=1
pUI
u,k · qUI
i,k +
dUL
k=1
pUL
u,k · sUL
l,k +
dIL
k=1
qIL
i,k · sIL
l,k
Tucker Decomposition
ˆru,i,l =
dU
u =1
dI
i =1
dL
l =1
cu ,i ,l · pu,u · qi,i · sl,l
31
92. Factorization MachinesLarge Categorical Domains
e Rating
ic 5
ng Hill 3
Wars 1
Wars 4
Trek 5
ic 1
Wars 5
. . .
1 0 0 ...
1 0 0 ...
0 1 0 ...
0 1 0 ...
0 0 1 ...
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
...
...
...
...
...
0 0 1 ... 0 0 1 0 ...
A B C ... TI NH SW ST ...
x(1)
x(2)
x(4)
x(5)
x(6)
x(7)
Feature vector x
User Movie
1 0 0 ... 0 0 1 0 ...x(3)
5
3
4
5
1
5
Target y
y(1)
y(2)
y(4)
y(5)
y(6)
y(7)
1 y(3)
ssion models to this data leads to:
ssion: ˆy(x) = w0 + wu + wi
regression: ˆy(x) = w0 + wu + wi + wu,i
32
93. Factorization MachinesLarge Categorical Domains
e Rating
ic 5
ng Hill 3
Wars 1
Wars 4
Trek 5
ic 1
Wars 5
. . .
1 0 0 ...
1 0 0 ...
0 1 0 ...
0 1 0 ...
0 0 1 ...
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
...
...
...
...
...
0 0 1 ... 0 0 1 0 ...
A B C ... TI NH SW ST ...
x(1)
x(2)
x(4)
x(5)
x(6)
x(7)
Feature vector x
User Movie
1 0 0 ... 0 0 1 0 ...x(3)
5
3
4
5
1
5
Target y
y(1)
y(2)
y(4)
y(5)
y(6)
y(7)
1 y(3)
ssion models to this data leads to:
ssion: ˆy(x) = w0 + wu + wi
regression: ˆy(x) = w0 + wu + wi + wu,i
SVD:
ˆy(x) = w0 +
n
i=1
wi xi +
n
i=1
n
j=i+1
vi, vj xi xj
94. Factorization Machines
ˆy(x) = w0 +
n
i=1
wi xi +
n
i=1
n
j=i+1
vi, vj xi xj
orization Machines with libFM
1. Example (from Rendle [2010]) for representing a recommender problem with real valued f
ors x. Every row represents a feature vector xi with its corresponding target yi. For easier inter
the features are grouped into indicators for the active user (blue), active item (red), other movies
33