41
Рекомендательные системы Курышев Сергей 525 группа

курышев рекомендательные системы

  • Upload
    -

  • View
    633

  • Download
    0

Embed Size (px)

DESCRIPTION

2013 осень

Citation preview

Page 1: курышев рекомендательные системы

Рекомендательные системы

Курышев Сергей 525 группа

Page 2: курышев рекомендательные системы

Содержание

• Постановка и актуальность задачи • Сбор и представление данных • Подходы к составлению рекомендаций • Оценка качества рекомендаций • Проблемы рекомендательных систем • Существующие рекомендательные системы • Разработка музыкальной рекомендательной системы

Page 3: курышев рекомендательные системы

Постановка и актуальность задачи Рекомендательные системы — программы,

которые пытаются предсказать, какие объекты (фильмы, музыка, книги и т.д.) будут интересны пользователю, имея определенную информацию о его профиле.

Page 4: курышев рекомендательные системы

Для чего нужны рекомендательные системы

• Увеличение продаж • Продажа более разнообразных объектов • Увеличение лояльности пользователей • Улучшение понимания пользовательских

потребностей и желаний

Page 5: курышев рекомендательные системы

Применение рекомендательных систем

• Электронная коммерция • Поиск фильмов, музыки, ПО, научных статей • Он-лайн банкинг • Новостные сайты • Справочные центры

Page 6: курышев рекомендательные системы

Сбор данных

Используется явный или неявный сбор данных. • При явном сборе от пользователя требуется

заполнять анкеты для выявления предпочтений. • При неявном сборе действия пользователя

протоколируются для выявления предпочтений, и составления рейтингов происходит автоматически.

Иногда оба подхода комбинируются: когда истории действий пока нет – используются опросы. Затем начинают учитываться действия.

Page 7: курышев рекомендательные системы

Представление данных

Таблица оценок пользователей, где каждая ячейка ru,i соответствует оценке пользователем u элемента i

Требуется предсказать оценку rа,i для активного пользователя a

Page 8: курышев рекомендательные системы

Типы оценок пользователей

• Числовые рейтинги – от 1 до 5, как, например, для аудиозаписей в iTunes.

• Упорядоченные рейтинги – такие как “полностью согласен”, “согласен”, “нейтрален”, “не

согласен”, “полностью не согласен”, в ситуации, когда у пользователя спрашивают мнение о высказывании.

• Двоичные рейтинги – товар является хорошим или плохим по мнению

пользователя • Абсолютные рейтинги

– количество прослушиваний аудиозаписей

Page 9: курышев рекомендательные системы

Подходы к формированию рекомендаций

• Content-based (фильтрация содержимого) • Transaction-based

– Model-based – Memory-based

• Коллаборативная фильтрация – User-based – Item-based

Page 10: курышев рекомендательные системы

Вычисление похожести

Основной принцип: похожим пользователям рекомендуют похожие объекты. Как определять похожесть?

• Content-based. Похожесть определяется на основании характеристик предметов и пользователей. Для товаров: функциональное назначение, категория, ценовая группа. Для клиентов: демографические данные, предпочтения из заполненных анкет.

• Transaction-based. Товары считаются похожими, если часто входят вместе в одну транзакцию, а пользователи – если совершают схожие покупки.

Page 11: курышев рекомендательные системы

Используется ли модель предметной области

• Model-based. Создается модель предпочтений пользователей, товаров и взаимосвязи между ними. Рекомендации формируются на основе полученной модели.

• Memory-based. Модели данных нет. Рекомендации формируются на основании вычисления некой меры похожести по всем накопленным данным.

Page 12: курышев рекомендательные системы

Достоинства и недостатки memory-based и model-based подходов

• Memory-based. – Достоинства: простота, точность, инкрементальный учет

новых данных. – Недостатки: ресурсоемкость, невозможность

предоставления описательного анализа закономерностей • Model-based.

– Достоинства: простое вычисление рекомендаций, большее понимание формируемых рекомендаций

– Недостатки: ресурсоемкое обучение модели, меньшая точность, не поддерживает инкрементальное обучение

Page 13: курышев рекомендательные системы

Коллаборативная фильтрация

Идея подхода - те, кто одинаково оценивали какие-либо предметы в прошлом, склонны давать похожие оценки другим предметам и в будущем.

• User-based. Предложить товары, приобретаемые похожими пользователями

• Item-based. Предложить товары, похожие на уже приобретенные

Page 14: курышев рекомендательные системы

User-based коллаборативная фильтрация

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

основанные на углах между векторами оценок: • Косинус угла между векторами оценок. • Корреляция между векторами оценок. • Количество совпадающих оценок. • …

• Искомая оценка предмета определяется на

основании анализа оценок группы похожих пользователей

Page 15: курышев рекомендательные системы

Item-based коллаборативная фильтрация

• Для предмета, оценку которого требуется предсказать, создается список похожих предметов – Похожесть вычисляется при помощи метрик, применяемых к

векторам оценок для каждого предмета

• Оценка прогнозируется на основе оценок активного пользователя для похожих предметов

Page 16: курышев рекомендательные системы

Пример item-based фильтрации

Page 17: курышев рекомендательные системы

Пример item-based фильтрации

Page 18: курышев рекомендательные системы

Пример item-based фильтрации

Page 19: курышев рекомендательные системы

Пример item-based фильтрации

Page 20: курышев рекомендательные системы

Пример item-based фильтрации

Page 21: курышев рекомендательные системы

Пример item-based фильтрации

Page 22: курышев рекомендательные системы

Пример user-based фильтрации

Page 23: курышев рекомендательные системы

Пример user-based фильтрации

Page 24: курышев рекомендательные системы

Пример user-based фильтрации

Page 25: курышев рекомендательные системы

Пример user-based фильтрации

Page 26: курышев рекомендательные системы

Пример user-based фильтрации

Page 27: курышев рекомендательные системы

Пример user-based фильтрации

Page 28: курышев рекомендательные системы

Оценка качества рекомендаций

• Опрос пользователей – Наиболее достоверный способ оценки качества – Не всегда может быть реализован

• Метрики оценки качества рекомендаций – Точность – Полнота – Half-life Utility

Page 29: курышев рекомендательные системы

Half-life Utility

• Имитирует радиоактивный распад: чем дальше релевантный элемент находится от начала списка рекомендаций, тем меньше его вес

• с - период полураспада, ra,j – рейтинг элемента j для активного пользователя a

∑ −−=j

cjja

a

rHLU )1/()1(

,

2

Page 30: курышев рекомендательные системы

Проблемы рекомендательных систем

• Разреженность данных • Проблема холодного старта • Масштабируемость • Синонимия • Мошенничество

Page 31: курышев рекомендательные системы

Рекомендательная система Amazon.com

• Amazon.com рекомендует пользователям товары, которые они, скорее всего, захотят купить.

• Введение рекомендательной системы увеличило товарооборот на 40%

Page 32: курышев рекомендательные системы

Особенности рекомендательной системы Amazon.com

• Самая большая товарная база данных – Более 30 млн пользователей и 5 млн. товаров

• Для составления рекомендаций используется Item-based алгоритм коллаборативной фильтрации – Item-based алгоритм позволяет выполнить наиболее

ресурсоемкие вычисления оффлайн.

Page 33: курышев рекомендательные системы

Amazon.com: построение таблицы похожих товаров

• Построение таблицы похожих товаров выполняется оффлайн по расписанию, при помощи следующего алгоритма

For each item in product catalog, I1 For each customer, who purchased I1 For each item I2 purchased by customer C Record that a customer purchased I1 and I2 For each item I2 Compute the similarity between I1 and I2

– Похожесть рассчитывается как косинус угла между векторами

оценок – Сложность алгоритма на практике O(NM)

• N – количество товаров • M – количество пользователей

Page 34: курышев рекомендательные системы

Amazon.com: составление рекомендаций

• По составленной таблице товаров система находит похожие товары для каждой покупки пользователя и рекомендует наиболее релевантные.

• Вычисления выполняются очень быстро. Сложность зависит только от количества приобретенных пользователем товаров.

Page 35: курышев рекомендательные системы

Music Genome Project

• Музыкальная рекомендательная система, основанная на алгоритмах фильтрации содержимого

• Команда экспертов анализирует каждую композицию и оценивает по более чем 400 признакам

• Рекомендации составляются на основе схожести

признаков прослушанных и рекомендуемых композиций.

Page 36: курышев рекомендательные системы

Постановка задачи дипломной работы

• Разработать рекомендательную систему для рекомендации музыки пользователям Last.fm и vk.com

• Оценить работу системы и сравнить использованный алгоритм с другими алгоритмами рекомендаций.

Page 37: курышев рекомендательные системы

Выбор алгоритма

В данной работе реализован user-based алгоритм коллаборативной фильтрации по следующим причинам: – Сравнительно небольшой набор данных для анализа

(360 000 пользователей и 100 000 исполнителей) – Качество рекомендаций user-based подхода не уступает

item-based рекомендациям – Отсутствие вычислительных мощностей для генерации

таблицы похожих исполнителей

Page 38: курышев рекомендательные системы

Особенности реализации

Для реализации алгоритма построения рекомендаций была использована база Last.fm dataset 360K.

Алгоритм состоит из следующих шагов:

– Загрузка обучающей выборки в оперативную память – Загрузка библиотеки прослушиваний активного

пользователя – Выбор из обучающей выборки подгруппы пользователей,

похожих на активного – Составление рекомендаций на основе общей библиотеки

прослушиваний выбранной подгруппы

Page 39: курышев рекомендательные системы

Результат

Page 40: курышев рекомендательные системы

Сравнение алгоритмов составления рекомендаций

Алгоритм Метрика

Точность Half-Life Utility

Алгоритм на основе популярности 13.1% 28.6%

Алгоритм на основе популярности с учетом жанров

18.2% 41.7%

Item-based коллаборативная фильтрация

~70%

User-based коллаборативная фильтрация

39% 69.5%

Page 41: курышев рекомендательные системы

Что планируется сделать

• Комбинирование методов коллаборативной фильтрации и фильтрации содержимого для улучшения качества рекомендаций – Учет пола, возраста пользователей, жанра композиций и т.д.

• Индексирование базы данных и оптимизация алгоритма для ускорения работы системы

• Улучшение пользовательского интерфейса