-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add run-time feature training for ALS #114
Comments
This was referenced Nov 21, 2019
10 tasks
We can do this by creating single-row versions of the LU decomposition code. For example, for def _train_bias_row_lu(items, ratings, other, reg):
"""
Args:
items(np.ndarray[i64]): the item IDs the user has rated
ratings(np.ndarray): the user's (normalized) ratings for those items
other(np.ndarray): the item-feature matrix
reg(float): the regularization term
Returns:
np.ndarray: the user-feature vector (equivalent to V in the current LU code)
"""
pass This function probably does not need to be accelerated with Numba. |
3 tasks
mdekstrand
added a commit
that referenced
this issue
Aug 26, 2020
Merge ALS run-time training (closes #114).
mdekstrand
added a commit
that referenced
this issue
Sep 18, 2020
Fix ALS run-time training (#114) for empty rating series
Re-opening because we still need to do |
mdekstrand
added a commit
that referenced
this issue
Nov 5, 2020
added new ratings for predict method in ImplicitMF (closes #114)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The ALS algorithms are readily amenable to computing new or updated feature vectors for new users on the fly: just solve the least squares problem for the user's feature vector given their ratings and the item feature matrix.
We just need to write the code, and possibly factor out part of the solver to allow single-vector solutions. This is probably most robust with the LU-decomposition solver, although we could run the coordinate descent solver for a few rounds.
Unlike #60, this pertains to what we do at predict or recommend time, not updating the model itself.
The text was updated successfully, but these errors were encountered: