Local
Music
Recommendation
Douglas Turnbull
Ithaca College
Ithaca, New York
USA
Part 1
Recommender Systems
Personalized Radio
Celestial Jukebox
Recommender System (RecSys)
A computational system that
recommends
specific items to a
specific user.
Recommender System (RecSys)
A computational system that
recommends
specific [artists, songs, events] to a
specific [listener, fan].
Content-based
(CB)
Analyze Substance of Items
Collaborative
Filtering
(CF)
Analyze User Interactions with Items
Hybrid
Combine CB and CF Approaches
Content-Based
(CB)
Analyze Substance of Items
Collaborative
Filtering
(CF)
Analyze User Interactions with Items
“Cold Start” Problems
New Item has no user ratings
Solution: Content-based RecSys
New User has no interaction with the RS
Solutions: Social Login, UX Onboarding
CF Matrix Representation
ri,u = how much user u likes (or dislikes) item i
item i
user u
|U|x|I|
ru,i
Neighborhood Algorithms
Two Ways to Compute
User-User Neighborhood
X
|U|x|I|
|I|x1
↑
・
|I|x1
=
|U|x1
|U|x|I|
X
Item-Item Neighborhood
XT
|I| x |U|
X
|U| x |I|
・
G
|I| x |I|
=
↑
G
uT
↑
|I|x1
User Model
Problems with using Raw Data Matrix X
Size: millions of items, millions of users
Sparse: inefficient storage + computation
Noisy: lots of meaningless junk
Synonymy: “hip hop” vs. “rap”
Polysemy: “romantic”
Matrix Factorization “fixes” these problems
Part 2 �Matrix Factorization
Embedding Items and Users into Latent “Semantic” Space
Matrix Factorization
minU,I ∑ratings (ru,i - xuT yi)2
k - selected dimension of embedded space
item i
user u
|U| x |I|
X
ru,i
xuT
|U| x k
U
k x |I|
yi
I
≈
≈
.
.
Matrix Factorization
minU,I ∑ratings (ru,i - xuT yi)2
+ λ (||U||2 + ||I||2)
λ - regularization parameter
item i
user u
|U| x |I|
X
ru,i
xuT
|U| x k
U
k x |I|
yi
I
≈
≈
.
.
Matrix Factorization
minU,I ∑ratings (ru,i - xuT yi)2
+ λ (||U||2 + ||I||2)
Alternating Least Squares (ALS)
Implicit Data
minU,I ∑u,i cu,i(ru,i - xuT yi)2
+ λ (||U||2 + ||I||2)
ri,u = 1 when user u has interacted with item i
0 otherwise
ci,u = confidence in rating ri,u
Ci,u= 50 when ri,u = 1
Ci,u= 1 when ri,u = 0
Explicit vs. Implicit Data Loss Function
Implicit Feedback
minU,I ∑u,i cu,i(ru,i - xuT yi)
+ λ (||U||2 + ||I||2)
Explicit Ratings
minU,I ∑ratings (ru,i - xuT yi)
+ λ (||U||2 + ||I||2)
Part 3�Long-Tail
Music Recommendation
Most Popular →
Users - Playlists
Items - Tracks→
Least Popular →
Short
Head
Mid
Body
Long
Tail
minU,I ∑u,i cu,i(ru,i - xuT yi)2
Popularity Bias
Small minority of Short-Head have big impact on loss function.
minU,I ∑u,i cu,i(ru,i - xuT yi)
Item-Balanced Loss Function:
Scale cu,i so each track has same weight.
cu,i ← cu,i / ||c*,i||
Real Plot from Gabe
Million Playlist Dataset
1M Playlists
2.2M Tracks
Retain tracks with on at least 10 playlists
→ 370K tracks
One-Third Partitions:
Short-Head → 2K tracks
Mid-Body → 18K tracks
Long-Tail → 350K tracks
Training Playlists
Test Playlist
Mask
Project
Score
Rank
Segment
Rank
Item-Balanced Loss Function
AUC | Overall |
Standard ALS | 0.9817 |
Item-Balanced ALS | 0.9846 |
Improvement | 0.0029 |
Error Reduction | 16% |
Item-Balanced Loss Function
AUC | Overall | Short Head | Mid Body |
Standard ALS | 0.9817 | 0.9448 | 0.9621 |
Item-Balanced ALS | 0.9846 | 0.9493 | 0.9643 |
Improvement | 0.0029 | 0.0045 | 0.0021 |
Error Reduction | 16% | 8% | 6% |
Item-Balanced Loss Function
AUC | Overall | Short Head | Mid Body | Long Tail |
Standard ALS | 0.9817 | 0.9448 | 0.9621 | 0.9471 |
Item-Balanced ALS | 0.9846 | 0.9493 | 0.9643 | 0.9627 |
Improvement | 0.0029 | 0.0045 | 0.0021 | 0.0157 |
Error Reduction | 16% | 8% | 6% | 30% |
Long-tail Recommendation Takeaways
Item-Balanced Loss Function results in
Neighborhood-based approaches can outperform Matrix Factorization for long-tail data
Part 3
Local
Music Recommendation
Kevin Kinsella - Grassroots 2013 – Mark Anbinder
Why MegsRadio Failed?
Event �Information
1, Artist Information
2. Artist Similarities
3. User Preferences
Identify Local Artists
Event Recommendation
Playlist Generation
Northeastern Music Informatics Special Interest Group
Ithaca College
Februrary 2020
JimiLab @ Ithaca College:
Just Inspired Music Innovation
Douglas Turnbull
Ithaca College
dougturnbull.org
(Truncated) Singular Value Decomposition
k is a hyperparameter
Xk = best k-rank approximation of X with respect to |X - Xk|2 (Frobenius norm)
https://en.wikipedia.org/wiki/Latent_semantic_analysis
u
users
i
items
|I| x |U|
X
i’
|I| x k
Uk
σ1
⋱
σk
Σk
k x k
k x |U|
u’
VTk
≈
≈ Xk =
Kevin Kinsella - Grassroots 2013 – Mark Anbinder
◉
◉
◉
◉
◉
Popularity Bias - Algorithmic
Add Matrix Visualization HereasdfAAAA
Event �Information
1M User Playlists
Identify Local Artists
Evaluate
Local Music Recommendation
Local Music Data
Local Music Experiment
6 RecSys Algorithms
3 Evaluation Metrics
(Surprising) Results #1
Item-Item Neighborhood works better than Matrix Factorization
Per-Track Loss Function
Since popular tracks have more ratings, the model designed to overfit them, while underfitting obscure tracks.
Solution: Alter the loss function so that each track has some influence.
Popularity Bias - Commercial