Рекомендующие системы

27
Рекомендующие системы Васильева Екатерина, гр.3539 Гниломедов Иван, гр.3538

Upload: arvid

Post on 05-Jan-2016

47 views

Category:

Documents


0 download

DESCRIPTION

Рекомендующие системы. Васильева Екатерина, гр.3539 Гниломедов Иван, гр.3538. О чём будет наша беседа. Вступление Основные моменты в рекомендующих системах Сравнение пользователей и образцов Один алгоритм + формулы Немного о жизни. Рекомендующая система… зачем она нужна?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Рекомендующие системы

Рекомендующие системы

Васильева Екатерина, гр.3539

Гниломедов Иван, гр.3538

Page 2: Рекомендующие системы

2

О чём будет наша беседа

• Вступление

• Основные моменты в рекомендующих системах

• Сравнение пользователей и образцов

• Один алгоритм + формулы

• Немного о жизни

Page 3: Рекомендующие системы

3

Рекомендующая система… зачем она нужна?

• Ситуация: вы хотите посмотреть фильм. Но какой выбрать? Как понять, что фильм может вам понравиться?

• Решение: рекомендующая система (RS = Recommender system)! Она работает с предпочтениями пользователей.

Page 4: Рекомендующие системы

4

RS: классификация

• общая фильтрация (Collaborative Filtering). Обрабатывает взгляды пользователей и дает им рекомендацию

• частичная фильтрация (Content-based recommending). Основывается на схожести объектов рекомендации и дает ответ, учитывая взгляды пользователя

Page 5: Рекомендующие системы

5

Немного истории

• Ранние системы общей фильтрации не могли помочь изучению web. Перед работой нужно было создать базу

• Первая система: Information Tapestry project at Xerox PARC. Разрешала поиск документов. Работала для небольших групп и были сложности с различной лексикой

Page 6: Рекомендующие системы

6

Где можно встретить RS?

• Рекомендации для фильмов, книг, дисков, страниц в интернете…

• он-лайн магазины: Amazon, CDNOW, BarnesAnd-Noble, IMDb..

• USENET – новости в интернете

Page 7: Рекомендующие системы

7

Картинка с Amazon.com

Page 8: Рекомендующие системы

8

Постановка задачи

• N наименований какой-либо мультимедиа информации (фильмов, саундтреков, книг и пр.) I1, I2, ... IN

• M пользователей U1, U2, ... Um. Каждый из них дает список понравившихся ему наименований

• RS – выдает список наименований, которые ему вероятно должны понравиться

Page 9: Рекомендующие системы

9

RS должна:

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

• Собирать и хранить данные о предпочтениях пользователей

• В процессе работы производить самообучение

Page 10: Рекомендующие системы

10

Самый простой алгоритм

• Каждому пользователю рекомендовать наиболее популярные образцы

• НО: у всех разные интересы, а мы рекомендуем им одно и тоже (!), при этом не учитывая список понравившихся им вещей

Page 11: Рекомендующие системы

11

Если лучше, то как?

• Разработку любого алгоритма стоит начать со структур данных.

Page 12: Рекомендующие системы

12

А как хранить данные?

• помнить полностью исходные списки понравившихся пользователям образцов

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

Page 13: Рекомендующие системы

13

Сравниваем пользователей

• Пробегаем по всей базе и сравниваем пользователей по понравившимся им наименованиям

• ААА!!! Похожим пользователям, наверно, должны нравиться похожие образцы! ))

• Формируем рекомендацию на основе рейтинглистов похожих пользователей.

Page 14: Рекомендующие системы

14

Теперь сравним образцы…

• Матрица похожести образцов

• Проблема: наименований много -размер матрицы!!!

• Решение: матрица разрежена (угадайте почему) – можно хранить для каждого наименования список похожих на него объектов

Page 15: Рекомендующие системы

15

Сравним образцы…

• Еще одна проблема: при таком хранении новым элементам будет дана минимальная степень похожести

• … тогда он не сможет конкурировать с другими

• …система будет стремиться к стабильному состоянию

Page 16: Рекомендующие системы

16

Что делать с «новичками»?

• топ лист - наиболее похожие по итогам всей истории развития

• список «новобранцев» - наиболее похожие за последние несколько транзакций

• (!) если «новобранец» хороший, то мы его переводим в топ лист

Page 17: Рекомендующие системы

17

Давайте комбинировать способы!

• Сначала оценим похожесть образцов

• Затем оценим схожесть пользователей по “псевдо рейтингу”

Page 18: Рекомендующие системы

18

Хотели псевдо рейтинг? Подано!

Первичное предсказание

Псевдо рейтинг

Первичное предсказание

Оригинальный рейтинг

Заданные

Не заданные

Page 19: Рекомендующие системы

19

От абстракции к конкретным формулам

n

jjaia jiSamerpseudoR

1,, ),(*_

2

1,

2

1,

1,,

,

)(*)(

)(*)(

m

ibib

m

iaia

m

ibibaia

ba

rrrr

rrrrSim

Page 20: Рекомендующие системы

20

Neighborhood-based algorithm

• Выделим k ближайших соседей• Вычислим насколько пользователю a

понравится образец i по формуле:

k

uuiu

k

uuauiu

aia

rr

SimrrrP

1,

1,,

,

)(

*)(

Page 21: Рекомендующие системы

21

Алгоритм в действии

A 9B 3C 7 : :Z 5

A B C 9: :Z 10

A 5B 3C: : Z 7

A B C 8: : Z

A 6B 4C: :Z

A 10B 4C 8. .Z 1

База

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

Сравнениепользователей

A 9B 3C . .Z 5

A 9B 3C 7: :Z 5

A 10B 4C 8. .Z 1

Выдача рекомендации

C

Корреляционный

анализ здесь похож

на кластеризацию

объектов

Page 22: Рекомендующие системы

22

Храним и собираем данные

• Запоминаем все данные, передаваемые пользователями

• Спрашиваем пользователя, что ему нравится

• Winamp-шпионы (разрешение не забудьте ;) )

Page 23: Рекомендующие системы

23

ЖИЗНЬ – ЭТО УРОК… ДАВАЙТЕ УЧИТЬСЯ!

• Что если мы ошиблись при рекомендации?... Наверно, стоит задуматься…

• СИСТЕМА – думай!

Page 24: Рекомендующие системы

24

Как будем учиться?

• Выкинем ¼ того, что нам дал пользователь в своем списке

• Построим рекомендацию по оставшемуся списку

• Ии…. Сравним, что получилось

• Не увлекайтесь только одним пользователем, чтобы не сделать рекомендателя только для него

Page 25: Рекомендующие системы

25

Итог

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

• Получение рейтингов фильмов или саундтреков

• Маркетинговые исследования

Page 26: Рекомендующие системы

26

Чем пользовались…

• "Distributed Collaborative Filtering for PeertoPeer File Sharing Systems“

(Jun Wang, Johan Pouwelse).• “Unifying Userbased and Itembased Collaborative Filtering

Approaches by Similarity Fusion” (Jun Wang, Arjen P. de Vries, Marcel J.T. Reinders).

• “Content-Boosted Collaborative Filtering for Improved Recommendations”(Prem Melville, Raymond J. Mooney, Ramadass Nagarajan: Department of Computer Sciences University of Texas).

• “Recency-Based Collaborative Filtering”(Yi Ding, Xue Li, Maria E. Orlowska).

Page 27: Рекомендующие системы

27

Может, еще поговорим?

Задайте вопрос…

или предоставьте список,... Но это уже не к нам ;)