What does the weight matrix do for implicit rating?
- Dominant language
- Python
- Stars
- 5.1k
- Forks
- 724
- PR merge metrics
- No merged PRs in 30d
Description
As far as I know, lightfm is dealing with implicit interaction matrix, i.e., 0s and 1s. However it can also creates a weight matrix separately and get into the training. I think if you call "Dataset().build_interaction()" function, what it does is extracting the original interaction data to interaction matrix and weight matrix. Say a rating of 3.5, then there will be a "1" field in interaction matrix and "3.5" will go to weight matrix.
My question is what does the weight matrix really do for the training? We know for an explicit interaction, the goal is trying to fit those explicit scores directly. For lightfm, however, the target is 0/1 indicators. Therefore the role of weight is not quite clear to me. Does it change the learning rate or convergency criteria for each individual interaction entity? Be more specific, if we have two records [1, 5], then interaction_matrix = [1, 1] and weight_matrix = [1, 5], what would be different for lightfm to deal with them considering interactions are both 1 but weights are different, would it be slightly tending towards weight of 5 record?
Contributor guide
No contributing guide indexed for this repository
Research direction
No file or test is identified. Start by tracing Dataset().build_interaction() into the training path, then document how the weight matrix affects learning, including the proposed [1, 5] comparison; the issue is done when that behavior is clearly explained.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100