-
Notifications
You must be signed in to change notification settings - Fork 610
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
Confidence Matrix values should be 0 or 1? #38
Comments
Its maybe not the most clear - but the 'Cui' matrix being passed in does double duty here: It defines which users for each item that liked it (Pui in original paper) - as well as defines how much confidence we have that the user liked that item. The Pui values are implicit - the library is assuming that non-zero items in the Cui matrix means that the user liked the item (Pui = 1). The negatives are left unset in this sparse matrix: the library will assume that means Pui = 0 and Cui = 1 for all these items. This lets us only do work on the sparse liked items by leveraging that |
Thank very much for this great piece of work. I had the same question and looked carefully into the code. Looking into the Similarly, in In the limit where Could you please elaborate what I have misunderstood? |
Is it possible that the
I have a further question. In the function Thanks in advance! |
It seems that the code expects a sparse (e.g. csr) input containing the confidences on each of the UI pairs. However, looking at the Hu et al. 2008 paper, it seems like there should still be non-zero confidence for items that are unobserved (
r_ui = 0
in the paper's notation), such as from c_ui = 1 + alpha * r_ui. But, doing this would make the confidence matrix dense.I see that in computing the updates for the latent factor matrices, there is a (C - I) term and a multiplication by P, which transform back to the sparse space, but then shouldn't the input matrix be dense to accommodate the subtraction? (Ideally it isn't, but I'm trying to understand the implementation as written).
Thanks a lot for the explanation!
The text was updated successfully, but these errors were encountered: