9.6. SUMMARY OF CHAPTER 9
351
problem of recommending items to users is predicting the values of the
unknown entries based on the values of the known entries.
✦Two Classes of Recommendation Systems: These systems attempt to pre-
dict a user’s response to an item by discovering similar items and the
response of the user to those. One class of recommendation system is
content-based; it measures similarity by looking for common features of
the items. A second class of recommendation system uses collaborative ﬁl-
tering; these measure similarity of users by their item preferences and/or
measure similarity of items by the users who like them.
✦Item Proﬁles: These consist of features of items. Diﬀerent kinds of items
have diﬀerent features on which content-based similarity can be based.
Features of documents are typically important or unusual words. Prod-
ucts have attributes such as screen size for a television. Media such as
movies have a genre and details such as actor or performer. Tags can also
be used as features if they can be acquired from interested users.
✦User Proﬁles: A content-based collaborative ﬁltering system can con-
struct proﬁles for users by measuring the frequency with which features
appear in the items the user likes. We can then estimate the degree to
which a user will like an item by the closeness of the item’s proﬁle to the
user’s proﬁle.
✦Classiﬁcation of Items: An alternative to constructing a user proﬁle is to
build a classiﬁer for each user, e.g., a decision tree. The row of the utility
matrix for that user becomes the training data, and the classiﬁer must
predict the response of the user to all items, whether or not the row had
an entry for that item.
✦Similarity of Rows and Columns of the Utility Matrix: Collaborative ﬁl-
tering algorithms must measure the similarity of rows and/or columns
of the utility matrix. Jaccard distance is appropriate when the matrix
consists only of 1’s and blanks (for “not rated”). Cosine distance works
for more general values in the utility matrix. It is often useful to normal-
ize the utility matrix by subtracting the average value (either by row, by
column, or both) before measuring the cosine distance.
✦Clustering Users and Items: Since the utility matrix tends to be mostly
blanks, distance measures such as Jaccard or cosine often have too little
data with which to compare two rows or two columns. A preliminary
step or steps, in which similarity is used to cluster users and/or items
into small groups with strong similarity, can help provide more common
components with which to compare rows or columns.
✦UV-Decomposition: One way of predicting the blank values in a utility
matrix is to ﬁnd two long, thin matrices U and V , whose product is an
approximation to the given utility matrix. Since the matrix product UV
