#ActualRavyne

Posted 31 May 2013 - 05:52 PM

Are you familiar with Bayesean Inference at all? That's one approach to this kind of problem.

Unless I misunderstand your approach, I think how you meant to model your approach is not as a grid -- vectors in the grid become relative, unless I'm missing something, and hence, not much use. Instead, if each user is a vector of all media, you can then compare the preferences of a given user, and then make suggestions based upon the likes of similar users; in principle:

For the target user, form a vector composed of all media they've rated, and identical vectors for all other users, or a sufficiently-large sample of other users.

Compare this vector to the vector of each other user for similarity (dot product), choose a set of users that are most closely matched. If you like, you can weight the users according to whether the similarity is strong or weak.

From the set of similar users, suggest to the target user media that similar users have liked, but which the target user has not consumed/rated themselves. Rank recommendations by the consistency with which the similar users preferred each media.

You can do this based on simple thumbs-up/thumbs-down of individual media, or by a fuzzy rating. There are pros and cons to both approaches. You can also decompose media into representative traits (animation or live-action, genre, themes, writers, directors, actors, etc) and then form your vectors based on the traits, rather than the media itself (then, to recommend, you do the reverse, looking for media which has similar traits -- in fact, to some extent you can rely less on the comparison to similar users).

#2Ravyne

Posted 31 May 2013 - 05:51 PM

Are you familiar with Bayesean Inference at all? That's one approach to this kind of problem.

Unless I misunderstand your approach, I think how you meant to model your approach is not as a grid -- vectors in the grid become relative, unless I'm missing something, and hence, not much use. Instead, if each user is a vector of all media, you can then compare the preferences of a given user, and then make suggestions based upon the likes of similar users; in principle:

For the target user, form a vector composed of all media they've rated, and identical vectors for all other users.

Compare this vector to the vector of each other user for similarity (dot product), choose a set of users that are most closely matched. If you like, you can weight the users according to whether the similarity is strong or weak.

From the set of similar users, suggest to the target user media that similar users have liked, but which the target user has not consumed/rated themselves. Rank recommendations by the consistency with which the similar users preferred each media.

You can do this based on simple thumbs-up/thumbs-down of individual media, or by a fuzzy rating. There are pros and cons to both approaches. You can also decompose media into representative traits (animation or live-action, genre, themes, writers, directors, actors, etc) and then form your vectors based on the traits, rather than the media itself (then, to recommend, you do the reverse, looking for media which has similar traits -- in fact, to some extent you can rely less on the comparison to similar users).

#1Ravyne

Posted 31 May 2013 - 05:50 PM

Are you familiar with Bayesean Inference at all? That's one approach to this kind of problem.

Unless I misunderstand your approach, I think how you meant to model your approach is not as a grid -- vectors in the grid become relative, unless I'm missing something, and hence, not much use. Instead, if each user is a vector of all media, you can then compare the preferences of a given user, and then make suggestions based upon the likes of similar users, as such in principle (and yous till get to use your dot product):

For the target user, form a vector composed of all media they've rated, and identical vectors for all other users.

Compare this vector to the vector of each other user for similarity (dot product), choose a set of users that are most closely matched. If you like, you can weight the users according to whether the similarity is strong or weak.

From the set of similar users, suggest to the target user media that similar users have liked, but which the target user has not consumed/rated themselves. Rank recommendations by the consistency with which the similar users preferred each media.

You can do this based on simple thumbs-up/thumbs-down of individual media, or by a fuzzy rating. There are pros and cons to both approaches. You can also decompose media into representative traits (animation or live-action, genre, themes, writers, directors, actors, etc) and then form your vectors based on the traits, rather than the media itself (then, to recommend, you do the reverse, looking for media which has similar traits -- in fact, to some extent you can rely less on the comparison to similar users).