September 19, 2015

Hybrid Collaborative Filtering

Recommender Systems Handbook

  • The simplest and original implementation of this approach recommends to the active user the items that the other users with similar tastes liked in the past.

  • Hybrid recommender systems are those based on the combination of different recommender system techniques.

Collaborative filtering

Hybrid collaborative filering with tags

Proposed Factorization Model

Find \(P,Q\) and \(X\) minimizing: \[ \begin{split} J(P, Q, X) & = \sum_{ua \in R} w(\alpha, R_{ua}) \left( \widetilde{R}_{ua} - P_u Q_a^T \right)^2 \\ & + \mu_1 \sum_{ut \in T^U} w(\beta, T^U_{ut}) \left( \widetilde{T}^U_{ut} - P_u X_t^T \right)^2 \\ & + \mu_2 \sum_{at \in T^A} w(\gamma, T^A_{at}) \left( \widetilde{T}^A_{at} - Q_a X_t^T \right)^2 \end{split} \]

Model Comparison

Baseline models

  • User-artist matrix (MF)
  • User-artist matrix and tags (TagMF)

Proposed model

  • User-artist matrix and weighted tags (WTagMF)

Last.fm Usage Data

Listening Data

  • 2,902 users
  • 71,223 artists
  • 687,833 user-artist interactions

Tags

  • 630 user-tags (2,640 interactions)
  • 12,902 artist-tags (327,202 interactions)

Producing Recommendations

\[ \widetilde{R} \sim Z = P Q^T \]

Predicted interest for…

  • user \(u\) and artist a: \(Z_{ua} = P_u Q_a^T\)
  • user \(u\) and all artists: \(Z_u = P_u Q^T\)

Evaluation Methodology

  • Split \(R\) into training and test sets
  • Learn the users' taste \(Z\)
  • For each \(ua \in R^{test}\):
    • rank \(a\) within a list of random artists, sorted by \(Z_u\)
    • a good model should rank \(a\) in top positions
  • Compute expected percentile rank

Number of factors

Number of factors

Number of Iterations

Number of iterations

Mitigate Cold-Start in CF

Cold-start

Mitigate Cold-Start in CF

Artist Name \(\boldsymbol{Z_{ua}^{MF}}\) \(\boldsymbol{Z_{ua}^{TagMF}}\) \(\boldsymbol{Z_{ua}^{WTagMF}}\)
Feliu Ventura 0.00 0.10 0.40
Joan Colomo 0.32 0.63 0.69
Manos de Topo 0.23 0.52 0.56
Mazoni 0.00 0.27 0.45

Future Work

Automated Music Playlists Generation

  • Playlist adapting on-line to user feedback
  • Playlist diversification through different latent features
  • Evaluation methodologies

Thanks for your attention

MF versions

Explicit Feedback \[ \min_{P, Q} \sum_{ua | R^{tr}_{ua} \neq 0} \left( R_{ua} - P_u Q_a^T \right)^2 \]

Implicit Feedback \[ \min_{P, Q} \sum_{ua \in R^{tr}} w(R_{ua}) \left( \widetilde{R}_{ua} - P_u Q_a^T \right)^2 \\ \small \text{where } \widetilde{R} \text{ is a binary version of } R \text{, and } w(R) \text{is a weight function.} \]

Feedback Properties

One-way Feedback Two-way Feedback
Explicit Feedback Tags Ratings
Implicit Feedback Playcounts -

MF Versions

Two-way Feedback \[ \min_{P, Q} \sum_{ua | R^{tr}_{ua} \neq 0} \left( R_{ua} - P_u Q_a^T \right)^2 \]

One-way Feedback \[ \min_{P, Q} \sum_{ua \in R^{tr}} w(\alpha, R_{ua}) \left( \widetilde{R}_{ua} - P_u Q_a^T \right)^2 \\ \small \text{where } \widetilde{R} \text{ is a binary version of } R \text{, and } w(\alpha, R) \text{is a weight function.} \]

Distribution of Users

Entries in \(R\) Number of Users
1 – 10 64
11 – 20 84
21 – 30 122
31 – 40 77
41 – 50 96
50 – 100 466
101 – 2332 1993

Evaluation Methodology

For each fold:

  • For each \(ua \in R^{test}\):

    • draw a random list of artists (not including \(a\))
    • rank the list according to \(Z_u\)
    • rank \(a\) within the list according to \(Z_{ua}\) and store \(rank_{ua}\)

Expected percentile Rank: \[ \overline{rank} = \frac{\displaystyle \sum_{ua \in R} R_{ua} rank_{ua}} {\displaystyle \sum_{ua \in R} R_{ua} }. \]