-1
$\begingroup$

I was wondering how recommendation on youtube work for example? How are the algorithms applied, because every user gets different recommendations depending on his location, his past liked videos etc... So it would seem like a training model is applied to every single user but I know that can't be possible so how are these recommendations so user-specific without applying a unique training model to every single user?

$\endgroup$
2
  • $\begingroup$ What makes you think there needs to be separate models? Supervised learning tries to learn a function that maps inputs (user data) to outputs (action of interest). Usually you use everyone's information to learn this one function. User-specificity only speaks to the user's inputs, not the function that maps the inputs. $\endgroup$ – Taylor Apr 1 '17 at 21:40
  • $\begingroup$ How recommedations work on youtube is something we cannot know, because it is proprietary. As such this question needs to be closed as off topic (probably too broad). On the other hand, the question, 'do recommender systems require separate models for each user?' would be a perfectly good question here. $\endgroup$ – gung - Reinstate Monica Apr 2 '17 at 12:29
1
$\begingroup$

This may not be an exceptionally useful answer for you, but the specific question you are asking relates directly to what I do at my job, which is not really machine learning.

If I wanted to customize recommendations for a YouTube user, I would start with a graph. My graph would have two types of nodes, users and videos, and edges that only connect users and videos, representing videos that user has seen. To get a recommendation for a user, I would start at the last X videos that user has watched and do two traversals, one to users, and one back to videos. Then I would count how many times I ended up at each video, and recommend those videos that I ended up at the most. This would give you a list of most watched videos by people who also watched the same videos you did. From here you can refine it in various ways, but that is how you would start.

I don't know if this is what YouTube does, but it is what shopping sites do, and it is what I do at work for a 'big company,' though it is not machine learning.

$\endgroup$
2
  • $\begingroup$ I presume this is based on videos watched, without user ratings. Perhaps users get videos recommended to them, watch them, and don't like them. It seems there would be a reinforcement feedback that could take a video not many people liked, and it could get recommended, watched, recommended more, etc. Thoughts? $\endgroup$ – Mark L. Stone Apr 3 '17 at 1:20
  • $\begingroup$ @MarkL.Stone The first level of refinement to the graph is to add some information to the edge about liked vs. disliked, or some other quantifiable usage rating. On your traversals, don't traverse a 'disliked' edge, while increase the weight of a 'count' by a factor of x for each 'liked' edge you traversed. From your starting video, if you traverse to a user that liked it, then to a video that user liked, that target video is weighted by x^2 when you sum recommendations. $\endgroup$ – kingledion Apr 3 '17 at 1:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.