lyst / lyst/lightfm

What does the weight matrix do for implicit rating?

Open
#441 2 comments 10 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.