3. Journal club: The topN recommendation system: SLIM
Introduction
Nomenclature
number of items n
item tj , user ui
purchasing history Am×n
purchasing history of user i, col(A[i, :]) = (aT)i
purchasing history of item j, A[:, j] = aj
wj is a sparse size n column vector of aggregation coecients
4. Journal club: The topN recommendation system: SLIM
Introduction
Model
aij = (aT)iwj
A = AW
5. Journal club: The topN recommendation system: SLIM
Introduction
Optimization
minimize
W
1
2
||A − AW ||2
F + β
2
||W ||2
F + λ||W ||1
W = 0
diag(W ) = 0
avoid trivial solution
insure aij is not used to compute estimation, why?
6. Journal club: The topN recommendation system: SLIM
Introduction
parallelizing
Assumption: Each column of W is the property vector for
corresponding item,suppose there is no coupling between dierent
items, so each column vector could be learned separately.
minimize
wj
1
2
||A[:, j] − Awj||2
F + β
2
||wj||2
F + λ||wj||1
wj = 0
wj,j = 0
avoid trivial solution
Aij = Ai,−j W−j + Ai,j Wj
To make this true for every user Wj,j = 0
7. Journal club: The topN recommendation system: SLIM
Introduction
New interpretation and complexity decrease through feature
reduction
The j th column of A is the dependent variables.
A[:, j] = fun(A[:, −j]) So the ratings for item j from all the users
are a function of the all user's rating history to all other items. Do
we need to use all the items for training? If we restrict the number
of training items to the k nearest neighbors, the dimension of W
could be greatly reduced.
8. Journal club: The topN recommendation system: SLIM
Introduction
Complexity analysis
Recommendation complexity for one user, say user i:
A[:, j] = fun(A[:, −j]) = Ai,−j W−j