Recommender Systems
Jia-Bin Huang Virginia Tech
Spring 2019
ECE-5424G / CS-5824
Recommender Systems Jia-Bin Huang Virginia Tech Spring 2019 - - PowerPoint PPT Presentation
Recommender Systems Jia-Bin Huang Virginia Tech Spring 2019 ECE-5424G / CS-5824 Administrative HW 4 due April 10 Unsupervised Learning Clustering, K-Mean Expectation maximization Dimensionality reduction Anomaly detection
Jia-Bin Huang Virginia Tech
Spring 2019
ECE-5424G / CS-5824
๐ฆ1 (CPU load) ๐ฆ2 (Memory use) ๐ฆ1 (CPU load) ๐ฆ2 (Memory use)
1 2๐ ๐/2 ฮฃ 1/2 exp โ ๐ฆ โ ๐ โคฮฃโ1(๐ฆ โ ๐)
ฮฃ = 1 1 ฮฃ = 0.6 0.6 ฮฃ = 2 2 ๐ฆ1 ๐ฆ2 ๐ฆ1 ๐ฆ2 ๐ฆ1 ๐ฆ2
ฮฃ = 1 1 ฮฃ = 0.6 1 ฮฃ = 2 1 ๐ฆ1 ๐ฆ2 ๐ฆ1 ๐ฆ2 ๐ฆ1 ๐ฆ2
ฮฃ = 1 1 ฮฃ = 1 0.5 0.5 1 ฮฃ = 1 0.8 0.8 1 ๐ฆ1 ๐ฆ2 ๐ฆ1 ๐ฆ2 ๐ฆ1 ๐ฆ2
๐ = 1 ๐ เท
๐=1 ๐
๐ฆ(๐) ฮฃ = 1 ๐ เท
๐=1 ๐
(๐ฆ(๐)โ๐)(๐ฆ(๐) โ ๐)โค 2 Give a new example ๐ฆ, compute ๐ ๐ฆ; ๐, ฮฃ = 1 2๐ ๐/2 ฮฃ 1/2 exp โ ๐ฆ โ ๐ โคฮฃโ1(๐ฆ โ ๐) Flag an anomaly if ๐ ๐ฆ < ๐
Original model ๐ ๐ฆ1; ๐1, ๐1
2 ๐ ๐ฆ2; ๐2, ๐2 2 โฏ ๐ ๐ฆ๐; ๐๐, ๐๐ 2
Manually create features to capture anomalies where ๐ฆ1, ๐ฆ2 take unusual combinations of values Computationally cheaper (alternatively, scales better) OK even if training set size is small
Original model
๐ ๐ฆ; ๐, ฮฃ = 1 2๐ ๐/2 ฮฃ 1/2 exp(โ ๐ฆ โ ๐ โคฮฃโ1(๐ฆ
Movie Alice (1) Bob (2) Carol (3) Dave (4) Love at last
5 5
Romance forever
5 ? ?
Cute puppies of love
? 4 ?
Nonstop car chases
5 4
Swords vs. karate
5 ?
rated movie ๐
user ๐ to movie ๐
Movie Alice (1) Bob (2) Carol (3) Dave (4) ๐ฆ1 (romance) ๐ฆ2 (action) Love at last
5 5 0.9
Romance forever
5 ? ? 1.0 0.01
Cute puppies
? 4 ? 0.99
Nonstop car chases
5 4 0.1 1.0
Swords vs. karate
5 ? 0.9
For each user ๐, learn a parameter ๐(๐) โ ๐3. Predict user ๐ as rating movie ๐ with (๐ ๐ )โค๐ฆ(๐) stars.
Movie Alice (1) Bob (2) Carol (3) Dave (4) ๐ฆ1 (romance) ๐ฆ2 (action) Love at last
5 5 0.9
Romance forever
5 ? ? 1.0 0.01
Cute puppies
? 4 ? 0.99
Nonstop car chases
5 4 0.1 1.0
Swords vs. karate
5 ? 0.9
For each user ๐, learn a parameter ๐(๐) โ ๐3. Predict user ๐ as rating movie ๐ with (๐ ๐ )โค๐ฆ(๐) stars.
๐ฆ(3) = 1 0.99 ๐ 1 = 5 (๐ 1 )โค๐ฆ(3) = 5 โ 0.99 = 4.95
Goal: learn ๐(๐):
min
๐(๐)
1 2๐(๐) เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 +
๐ 2๐(๐) เท
๐=1 ๐
๐๐
๐ 2
min
๐(๐)
1 2 เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐
๐๐
๐ 2
Learn ๐ 1 , ๐ 2 , โฏ , ๐ ๐๐ฃ : min
๐ 1 ,๐ 2 ,โฏ,๐ ๐๐ฃ
1 2 เท
๐=1 ๐๐ฃ
เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
min
๐(๐)
1 2 เท
๐=1 ๐๐ฃ
เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
Gradient descent update:
๐๐
๐ โ ๐๐ ๐ โ ๐ฝ ฯ๐:๐ ๐,๐ =1
๐ ๐
โค ๐ฆ ๐
โ ๐ง ๐,๐ ๐ฆ๐
๐
(for ๐ = 0) ๐๐
๐ โ ๐๐ ๐ โ ๐ฝ ฯ๐:๐ ๐,๐ =1( ๐ ๐ โค ๐ฆ ๐
โ ๐ง ๐,๐ ) ๐ฆ๐
๐ + ๐ ๐๐ (๐)
(for ๐ โ 0)
Movie Alice (1) Bob (2) Carol (3) Dave (4) ๐ฆ1 (romance) ๐ฆ2 (action) Love at last
5 5 0.9
Romance forever
5 ? ? 1.0 0.01
Cute puppies
? 4 ? 0.99
Nonstop car chases
5 4 0.1 1.0
Swords vs. karate
5 ? 0.9
Movie Alice (1) Bob (2) Carol (3) Dave (4) ๐ฆ1 (romance) ๐ฆ2 (action) Love at last
5 5 ? ?
Romance forever
5 ? ? ? ?
Cute puppies
? 4 ? ? ?
Nonstop car chases
5 4 ? ?
Swords vs. karate
5 ? ? ?
๐ 1 = 5 ๐ 2 = 5 ๐ 3 = 5 ๐ 4 = 5 ๐ฆ 1 = ? ? ?
min
๐ฆ(๐)
1 2 เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐
๐ฆ๐
(๐) 2
min
๐ฆ(1),๐ฆ(2),โฏ,๐ฆ(๐๐)
1 2 เท
๐=1 ๐๐
เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐
เท
๐=1 ๐
๐ฆ๐
(๐) 2
Can estimate ๐ 1 , ๐ 2 , โฏ , ๐ ๐๐ฃ
Can estimate ๐ฆ 1 , ๐ฆ 2 , โฏ , ๐ฆ ๐๐
min
๐ 1 ,๐ 2 ,โฏ,๐ ๐๐ฃ
1 2 เท
๐=1 ๐๐ฃ
เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
min
๐ฆ(1),๐ฆ(2),โฏ,๐ฆ(๐๐)
1 2 เท
๐=1 ๐๐
เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐
เท
๐=1 ๐
๐ฆ๐
(๐) 2
min
๐ 1 ,๐ 2 ,โฏ,๐ ๐๐ฃ
1 2 เท
๐=1 ๐๐ฃ
เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
min
๐ฆ(1),๐ฆ(2),โฏ,๐ฆ(๐๐)
1 2 เท
๐=1 ๐๐
เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐
เท
๐=1 ๐
๐ฆ๐
(๐) 2
๐พ = 1 2 เท
๐:๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
+ ๐ 2 เท
๐=1 ๐๐
เท
๐=1 ๐
๐ฆ๐
(๐) 2
๐พ(๐ฆ 1 , ๐ฆ 2 , โฏ , ๐ฆ ๐๐ , ๐ 1 , ๐ 2 , โฏ , ๐ ๐๐ฃ ) = 1 2 เท
๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
+ ๐ 2 เท
๐=1 ๐๐
เท
๐=1 ๐
๐ฆ๐
(๐) 2
descent (or an advanced optimization algorithm). For every ๐ = 1 โฏ ๐๐ฃ, ๐ = 1, โฏ , ๐๐: ๐ฆ๐
๐ โ ๐ฆ๐ ๐ โ ๐ฝ
เท
๐:๐ ๐,๐ =1
( ๐ ๐
โค ๐ฆ ๐
โ ๐ง ๐,๐ ) ๐๐
๐ + ๐ ๐ฆ๐ (๐)
๐๐
๐ โ ๐๐ ๐ โ ๐ฝ
เท
๐:๐ ๐,๐ =1
( ๐ ๐
โค ๐ฆ ๐
โ ๐ง ๐,๐ ) ๐ฆ๐
๐ + ๐ ๐๐ (๐)
a star rating of ๐โค๐ฆ
Movie Alice (1) Bob (2) Carol (3) Dave (4) Love at last
5 5
Romance forever
5 ? ?
Cute puppies of love
? 4 ?
Nonstop car chases
5 4
Swords vs. karate
5 ?
๐ = โ ๐ฆ 1
โค โ
โ ๐ฆ 2
โค โ
โฎ โ ๐ฆ ๐๐
โค โ
ฮ = โ ๐ 1
โคโ
โ ๐ 2
โคโ
โฎ โ ๐ ๐๐ฃ
โค โ
Low-rank matrix factorization
๐ฆ1: romance, ๐ฆ2: action, ๐ฆ3: comedy, โฆ
Small ๐ฆ(๐) โ ๐ฆ(๐) movie j and I are โsimilarโ
1 2 เท
๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
+ ๐ 2 เท
๐=1 ๐๐
เท
๐=1 ๐
๐ฆ๐
(๐) 2
๐(5) = 0
Movie Alice (1) Bob (2) Carol (3) Dave (4) Eve (5) Love at last
5 5 ?
Romance forever
5 ? ? ?
Cute puppies
? 4 ? ?
Nonstop car chases
5 4 ?
Swords vs. karate
5 ? ?
1 2 เท
๐ ๐,๐ =1
(๐ ๐ )โค ๐ฆ ๐ โ ๐ง ๐,๐
2 + ๐
2 เท
๐=1 ๐๐ฃ
เท
๐=1 ๐
๐๐
๐ 2
+ ๐ 2 เท
๐=1 ๐๐
เท
๐=1 ๐
๐ฆ๐
(๐) 2
๐(5) = 0
Movie Alice (1) Bob (2) Carol (3) Dave (4) Eve (5) Love at last
5 5
Romance forever
5 ? ?
Cute puppies
? 4 ?
Nonstop car chases
5 4
Swords vs. karate
5 ?
For user ๐, on movie ๐ predict: ๐ ๐
โค ๐ฆ(๐) + ๐๐
User 5 (Eve): ๐ 5 = 0 ๐ 5
โค ๐ฆ(๐) + ๐๐
Learn ๐(๐), ๐ฆ(๐)