The goal of a collaborative filtering algorithm is to suggest new
items or to predict the utility of a certain item for a
particular user based on the user's previous likings and the
opinions of other like-minded users. In a typical CF scenario,
there is a list of m users
and a list of n items
.
Each user ui has a list of items Iui, which
the user has expressed his/her opinions about. Opinions can be
explicitly given by the user as a rating score, generally
within a certain numerical scale, or can be implicitly derived
from purchase records, by analyzing timing logs, by mining web
hyperlinks and so on [28,16]. Note that
and it is possible for Iui to be a null-set. There exists a distinguished user
called the active user for whom the task of a
collaborative filtering algorithm is to find an item
likeliness that can be of two forms.
Figure 1 shows the schematic diagram of the collaborative filtering
process. CF algorithms represent the entire
user-item data as a ratings matrix,
.
Each
entry ai,j in
represent the preference score
(ratings) of the ith
user on the jth item. Each individual ratings is within a
numerical scale and it can as well be 0 indicating that the
user has not yet rated that item. Researchers have devised a number of
collaborative filtering algorithms that can be divided into two
main categories-Memory-based (user-based) and Model-based
(item-based) algorithms [6]. In this section we provide a detailed
analysis of CF-based recommender system algorithms.