Anda di halaman 1dari 32

-1-

Recommender Systems

Sistem untuk merekomendasikan


items (e.g. books, movies, CDs,
web pages, newsgroup messages)
kepada users didasarkan pada
contoh-contoh (data historisi )
pilihan user lain sebelumnya

-2-

Feedback Detection
Non-Intrusive

Klik page tertentu dan


mengabaikan page
yang lain. (clik
stream )
Membaca page yang
diklik lebih lama dari
yang lain yang sama
sama di klik
Menyimpan/print page
yang diklik
Membeli items dan
menempatkannya di
Shopping Carts

Intrusive

user diharapakan
meniliai item atau
page -pate

-3-

Content/Profile-based

Content-based vs. Collaborati


Recommendation

Red
Mars

Found
ation

Jurassic
Park
Lost
World

2001

Machine
Learning

User
Profile
Neuromancer

2010

Difference
Engine

Collaborative Filtering
User
Database

A
B
C
:
Z

9
3
:
5

A
B
C 9
: :
Z 10

A
B
C
:
Z

5
3

A
B
C 8
: :
Z

:
7

Correlation
Match

Active
User

A 9
B 3
C
. .
Z 5

A 6
B 4
C
: :
Z

A
B
C
:
Z

9
3
:
5

A 10
B 4
C 8
. .
Z 1

A 10
B 4
C 8
. .
Z 1

Extract
- 4 -C
Recommendations

Collaborative Filtering

User
Database

A 9
B 3
C
: :
Z 5

A
B
C 9
: :
Z 10

sis
y
l
ana o the
n
tio ilar t ers
a
l
re
r
sim clust
o
C
s
i
n
e
o
r
i
e
t
H ocia
Ass lysis!
Ana
Active
User

A 5
B 3
C
: :
Z 7

A
B
C 8
: :
Z

Correlation
Match

A
B
C
.
Z

9
3
.
5

A 6
B 4
C
: :
Z

A
B
C
.
Z

10
4
8
.
1

A 9 A 10
B 3 B 4
C
C 8
: : . .
Z 5 Z 1

Extract
Recommendations

C
-5-

Item-User Matrix

Input untuk algoritma collaborative


filtering algorithm (K-NN) adalah
matrik mxn dimana baris user dan
kolom adalah items

Seperti term-document matrix (items adalah


kosakata dan dokumen adalah user)

-6-

User-based nearest-neighbor collaborative filtering


Item-based nearest-neighbor collaborative filtering

-7-

User-based nearest-neighbor collaborative


filtering (2)
Contoh
Database dari penilaian user (Alice), dan user-user lain :
Item1

Item2

Item3

Item4

Item5

Alice

User1

User2

User3

User4

Menentukan apakah Alice akan suka tidak suka Item5,


dimana belum menilai atau melihat item tersebut

-8-

User-based nearest-neighbor collaborative


filtering (3)
Pertanyaan
Bagaimana kita mengukur kesamaan?
Berapa banyak user lain ( neighbors) yang kita pertimbangkan
?
Bagaimana kita memprediksi dari hasil penilaian user lain?
Item1

Item2

Item3

Item4

Item5

Alice

User1

User2

User3

User4

-9-

Menemukan User Similarity dengan Person


Correlation Coefficient

Menggunakan Pearson correlation coefficient antara


penilian user a, dan user lain, u.

ca ,u

covar(ra , ru )

ra ru

ra dan ru adalah vektor-vektor penilaian untuk m item dari a dan u


m

ri,j adalah user i, untuk menilai item j


covar(ra , ru )

rx

i 1

x ,i

i 1

a ,i

ra )(ru ,i ru )
m

(r

rx

2
(
r

r
)
x ,i x
i 1

Memilih user lain (Neighbor)


Selection
Untuk aktif user a, a, user-user yang dipilih akan
dipakai sebagai imput dari prediksi.
Pendekatan menggunakan similarity weights, wa,u
Memilih semua user (neighbor) yang similarity
weight diatas threshold yang ditentukan

Rating Prediction
Prediksi penilaian, pa,i, untuk setiap i, untuk aktif
user , a, dengan menggunakan k user lain
(neighbor) dengan u {1,2,k}.
ca ,u
k

pa ,i ra
ri,j adalah user I penilaian terhadap item j

w
u 1

a ,u

covar(ra , ru )
ra ru

(ru ,i ru )

| w
u 1

a ,u

Memperbaiki ukuran /fungsi


prediksi
Gunakan "significance weighting",
mengurangi nilai secara linier jika jumlah
co-rated items rendah
Beri bobot lebih pada neighbor dimana
nilai similaritasnya mendekati 1
Pilih neighbor (user lain) menggunakan
threshold/nilai tertentu

Significance Weighting
Significance weights, sa,u, didasarkan
pada jumlah co-rated items, m.

wa ,u sa ,u ca ,u
s a ,u

1 if m 50
m
if m 50
50

ca ,u

covar(ra , ru )
ra ru

Measuring user similarity (2)

Item1

Item2

Item3

Item4

Item5

Alice

User1

sim = 0,85

User2

sim = 0,00

User3

sim = 0,70

User4

sim = -0,79
- 15 -

Pearson correlation
Melihat berbagai perilakuk user

- 16 -

Memory-based and model-based approaches


User-based CF is said to be "memory-based"
rating matrix langsung digunakan untuk menemukan
neighbors /langsung digunakan untuk prediksi

Model-based approaches
Didasarkan off-line pre-processing atau tahap "model-learning"
Pada saat dijalankan, hanya model yang sudah buat digunakan
untuk prediksi
models diupdate /dilatih ulang secara periodik
Banyak teknik yang digunakanlarge variety of techniques used
Membangun dan update model komputasinya sangat mahal
item-based CF adalah contoh pendekatan berbasis model

- 17 -

Item-based collaborative filtering


Ide dasar :

Menggunakan similarity antara items ( bukan user) untuk


melakukan prediksi

Contoh
Perhatikan items yang sama dengan Item5
Tentukan utuk user Alice's terhadapa item ini untuk prediksi
Item5
Item1
Item2
Item3
Item4
Item5
Alice

User1

User2

User3

User4

1
- 18 -

The cosine similarity measure

- 19 -

Making predictions
Fungsi prediksi

Neighborhood dibatasi
Tidak semua neighbor dihutung prediksinya

- 20 -

Pendekatan berbasis model


Matrix factorization techniques, statistics
singular value decomposition, principal component analysis

Association rule mining


compare: shopping basket analysis

Probabilistic models
clustering models, Bayesian networks, probabilistic Latent
Semantic Analysis

Various other machine learning approaches

Costs of pre-processing
Usually not discussed
Incremental updates possible?

- 21 -

Ide dasar: Membangun model offline untuk


mempercepat prediksi secara online
Singular Value Decomposition untuk mengurangi
dimensi dari matrik peniliaian
Waktu konstan untuk melakukan rekomendasi
Pendekatan yang popuar dalam IR

- 22 -

Matrix factorization

M U V T

- 23 -

Example for SVD-based recommendation

ty
et
Pr
an
om
W

ve
Lo

Mar
0.70
y
0.06

r
Prediction:
ui ru
Sue 0.31 0.93

Vk T

y
ra

0.23

tP
Ea

-0.44

s
in
Tw

0.47

0.30

rd
Ha

Bob

Dim
2

e
Di

Alic
e

Dim
1

or
at
in

Uk

M k U k k Vk

rm
Te

SVD:

Dim
1

0.06 0.38 0.57


0.44 0.57

Dim
2

0.58

0.26 0.18
0.66
0.36
k Dim Dim
1
2

U k ( Alice) k VkT ( EPL) Dim


5.63
1

= 3 + 0.84 = 3.84

Dim
2

3.23

- 24 -

Sue
Terminator

Twins

Bob

Eat Pray Love

Mary

Alice Pretty Woman


Die Hard

- 25 -

Association rule mining

- 26 -

Recommendation based on Association Rule


Mining
Ite
m1

Ite
m2

Ite
m3

Ite
m4

Ite
m5

User
1
0
2
support (2/4), confidence (2/2) (without Alice)
User
0
0
3

Simplest approach

Alice
transform 5-point ratings into binary
ratings (1 = above user average) User

Mine rules such as

Item1 Item5

Make recommendations for Alice (basic method)


0 transactions
1
1
Determine "relevant" rules based User
on Alice's
4
(the above rule will be relevant as Alice bought Item1)
Determine items not already bought by Alice
Sort the items based on the rules' confidence values

Different variations possible


dislike statements, user associations ..
- 27 -

Probabilistic methods

- 28 -

Calculation of probabilities in simplistic


approach
Item1

Item2

Item3

Item4

Item5

Alice

User1

User2

User3

User4

X = (Item1 =1, Item2=3,


Item3= )

More to consider

Zeros (smoothing required)


like/dislike simplification possible
- 29 -

Practical probabilistic approaches

- 30 -

2008:

Factorization meets the neighborhood: a


multifaceted collaborative
filtering model, Y. Koren, ACM SIGKDD
Stimulated by work on Netflix
competition
Prize of $1,000,000 for accuracy
improvement of 10% RMSE compared to own
Cinematch system
Very large dataset (~100M ratings, ~480K
users , ~18K movies)
Last ratings/user withheld (set K)

Root mean squared error metric


optimized to 0.8567
Metrics measure error rate
Mean Absolute Error (MAE) computes
the deviation between predicted
ratings and actual ratings
Root Mean Square Error (RMSE) is

- 31 -

Summarizing recent methods


Recommendation is concerned with learning
f ( x) y (x,y), where
from noisy observations
2

(
y

y
)
y that
has to be determined such
is minimal.
A huge variety of different learning
strategies have been applied trying to
estimate f(x)
Non parametric neighborhood models
MF models, SVMs, Neural Networks, Bayesian Networks,

- 32 -

Anda mungkin juga menyukai