Skip to content
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

Stopping criterion of ALS #9

Closed
stegben opened this issue Oct 18, 2016 · 2 comments
Closed

Stopping criterion of ALS #9

stegben opened this issue Oct 18, 2016 · 2 comments

Comments

@stegben
Copy link

stegben commented Oct 18, 2016

Is it a good idea to stop ALS by validation dataset based on some criteria(RMSE, etc.)? The paper use probe datasets as validation-set. Once the RMSE is less than 1e-9, they stop the iteration.

@benfred
Copy link
Owner

benfred commented Oct 29, 2016

It usually doesn't hurt to run more iterations - for instance this post run this code and calculated p@5 out at each iteration and found that it converged around 15 iterations or so (which is the default here).

I'm going to add some code for evaluation here (calculating training loss, and maybe MAP) at some point, but I don't think that using that for early termination is worthwhile - it can be slow to calculate things like MAP or P@K because we have to sort the predictions : while the training itself can leverage sparsity of the dataset, sorting means there is a cost for missing items in the validation phase. (the paper you linked to is on the explicit case where you can safely ignore missing items).

@benfred
Copy link
Owner

benfred commented Dec 27, 2016

I added code to calculate the loss at each iteration here da1a7fa
I compared this per iteration in this post: http://benfrederickson.com/fast-implicit-matrix-factorization/ and showed that the training loss per iteration converges after 15 or so iterations. Closing this for now, since I don't think early stopping will make this any faster or more accurate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants