**What is a Recommender System**

We are going to briefly discuss the following three topics:

- Applications of Recommender Systems
- Formulating the Problem – Utility Matrix
- Formal Model
- Final Notes

**Applications of Recommender Systems**

Recommender systems a used a wide array of application, it can be arguably the most applied machine learning technology in online systems. Some of the application areas are given below

- Movie recommendation in Netflix
- Related products recommendation in Amazon
- Web page ranking in Google
- Friends recommendation in social networks eg. Facebook
- News content recommendation in Yahoo News
- Priorities Inbox and Spam mail filtering
- Computational advertising in Yahoo
- Online dating networks eg okCupid

Kinds of Algorithms used in Recommender Systems

- Content-based Systems
- Collaborative filtering
- Latent factor based models

**Utility Matrix – Formulating the Problem**

An approach to building a recommender system is the use of a utility matrix. This is a table/matrix that show the values or rating users attach to items they use.

Let’s take the example of user ratings of movies. Ratings are from 0 to 5 stars. Table illustrates this:

Table 1: Illustration of the Utility Matrix |

From the utility matrix, the challenge of the recommender system is to infer unknown(labeled with ?) ratings from the known ratings

**Approach to Recommender System**

Step 1: Gathering the “known” ratings. This data can be collected from the utility matrix.

Step 2: Extrapolate unknown ratings from the known ratings. The focus would be on high unknown ratings so that it can be used to make recommendation

Step 3: Evaluating the Extrapolation methods. This refers to a way of measuring the success/performance of the recommendation methods.

**Formal Model**

Using the utility matrix, we can deduce a formal model for recommender systems using the following assumptions:

C = set of customers

S = set of item (movies in this case)

Utility function u = C x S → R

R = set of ratings

R is an ordered set eg 0 -5, or real numbers in [0, 1]