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 ...


4

Hmm, using Bayes Theorem to make new recipes out of old recipes. I imagine you first would want the algorithm to pull apart the ingredients into a form it understands (not sure if we are using NLP for that, or if you manually enter the data in yourself, that's neither here nor there.) From there... I envision something like this. Test Data analyzed. Now we ...


3

For a broad US-centric dataset of nearly 2000 recipes you could look at the Armed Forces Recipe Service. This does not answer your question, but would provide you with real-world training data. The requirements for the problem are probably difficult to articulate for most people and the selected approach will likely end up implicitly adjusting fitness in ...


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 ...


3

Recipe generation is commonly used as an example application for Case Based Reasoning systems. It is even used as an example on the Wikipedia Page. A google search for "case based reasoning recipes" yields numerous results.


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 ...


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-...


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