2011/10/28 _Data mining_Lecture 7
description
Transcript of 2011/10/28 _Data mining_Lecture 7
![Page 1: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/1.jpg)
Системы рекомендаций
Катышев АлексейШкола анализа данных
![Page 2: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/2.jpg)
Каков план?
• Рекомендательные системы– Что это?– Зачем это?
• Основные проблемы и методы их решения
• Типы рекомендательных систем– Плюсы и минусы каждого
• Оценка качества системы
28.10.2011 2Системы рекомендаций
![Page 3: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/3.jpg)
Пример
• Клиент A– Купил конфеты
– Нравится шоколад
28.10.2011 Системы рекомендаций 3
• Клиент B– Купил шоколад– Рекомендуем
конфеты
![Page 4: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/4.jpg)
Механизм
• Пользователь может– Искать объекты (новости, музыка, видео, …)
– Покупать, скачивать, слушать, смотреть, …
– Оценивать (0-5, 1-10, «Мне нравится ♥»)
• Система– Предлагает список рекомендованных объектов
28.10.2011 4Системы рекомендаций
![Page 5: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/5.jpg)
Длинный хвост (Long tail)
28.10.2011 Системы рекомендаций 5
• О большинстве товаров пользователь даже не знает
• С появление on-line рекомендации эффект длинного хвоста в некоторых областях значительно снизился
![Page 6: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/6.jpg)
Виды рекомендаций
• Общие для всех клиентов (physical)– Выбор эксперта/директора– Популярное, Топ10, Топ50, ...– Новое– «Смотрели только что» и т. п.
• Уникальным пользователям – уникальные рекомендации (on-line)– Рассмотрим далее
28.10.2011 Системы рекомендаций 6
![Page 7: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/7.jpg)
Модель
• Множество клиентов – C (customer, client)• Множество объектов – I (item)• Множество возможных рейтингов – R (rating)
– [0, 1]– 0-5 (обычно звёзды)– 0-1 (мне нравится)
• Функция пользы u (utility) : C × I → R – насколько данный объект полезен данному
клиенту.
28.10.2011 Системы рекомендаций 7
![Page 8: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/8.jpg)
Матрица пользы
12 Chairs Operation “Y”
Lock, Stock
and Two …
Snatch
User A 9 4 5
User B 9 9
User C 10 9
User D 10 9
28.10.2011 Системы рекомендаций 8
![Page 9: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/9.jpg)
Проблемы
• Заполнение матрицы данными– Оценки от пользователей– Оценка действий пользователя
• На основании заполненных ячеек попытаться предугадать (высокие) значения в незаполненных ячейках (экстраполяция)
• Измерить качество экстраполяции
28.10.2011 Системы рекомендаций 9
![Page 10: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/10.jpg)
Заполнение матрицы
• Оценки от пользователей– В действительности работает не очень хорошо
– Приходится мотивировать пользователей или
– Упрощать рейтинговую систему
• Оценка действий пользователя– Покупка – однозначно высокий рейтинг
– В остальном довольно сложно выявлять точные рейтинги
28.10.2011 Системы рекомендаций 10
![Page 11: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/11.jpg)
Вычисление пользы
• Проблемы:– Холодный старт в целом и для новых
объектов– Матрица всё время очень разреженна
• Обычно метод вычисления пользы и определяет тип рекомендательной системы
28.10.2011 Системы рекомендаций 11
![Page 12: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/12.jpg)
Основные типы систем
• Content-based– Основывается на свойствах предлагаемых
объектов
– Похожесть объектов ≈ похожесть отдельных свойств
• Collaborative-Filtering– Рассматривает отношения пользователь-объект
– Похожесть объектов ≈ насколько похожий рейтинг им дали одни и те же пользователи
28.10.2011 Системы рекомендаций 12
![Page 13: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/13.jpg)
Content-based, профиль объекта
• Профиль объекта – набор свойств• Фильмы – главные актёры, режиссер,
год, жанр, сценарист, … • Новости, статьи, книги – набор важных
или ключевых слов– Здесь часто применяется TF.IDF
• Картинки – набор тегов
28.10.2011 Системы рекомендаций 13
![Page 14: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/14.jpg)
Похожесть объектов
• Похожесть ≈ 0.8328.10.2011 Системы рекомендаций 14
Рейтинг
Звёзда 1
Звезда 2
Звёзда 3
Режиссёр 1
Режиссёр 2
2.5 1 1 0 0 1
4 0 1 1 1 0
• На самом деле профиль объекта - бесконечный вектор из числовых значений (конечное количество которых ≠ 0)
• Как вариант - косинусное расстояние
![Page 15: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/15.jpg)
Профиль пользователя
• Как же вычислять полезность для определенного пользователя
• Ответ – профиль пользователя– Это некое среднее профилей тех объектов,
которые оценил пользователь– Может быть взвешенное среднее– Но чаще из весов вычитают средний
рейтинг
• Полезность – u(c, i) = cos(c, i)
28.10.2011 Системы рекомендаций 15
![Page 16: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/16.jpg)
Content-based, выводы
Плюсы• Нет проблем с
холодным стартом всей системы
• Рекомендует новые и непопулярные объекты
• Каждому пользователю – свои рекомендации
• Может явно показать причину рекомендации
Минусы• Холодный старт для
новых пользователей• Выявление свойств
трудоёмко• Интересы
пользователей усредняются
• Не используются рейтинги других пользователей
28.10.2011 Системы рекомендаций 16
![Page 17: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/17.jpg)
Collaborative-Filtering, user-user
• Для пользователя c– Имеется некоторое количество его оценок
– Хочется заполнить строчку матрицы пользы
• Находим множество пользователей D, похожих на c по выставленным оценкам
• Тогда оценки пользователя c по неоценённым объектам ≈ средняя оценка пользователей из D по этим объектам
28.10.2011 Системы рекомендаций 17
![Page 18: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/18.jpg)
Похожесть пользователей
• rc – вектор рейтингов пользователя c
• Косинусное расстояние– sim(x, y) = cos(rx, ry)
• Можно нормализовать рейтинги– Вычесть из всех рейтингов средний
рейтинг
• Есть разные варианты вычисления
28.10.2011 Системы рекомендаций 18
![Page 19: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/19.jpg)
Collaborative-Filtering, item-item
• Для объекта i аналогично ищутся похожие объекты– Заполняем матрицу пользы по вертикали
• Аналогичные метрики
• На практике доказано, что такой подход работает лучше
28.10.2011 Системы рекомендаций 19
![Page 20: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/20.jpg)
Пример
28.10.2011 Системы рекомендаций 20
Что порекомендуем по “12 Chairs”?cos(12 Chairs, Operation Y) ≈ 0.5cos(12 Chairs, LockStock) ≈ 0.2cos(12 Chairs, Snatch) ≈ 0.3
![Page 21: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/21.jpg)
Collaborative-Filtering, выводы
Плюсы• Не нужно выявлять
свойства объектов• Объекты могут быть
любые
Минусы• Холодный старт по всем
фронтам• Интересы
пользователей усредняются
28.10.2011 Системы рекомендаций 21
Вывод: Гибридные системы!
![Page 22: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/22.jpg)
Оценка качества
3 5 8 6
4 3 7 4
4 6 7 9 2
3 5 5
8 2
6 3 4 8
28.10.2011 Системы рекомендаций 22
![Page 23: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/23.jpg)
Оценка качества
28.10.2011 Системы рекомендаций 23
3 5 8 6
4 3 7 4
4 6 7 9 2
3 5 ? ? ? ?
8 ? ? ? ?
6 3 ? ? ? ?
![Page 24: 2011/10/28 _Data mining_Lecture 7](https://reader033.fdocuments.net/reader033/viewer/2022042813/548047b8b4af9faf158b5d40/html5/thumbnails/24.jpg)
Оценка качества
• Берётся таблица с реальными данными• Часть таблицы вырезается как тестовое
множество• Система пытается предугадать рейтинги в
вырезанной части таблицы• Вычисляется отклонение от реальных
данных– Обычно это среднеквадратичное отклонение
(RMSE)– Обычно вычисляется на топ10% рейтингов– Можно также считать разные дополнительные
характеристики
28.10.2011 Системы рекомендаций 24