30
Разработка рекомендательной системы с использованием коллаборативной фильтрации Александр Браневский Bitworks Software

Разработка рекомендательной системы с использованием коллаборативной фильтрации

Embed Size (px)

Citation preview

Page 1: Разработка рекомендательной системы с использованием коллаборативной фильтрации

Разработка рекомендательной системы с использованием коллаборативной фильтрации

Александр Браневский Bitworks Software

Page 2: Разработка рекомендательной системы с использованием коллаборативной фильтрации

Что будет?

2

Page 3: Разработка рекомендательной системы с использованием коллаборативной фильтрации

User1 artist1 playcount User1 artist2 playcount User2 artist2 playcount User3 artist3 playcount ...

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

artists

user

s

3

1.5 GB

Page 4: Разработка рекомендательной системы с использованием коллаборативной фильтрации

❏ Кластеризация

❏ Факторизация матрицы

4

Иерархическая Сильные компоненты связности

Подходы

Page 5: Разработка рекомендательной системы с использованием коллаборативной фильтрации

5

Кластеризация

● User7

● User6

● User3

● User5

● User1

● User8

● User9

● User4

● User6

● User11

● User12

● User10

Page 6: Разработка рекомендательной системы с использованием коллаборативной фильтрации

Поиск сильных компонент связности

User1

(artist1,count)

(artist2,count)

(artist3,count)

User2

(artist1,count)

(artist2,count)

(artist3,count)

user1❏ artist1,count❏ artist2,count❏ artist5,count

user2❏ artist5,count❏ artist7,count❏ artist9,count

user3❏ artist2,count❏ artist3,count❏ artist4,count

dist < avg

dist < avg

dist >= avg

6

Page 7: Разработка рекомендательной системы с использованием коллаборативной фильтрации

Поиск сильных компонент связности

G (V,E)

7

u,v C : u v, v u

Page 8: Разработка рекомендательной системы с использованием коллаборативной фильтрации

❏ Кластеризация

❏ Факторизация матрицы

8

Иерархическая Сильные компоненты связности

Подходы

Page 9: Разработка рекомендательной системы с использованием коллаборативной фильтрации

9

Иерархическая кластеризация

Page 10: Разработка рекомендательной системы с использованием коллаборативной фильтрации

10

Иерархическая кластеризация

Page 11: Разработка рекомендательной системы с использованием коллаборативной фильтрации

11

Иерархическая кластеризация

Плюсы:

❏ Высокая точность кластеризации

Минусы:

❏ Асимптотика O(N3)

Page 12: Разработка рекомендательной системы с использованием коллаборативной фильтрации

12

Иерархическая кластеризация

Page 13: Разработка рекомендательной системы с использованием коллаборативной фильтрации

13

Иерархическая кластеризация

ClusterA ClusterBbest

ClusterB ClusterCbest

ClusterС ClusterDbest

A

B

C

D

ClusterD ClusterCbest

В худшем случае получаем все тот же O(N3)

Page 14: Разработка рекомендательной системы с использованием коллаборативной фильтрации

❏ Кластеризация

❏ Факторизация матрицы

14

Иерархическая Сильные компоненты связности

Подходы

Page 15: Разработка рекомендательной системы с использованием коллаборативной фильтрации

15

Факторизация матрицы

artists

user

s

5

3

1

7

user

s

artists

1.62

2.56

2.95 2.72

2.48

1.03

4.79 4.4 1.66

2.556.74

2.636.967.55

7.31

Page 16: Разработка рекомендательной системы с использованием коллаборативной фильтрации

16

user

s

items

X

Y

Xu,Yi

Факторизация матрицы

Page 17: Разработка рекомендательной системы с использованием коллаборативной фильтрации

17

W

s1s2

s3

t

abc

=

t1

a * s1b * s2c * s3

=

col space of X

Qi

Qproji

Факторизация матрицы

Page 18: Разработка рекомендательной системы с использованием коллаборативной фильтрации

18

col space of X

Qi

Qproji

Qi - Qproji

Факторизация матрицы

Page 19: Разработка рекомендательной системы с использованием коллаборативной фильтрации

19

Факторизация матрицы в спарке

Page 20: Разработка рекомендательной системы с использованием коллаборативной фильтрации

20

Входные параметры

❏ ранг❏ количество итераций❏ скорость обучения❏ параметр

регуляризации

Page 21: Разработка рекомендательной системы с использованием коллаборативной фильтрации

21

Голосование моделей❏ model_1

❏ model_2

❏ model_3

❏ model_4

❏ model_1 recommendations❏ model_2 recommendations❏ model_3 recommendations❏ model_4 recommendations

collect most frequent recommendations

Page 22: Разработка рекомендательной системы с использованием коллаборативной фильтрации

22

Оценка моделей

❏ Root Mean Square Error (RMSE)

❏ Вероятностная

Positive user predictions: user 1 5 7 9 4 5 9

artists already has

user 0 2 8 6 4 3 4

random not rated artist

Negative user predictions:

count = 0for (int i = 0; i < n; ++i)

count += pos[i] > neg[i];ans = count / n;

Page 23: Разработка рекомендательной системы с использованием коллаборативной фильтрации

23

Примеры рекомендаций

❖ Rap

Page 24: Разработка рекомендательной системы с использованием коллаборативной фильтрации

24

Примеры рекомендаций

❖ experimental ❖ techno❖ electronica❖ trance

Page 25: Разработка рекомендательной системы с использованием коллаборативной фильтрации

25

Примеры рекомендаций

❏ The Streets❏ Queen❏ Simple Plan❏ Wednesday 13❏ The Killers❏ Hoobastank❏ Comedy❏ Pain❏ Green Day

❏ Red Hot Chili Peppers,13❏ Good Charlotte,13❏ Muse,13❏ System of a Down,15❏ Linkin Park,24❏ blink-182,22❏ The Offspring,19

❖ rock ❖ metal❖ alt. rock❖ pop rock

Page 26: Разработка рекомендательной системы с использованием коллаборативной фильтрации

26

Примеры рекомендаций

❏ Kenny Rogers❏ Night Ranger❏ Megadeth❏ Warrant❏ John Williams & The Boston

Pops

❏ Metallica,25❏ AC/DC,24❏ Guns N' Roses,21 ❏ Ozzy Osbourne,21❏ Black Sabbath,19❏ Pantera,17❏ Iron Maiden,25

❖ rock ❖ gram - metal❖ pop❖ metal

Page 27: Разработка рекомендательной системы с использованием коллаборативной фильтрации

27

Примеры рекомендаций

❏ 鬼束ちひろ❏ 安室奈美恵❏ Imogen Heap❏ Dir en grey❏ ガゼット❏ 三上ちさこ❏ CORE OF SOUL❏ Jorane❏ 矢井田瞳❏ Tori Amos

❏ Malice Mizer,14❏ 宇多田ヒカル ,15❏ L'Arc~en~Ciel,21❏ 椎名林檎,18❏ 浜崎あゆみ ,19❏ Gackt,23❏ 久石譲,11

❖ ??

Page 28: Разработка рекомендательной системы с использованием коллаборативной фильтрации

28

Проблемы

❏ нет “онлайновости”

❏ синонимия (фильмы для детей, детские фильмы)

❏ “нечестные” оценки

❏ белые вороны

Page 29: Разработка рекомендательной системы с использованием коллаборативной фильтрации

29

Сферы применения

❏ рекомендательные системы, сервисы (lastfm, imdb, kinopoisk, youtube, amazon)

❏ новостные сайты

❏ социальные сети

Page 30: Разработка рекомендательной системы с использованием коллаборативной фильтрации

30

Спасибо за внимание!