# Tag Info

7

The idea in matrix factorization is to find the latent variables which connect the input and the output. Suppose that we are interested in a movie recommendation system, and that movies "live" on a one-dimensional axis, having romantic comedies in one end, and action movies in the other. Each "input" and "output" move can be rated in this scale (say $1$ to $-... 5 It doesn't make sense to ask if supervised learning is better or worse than unsupervised since they are used in different contexts. In the most simple terms, supervised learning is used when you have a dependent variable, so you're investigating the relationship between this dependent variable and one or more independent variables. Often you're trying to ... 5 Here is my guess at your problem. There are a bunch of items that you need to place in a vector. Each item has a set of allowed positions in the vector. You need to find an assignment of items to positions in the vector. This is an instance of bipartite maximum matching. On one side you have the items, on the other you have the positions in the vector. ... 4 This answer presents two algorithms. The first uses flow network. The second, a faster algorithm, takes advantage of "ranges". This problem can be solved using a unit capacity flow network (and Dinic's algorithm). In order to transform the problem into a unit capacity flow network problem, we need to do the following: Make a node$v_i$for every item$i$. ... 3 One of the best ways to benchmark such big systems is to use a service like Amazon Mechanical Turk (AMT). First you implement a user interface for everyday users where they could specify whether or not the recommendations are relevant. Then you submit this to Amazon Turk and let many people try it out. You could further process the results of an Amazon Turk ... 2 One approach is to use low-rank matrix factorization to approximate the ratings matrix, then use a nearest neighbors data structure. In particular, let$M$be the$m \times n$ratings matrix, where$M_{ij}$is the rating that user$i$has provided to user$j$. Look for a$m\times r$matrix$U$and a$r \times n$matrix$V$such that$M\$ is well-...

2

a rough intuition (other than the basic data compression concept) is as follows. recommender systems that use matrix factorization methods eg SVD can be seen as a set of linear weights of natural features found via unsupervised means. a "feature" eg for a movie database is a large set of movies of varying weights. they dont necessarily have recognizable ...

2

A weighted average might or might not be the best method. This will depend on (a) the nature of the algorithms, and (b) what objective function you are trying to minimize. Let me give you a sample set of assumptions. Suppose we treat the predictions from the recommendation algorithms as independent random variables (e.g., because each recommendation ...

1

The algorithmic part of the recommendation systems is more closely related to the computer science, the theoretical part of recommendation systems is mostly combination of statistics and linear algebra, thus we can think of recommendation systems as the combination of statistics and computer science, and the data science is the field that one would actually ...

1

Since you have ranges, I would first go by range. As a feature recommendation system I'm guessing that things in lower slots are more important. I would arrange the ranges with items that belong there sorted by lowest slot, then highest slot. I assume the items you don't list can go anywhere, so you would have these ranges: Range A - Low: 1, High: 1, ...

1

You can for instance take as ground truth data the movielens dataset, remove some rating links between users and movies. You can rank your algorithm by counting the number of link that you can guess right. Usually machine learning algorithm also guess the rating score.

1

Apache Mahout has several implementations about this problem. Most common approach is to predict all unrated items of a particular user and sorting items by their predicted values. Then you can select top N items to recommend. (see class AllUnknownItemsCandidateItemsStrategy in Mahout). A version of this implementation with better performance and low ...

1

the basic strategy in [supervised] machine learning is to split the data into a "learning/training set" and a "test set". the algorithm when trained has no access to the test set which also acts something like a scientific control group. the algorithm attempts to learn a pattern. then you compare its performance on the data that it was "blind" to during ...

1

The class of algorithms you are looking for is the bandits one. They are usually used to handle the exploration part of a classification problem. A basic approach would be to represent the recipes as a limited bag of components (a vector of booleans with at most k non 0 values) and to use LinUCB to select a set of components. Then the feedback would be '...

Only top voted, non community-wiki answers of a minimum length are eligible