0
$\begingroup$

Currently doing andrew ng's unsupervised learning specialization, I came across this algorithm for collaborative filtering: enter image description here

here the Xi refers to feature vector of objects(ex: action in movies, romance in movies), Wi is the weight vector defined for each user, so their dot product gives us Yi (rating given user and movie)

this particular descent formlae is used when features of movies/objects is NOT GIVEN the idea, as I understand is to iteratively update weight and input after randomly initializing both.

I am struggling to understand how this would even work practically, in linear regression we have:

WX + b = Y

which defines a relation between given independent and dependent algorithm. In the algorithm, aren't we estimating the independent feature using weights ? (in the case where we only have rating given to us) The output of weights to my understand is just random, depending on how we initialize X

this is the descent algorithm provided: enter image description here

$\endgroup$

1 Answer 1

0
$\begingroup$

In a typical linear regression, the X values are predefined or calculated before the model is trained. In contrast, in collaborative filtering, the X values are learned alongside the model parameters W and B, through the process of gradient descent. Specifically, in collaborative filtering, the X values, are treated as learned parameters that represent the attributes of each individual movie, with a shape as (num_movie, num_feature). As shown in the diagram below, our model learns specific values for each feature column. This means that when a new movie is encountered, the corresponding X values are learned from the rating data through a new regression process, rather than being predefined as in a traditional model.

user-item matrix

$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.