<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>August</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>A Framework for Training Hybrid Recommender Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Simon Bremer</string-name>
          <email>simon.bremer@tum.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alan Schelten</string-name>
          <email>alan.schelten@mercateo.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enrico Lohmann</string-name>
          <email>enrico.lohmann@mercateo.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Kleinsteuber</string-name>
          <email>kleinsteuber@tum.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Technical University of Munich</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <volume>27</volume>
      <issue>2017</issue>
      <fpage>30</fpage>
      <lpage>37</lpage>
      <abstract>
        <p>Recommender Systems (RS) are widely used to provide users with personalized suggestions taken from an extended variety of items. One of the major challenges of RS is the accuracy in cold-start situations where little feedback is available for a user or an item. Exploiting available user and item metadata helps to cope with this problem. We propose a hybrid training framework consisting of two predictors, a collaborative filtering instance and a metadata-based instance relying on content and demographic data. Our framework supports a wide range of algorithms to be used as predictors. The cross-training mechanism we design minimizes the weaknesses of one instance by updating its training with predicted data from the other instance. A sophisticated sampling function selects ratings to be predicted for cross-training We evaluate our framework conducting multiple experiments on the MovieLens 100K dataset, simulating diferent scenarios including user and item cold-start. Our framework outperforms stateof-the-art algorithms and is able to provide accurate predictions across all tested scenarios.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>Recommender Systems (RS) are nowadays of tremendous
importance across a multitude of diferent areas within the field of digital
technology. While the amount of choice given to a user or customer
has been growing continuously, users find it increasingly dificult to
come up with a satisfactory selection without being overwhelmed
by quantity.</p>
      <p>Recommender systems help providers to ofer users personalized
suggestions in order to improve user experience. A number of
diferent approaches are common to generate suggestions. The
two most prominent and widely used methods are Collaborative
Filtering (CF) and Content-based Filtering (CN) techniques. CF
algorithms only take user feedback into consideration. Feedback
can be given in an explicit (e.g. movie rating 1-5 stars) or implicit
1.05
SE1.00
M
R
0.95
0.90
CF
MD
Hybrid
0
10
20
30
40
50</p>
      <p>60
#Ratings / User
(e.g. user performed search query) way. CN algorithms mainly rely
on known item properties to discover items similar to each other
iftting the user’s preference.</p>
      <p>One major dificulty of CF and CN methods is that limited
amount of feedback from some users (e.g. new/inactive) usually
results in poor recommendations for those users. A user who has
not given any feedback has not expressed any preference, therefore
it is not possible to compute personalized recommendations. This
phenomenon is called the cold-start (CS) or ramp-up problem. We
distinguish between user cold-start (little feedback from specific
users), item cold-start (little feedback to specific items) and system
cold-start (both user and item cold-start). If information about users
is available, Demographic Filtering (DM) can be applied and
reasonable predictions can be made in case of user cold-start. Instead
of processing feedback which is not yet available for a cold-start
user, DM exploits user properties available through metadata to
generate recommendations based on preferences of users with a
similar demographic profile. In turn, CN helps to overcome item
cold-start issues by taking item metadata into consideration. Alone
however CN fails to deal with a user cold-start. As CN and DM both
process metadata, algorithms often combine both methods if
metadata is available for users and items. We dub the combination of CN
and DM Metadata-based Filtering (MD). While MD algorithms are
able to produce reasonable results in case of user or item cold-start
and can deal with a system cold-start as well, experiments have
shown that CF usually outperforms MD as soon as some amount
of feedback has been given (see Figure 1).</p>
      <p>In order to archive optimal overall performance it is necessary
to combine the results of both CF and MD. The challenge of
designing hybrid systems is subject to ongoing research. We present a
framework to combine the advantages of both algorithms.
1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Our Contribution</title>
      <p>We contribute a framework for training a hybrid CF-MD model
consisting of one instance of each, CF and MD. The framework
utilizes cross-training, an approach using prediction results of one
instance to train the other and vice versa. We design a sophisticated
sampling method to select specific user/item interactions for
crosstraining. This enables us to increase the overall performance of both
predictors over entries with little as well as a with lot of feedback.
Our method is able to cope with cold-start, a major drawback of
the popular CF approach. At the same time prediction results for
entries with lots of feedback also improve.</p>
      <p>
        We test our approach on the MovieLens [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] dataset and were able
to outperform baseline algorithms as well as previously published
results of similar methods.
1.2
      </p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        One of the most popular CF techniques in recent research is the
latent feature based matrix factorization (MF). Koren [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] provides
an overview covering some extensions to basic factorization. Many
additional extensions have been published which improve results
or take more data into consideration such as rating timestamps [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
or metadata.
      </p>
      <p>
        We distinguish between CF and MD methods and use them in
a divided fashion in our framework. Other researchers have tried
to include both approaches into a single model. Manzato et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
proposed additional latent features for categorical item metadata.
Santos et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] outperformed Manzato’s model by including
biases representing preferences of certain groups of users (e.g. age
group) to specific item attributes. Zhang et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] formulated
additional combinations of ofsets describing a user’s taste for genre
or a user group’s taste for a specific movie, used alongside matrix
factorization.
      </p>
      <p>
        Most factorization models are covered by the model class of
Factorization Machines (FM) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] introduced by Rendle. FM can
implement CF while also taking user and item metadata into
consideration acting as a one-model hybrid. While implementations of FM
like LightFM [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] provide accurate results during normal operation
as well as cold start, our CF / MD models can be specifically tuned
to perform well in their main area of operation (normal / cold-start).
      </p>
      <p>
        The technique of merging multiple individual algorithms or
their results is an important challenge in RS research. Taking the
average or weighted average of results is the simplest ensemble
method available. Jahrer et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] presented more sophisticated
approaches of merging results from multiple CF algorithms like
linear regression, neural networks, decision trees and even stacked
multiple merging techniques. Ensemble methods to merge results
are just one method of building hybrid systems. Burke [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] has
named multiple other possible techniques like cascading results
from one model into another to refine the ranking of items.
      </p>
      <p>
        Another approach of building a hybrid system was presented by
Zhang at al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. They built multiple models using diferent MF
extensions or used bagging on the training set to train multiple
instances of the same algorithm. We adapt Zhang’s method of
cross-training (co-training), where predictions of one model are
used to train another and vice versa. To pick samples used for
crosstraining, a confidence is calculated based on the number of ratings
per user/item as well as metadata stats like the number of users per
gender or age-group. We will describe confidence measures and
how we refine cross-training sampling in detail in Section 2.2.
      </p>
      <p>
        While most contributions addressed until now measure the error
of all predictions, other researchers focus on ranking the predicted
items and evaluating the ranks. Park et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] used a feature vector
matrix multiplication as well as a custom pair-wise loss function to
tackle the cold-start problem. Their evaluation only takes ranked
recommendations into consideration.
2
      </p>
    </sec>
    <sec id="sec-4">
      <title>HYBRID TRAINING FRAMEWORK</title>
      <p>In this section we describe the functionality of our framework and
explain cross-training as well as the selection and generation of
data for cross-training.</p>
      <p>The basic scenario for an RS incorporates a set of users U and a
set of items I. The rating rui with u ∈ U, i ∈ I refers to the explicit
rating given from a user u to an item i. We call ui an index pair or
tuple. All possible tuples are contained in the set L = U × I. The
set K ⊂ L consists only of index pairs ui ∈ K for which the ground
truth of rating rui is available in the training set. The complement of
the training index-set K denotes all tuples not known: K = L \ K.
The training set is defined as: T = {(ui, rui )|ui ∈ K }.</p>
      <p>Our hybrid framework combines an instance of a CF algorithm as
well as an MD algorithm. Both models act as a regression function
rˆ : L 7→ R, giving their prediction rˆui for an index pair ui.</p>
      <p>The framework is universal in the way that both algorithms, CF
and MD are interchangeable and almost any regression approach
relying on training through labeled data can be inserted. We specify
our choice of algorithms and further beneficial properties of possible
algorithms in Section 3.
2.1</p>
    </sec>
    <sec id="sec-5">
      <title>Outline of the Training Procedure</title>
      <sec id="sec-5-1">
        <title>Step 0: Initial training</title>
        <p>Step 1: Predict ratings for index pairs from SC F (K) to construct
the teaching set.</p>
        <p>Update training of MD using the teaching set and the
original training set.</p>
        <p>Step 2: Predict ratings for index pairs from SM D (K) to construct
the teaching set.</p>
        <p>Update training of CF using the teaching set and the
original training set.</p>
        <p>Step 3: If cross-training stopping criterion is not yet reached, go
back to Step 1 and repeat cross-training iteration</p>
        <sec id="sec-5-1-1">
          <title>2.1.1 Initial Training.</title>
          <p>To ensure that reasonable results can be predicted to be used in
cross-training, the first step is separate initial training. Both models
are individually trained with the training dataset T.</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>2.1.2 Cross-Training.</title>
          <p>The mechanism of cross-training shown in Figure 2 is designed to
improve each model by training it with ratings predicted by the
other model. We now describe the process of the first cross-training
step (upper half of Figure 2).</p>
          <p>First, we draw a number of index pairs from K which are not
included in the training set. This is done by the sampling function
SC F (K) ⊂ K which generates a subset of the unknown index
tuples which are to be used for cross-training. As the choice of which
and how many tuples are selected from K is vital for the
functioning of our whole framework, we provide a detailed description in
Section 2.2.</p>
          <p>To build the teaching data, a rating rˆui is predicted for each tuple
of the cross-training index set generated by SC F . All predicted
ratings and their corresponding index pairs are called the teaching
n o
dataset: EC F = (ui, rˆuCiF )|ui ∈ SC F (K) . Teaching data and
original training data are concatenated and the resulting cross-training
data XC F = EC F ∪ T is then used to update the training of MD.</p>
          <p>The second cross-training step, using data predicted from MD to
train CF (lower half of Figure 2), works in the same manner. Both
steps are alternated until a predefined stopping criterion is reached.</p>
          <p>We found that a fixed number of cross-training epochs works
well. See Section 4.6.3 for an analysis of performance depending on
number of epochs.
2.2</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Cross-Training Sampling</title>
      <p>The choice of how many and especially which user/item tuples are
selected for cross-training is an essential part of our framework.
We will now explain how we design our sampling functions.</p>
      <p>The underlying idea of cross-training is to use the advantages of
one algorithm to decrease the impact of weaknesses of the other.</p>
      <p>Our two regression models do not provide a confidence for a
predicted rating. Still, for each index tuple, we can take an educated
guess whether CF or MD yield a better prediction. In the case of
CF, results are poor in case of cold-start, therefore we can assume
that for users and items with few ratings MD will outperform CF.
In this case, providing additional training data for cold-start users
and items will increase the performance of CF. Vice versa CF is
able to predict high quality ratings for users and items with a lot of
feedback. Cross-training additional ratings to MD will also increase
its overall performance.</p>
      <p>Selecting ratings for which one algorithm most likely
outperforms the other and which will provide the greatest performance
gain is the key part of our framework.</p>
      <p>Index Tuple Sampling from CF
→
←</p>
      <p>SC F</p>
      <sec id="sec-6-1">
        <title>Users with</title>
        <p>← more - fewer →</p>
        <p>ratings</p>
        <p>
          2.2.1 Sampling Index Tuples for Predictions of CF (Figure 3).
To draw index pairs from SC F we adopt the method proposed by
Zhang at al. [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. For the selection of index pairs, Zhang introduced
a confidence measure C(rˆui ) to estimate how accurate a predicted
rating will be. In its simplest form it depends on the product of
the number of ratings du in the training set given by user u and
number of ratings di , received by item i with a normalization term
N:
        </p>
        <p>C(rˆui ) =
du × di</p>
        <p>N</p>
        <p>Predicting the rating rˆui for a user u who has rated often and an
item i which has been rated often will result in a high confidence
using this measure. This reflects the experience that CF generates
better predictions as soon as more feedback is available. Zhang
builds a probabilistic distribution based on the confidence measure:
P(u, i) = Í</p>
        <p>C(rˆui )
(u′,i′)∈K C(rˆu′i′ )</p>
        <p>We use this distribution in SC F and sample index pairs from
K without replacement meaning no duplicates are in the set of
(1)
(2)
sampled index tuples. Regarding the number of selected samples,
we determine the number of cross-training samples depending on
the size of K and the factor δ :</p>
        <p>|SC F (K)| = ⌊δ |K |⌋ (3)</p>
        <p>Through cross-validation we found an optimal value δ = 0.15
for the MovieLens 100K dataset.</p>
        <p>Index Tuple Sampling from MD</p>
        <p>SM D</p>
        <p>Users with
← more - fewer →</p>
        <p>ratings</p>
        <p>2.2.2 Sampling Index Tuples for Predictions of MD (Figure 4).
As described before, CF performs poorly for users and items with
little feedback. We will design SM D in a way that cross-training
index pairs are selected specifically among these cold-start users
and items. This technique enables us to significantly improve the
performance of CF through cross-training.</p>
        <p>Experiments have shown that MD produces better results than
CF for users with fewer than a certain threshold of ratings (see
Figure 1 and Section 4.6.2). We select index tuples for cross-training
among these users with fewer than tuser ratings. Sampling is done
individually for each user to ensure a minimum number of ratings
in the complete cross-train dataset for all users. For each user u we
select ⌊ϵuser · max (0, tuser − du )⌋ tuples, where the factor ϵuser ∈
R+ controls the amount of tuples selected for this user. du stands
for the number of ratings by user u in the training dataset. The
corresponding items i sampled for the cross-training tuples are
selected randomly but giving a higher probability to items with a
high amount of feedback. This is done in a linear fashion according
to the number of ratings of an item i with a probability P (i) = di
N
where N normalizes the term to a sum of 1 and di refers to the
number or ratings given to item i in the training set.</p>
        <p>In the same manner we select additional tuples for each item for
which the a number of training ratings is below threshold tit em .
We then go on to select ⌊ϵit em · max (0, tit em − di )⌋ tuples for
each item, again using a factor ϵit em ∈ R+. The distribution to
pick corresponding users u for the tuples is P (u) = du again with
normalization term N. N</p>
        <p>Tuples for cold-start users are selected favoring items with many
ratings contained in the training set over others through probability
P (i). This is done deliberately since the prediction of MD is more
reliable if at least the item was rated, in contrast to the case in which
neither user nor item were rated at all. The same logic applies to
cold-start items where tuples with active users are preferred.</p>
        <p>Again the tuples are selected without replacement, avoiding
redundant index pairs in the teaching set. The total amount of
cross-training samples from MD is therefore:
|SM D (K)| =
Õ
u ∈U
+ Õ
i ∈I
⌊ϵuser max (0, tuser − du )⌋
⌊ϵit emmax (0, tit em − di )⌋
(4)
latex The hyperparameters tuser , tit em , ϵuser and ϵit em of our
framework are determined through cross-validation.
3</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>SPECIFIC MODELS</title>
      <p>This section contains a detailed description of the algorithms we
choose to use for the individual models in our experiments. Some
constraints apply to algorithms in order to be used as part of our
framework. Both models must act as regression functions,
predicting a value referring to the explicit feedback based on the index
tuple (u, i). Additional metadata about user and item is used by MD.
Furthermore algorithms which ofer the functionality of iterative
training to update their parameters do not require complete
retraining during each cross-training epoch. Applying iterative updates
during cross-training instead of retraining the model greatly speeds
up the process. We constructed both algorithms using stochastic
gradient descent as optimizer and employ iterative updates.
3.1</p>
    </sec>
    <sec id="sec-8">
      <title>Collaborative Filtering</title>
      <p>
        CF is an often used method in RS and is therefore subject to
continuous research. We use SVD++ (Koren [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]), which is a matrix
factorization (MF) algorithm that has been proven to perform well.
      </p>
      <p>
        The MF approach for CF was popularized by Koren and Webb
(under pseudonym of Simon Funk) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] during the Netflix challenge.
Both users and items are represented by latent feature vectors
qi , pu ∈ Rk of predefined dimensionality k. Values between 5 and
100 are frequently used for k in research. A higher dimensionality
of latent features is able to represent a higher complexity of
underlying patterns of user preference while also increasing the risk of
overfitting.
      </p>
      <p>
        In its simplest form, the inner product is used to predict the
explicit rating given by user u to item i: rˆui = qTi pu . Including
biases, like global rating average µ and ofsets for user bu and
item bi , has shown to improve the results. Other extensions to the
basic MF have already been mentioned in Section 1.2. The SVD++
algorithm proposed by Koren incorporates additional latent vectors
yj ∈ Rk, j ∈ I into the factorization. For the set of items N (u)
which received implicit feedback by a user u, we compute the sum
of these vectors. The complete SVD++ prediction:
For lots of implicit feedback, the impact of |N (u)|− 21 Íj ∈N (u) yj
increases since more entries are in N (u) and because the
normalization uses the square-root. The dataset we use in our experiments
does not contain implicit feedback, just explicit ratings. We
therefore define that giving a rating can also be considered as implicit
feedback. This method is also used by Koren. That way of
measuring implicit feedback is, in a way, redundant information, as ratings
are already trained. Yet SVD++ has been proven to outperform
normal MF [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] not including implicit feedback. We were able to
further increase the performance by excluding low ratings (≤ 3 out
of 5 on MovieLens 100K) from implicit feedback. This threshold
also applies to ratings predicted by MD during cross-training.
      </p>
      <p>All model parameters qi , yi and bi for all i ∈ I, pu and bu for
all u ∈ U as well as the global average µ are learned by solving the
least-squares equation through gradient descent. Regularization is
applied to all parameters except µ . We use diferent regularization
values for diferent parameters:</p>
      <p>min
µ ,b∗,q∗,p∗,y∗ (u,i)∈K
To cope well with cold-start, relying on known ratings from the
training set alone does not sufice, as no personalized predictions
can be made for users who have not given any feedback yet. In
this case available metadata describing users and items enables an
RS to produce reasonable results. We design a custom MD model
consisting of a combination of diferent biases which are motivated
by possible causal links.</p>
      <p>We assume that all users and items are described by sets of
attributes. Examples for such attributes from the MovieLens dataset
(Section 4.2) are gender, age and occupation of users. Gender and
occupation can be considered categorical fields, those fields have
a discrete value in our dataset. To be able to represent
continuous fields like age as a set of possible attributes, values are
discretized into age groups, each group representing a possible
attribute. The set of attributes of a user u is called D(u) (Example:
D(u) = {is_f emale, is_technician, is_25 − 34y/o}).</p>
      <p>The same feature preprocessing applies to items. Continuous
data has to be discretized, categorical fields are simply one-hot
encoded into possible attributes. The set of attributes of item i is
denoted by C(i). The used MovieLens dataset provides a classification
of movies into genres. C(i) will therefore contain one or more
genres as attributes (Example: C(i) = {action, adventure, romance }).
(7)
(8)
(10)
(11)
In this section we will refer to an item attribute as genre since the
dataset provides genres, yet item attributes are not limited to that.</p>
      <p>To model the preference of a user accurately and to come up
with a reasonable prediction for rˆui we combine a number of biases
and factors to exploit multiple causal links:</p>
      <p>3.2.1 User and Item Bias. The global average and user/item
biases are the same as for CF and represents a regularized version
of average rating of a user and an item:</p>
      <p>bui = µ + bu + bi
3.2.2 Atribute Bias. For every attribute d ∈ D(u) and c ∈ C(i)
we apply a bias which states whether a group of users sharing an
attribute d rates better or worse than average. The bias works the
same for items with attribute c. Normalization is applied according
to the number of attributes per user and item.</p>
      <p>bat t r ib =
1
3.2.3 User Atribute to Item Atribute. Now we look at the
combination of attributes describing user and item. We introduce a
weight hcd corresponding to an ofset in the ratings given by users
with attribute d ∈ D(u) for items with attribute c ∈ C(i) w.r.t. global
average µ . An example would be that users with attribute is_male
tend to rate movies with attribute action a bit higher than the global
rating average µ . The additional factors дc for genres and fd for
user attributes can adjust the impact on hcd depending on user
attribute and genre:
rˆuUiA→I A =
1
1
3.2.4 User Atribute to Item. The next part of the prediction
models how a homogeneous audience responds to an individual
item. “Toy Story” for example might be especially liked among
users of age group 0-15. The weight kid corresponds to the rating
ofset of users with attribute d to the specific item i:
rˆuUiA→I =
1
+ λ2 ©­ |C(i)| |D(u)| c ∈C(i) d ∈D(u)
«
We choose a simple thresholding method to predict ratings by
the hybrid system. Hybrid results are taken from CF, except if rˆui
corresponds to a user or an item with very few ratings in which
case predictions are taken from MD. We define fixed the cutof
thresholds cuser and cit em as hyperparameters. Predictions for
users and items with fewer than cuser /cit em ratings are taken from
MD.
4</p>
    </sec>
    <sec id="sec-9">
      <title>EXPERIMENTS</title>
      <p>We test our hybrid framework in a number of experiments to
evaluate its performance. The optimal hyperparameters used in our
evaluation are determined through cross-validation. Thresholding
parameters like tuser are selected through observation of
experiments like the one conducted in Section 4.6.2.
4.1</p>
    </sec>
    <sec id="sec-10">
      <title>Implementation</title>
      <p>
        We implement our model using Python and Keras [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Our
implementation is published as an open source project and is available
on GitHub3. To implement our individual models and baselines
we use Keras’ Functional API4. The optimizer we configure Keras
to use is Adagrad [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] as it has proven to provide superior results
in our application over other optimizers Keras ofers. Additional
details about the technical implementation are included as in-code
documentation.
      </p>
      <p>We use Keras with Theano5 as backend and were able to
significantly speed up our computation by utilizing the GPU. We are
able to run a complete 5-fold cross-validation of our hybrid model
in under 6 minutes (using Intel® Core™ i7-2760QM / NVIDIA®
Quadro® 2000M on Linux).</p>
      <p>All ratings (1-5) are linearly transformed to a numerical range
of (0.1-0.9) to represent the likelihood for a user to like an item.</p>
      <p>It is common practice to take certain precautions to avoid
overiftting. We have already described the use of regularization. In
addition to this we use early stopping for the initial training. By
using a small part of the available data as validation set, not including
3github.com/sbremer/hybrid_rs
4keras.io/getting-started/functional-api-guide/
5deeplearning.net/software/theano
it in the training set K, and stopping training as soon as a
minimum in loss is reached in the validation set. This is accomplished
by storing the learned parameters if the validation loss reaches a
new minimum, stopping if no new minimum is reached after n
epochs (~5) and restoring the saved parameters as they yield the
best validation performance.
4.2</p>
    </sec>
    <sec id="sec-11">
      <title>Dataset</title>
      <p>
        To test and evaluate our proposed method we use the MovieLens
100K6 dataset provided by GroupLens [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The dataset consists of
100,000 ratings ranging from 1(worst)-5(best). Ratings are given by
943 users to 1682 movies. The resulting sparsity is 93.70%. All users
of both sets provided at least 20 ratings, some items have received
fewer. Timestamps are included for every rating. We omit those
as our research focus does not lie on time dependency. Movies are
described by title and a classification into one or multiple of the
19 genres. Metadata of users consists of gender, age and one of
21 occupations. As we work with categorical data, we group the
continuous age of the dataset into 7 discretized age groups. Zip
codes of users’ residences are omitted as well.
      </p>
      <p>The metadata included in the dataset is not very extensive,
therefore we cannot expect MD to outperform baselines by a large
margin. Gathering more data as well as sophisticated feature
engineering can improve results but is often dificult and costly. As the focus
of this research lies on our training framework we only use the
data provided in the MovieLens dataset.
4.3</p>
    </sec>
    <sec id="sec-12">
      <title>Baseline Algorithms</title>
      <p>We compare our hybrid algorithm against a number of baseline
algorithms:</p>
      <p>4.3.1 BiasBaseline. This approach consists only of global, user
specific and item specific bias. The prediction term is: rˆui = bui
with bui from Section 3.2.1.</p>
      <p>4.3.2 SVD. SVD is a common MF approach also incorporating
biases. The dot product of an item specific and a user specific latent
feature vector is used to predict ratings: rˆui = bui + qTi pu
4.3.3 Metadata. Our approach processing metadata is described
extensively in Section 3.2. We use this model in a standalone mode
as a baseline algorithm in order to show that our framework
outperforms its components individually.</p>
      <p>4.3.4 SVD++. This corresponds to the standalone version of the
CF model also used in our hybrid framework. See Section 3.1 for
further reference.
4.4</p>
    </sec>
    <sec id="sec-13">
      <title>Evaluation Metrics</title>
      <p>We measure the performance of our results using two evaluation
metrics.</p>
      <p>4.4.1 RMSE. The root-mean-square error (RMSE) of all
predicted ratings rˆui of the test set is given as:</p>
      <p>RMSE =
s
4.4.2 Precision@k. Precision, representing a ranking based
measurement, is calculated for each user separately. Ratings are
predicted for all index tuples of the test dataset of a user. Predicted
ratings are then sorted by value and the k items with the highest
predicted score are considered actual suggestions. The calculated
precision represents the portion of "good" suggestions among those
which were predicted top k items. We consider an item
recommendation "good" if that item is also among the true top ratings of the
user.</p>
      <p>Note that the dataset’s ground truth contains only integer values
as ratings. The true top ratings of a user are determined by choosing
the top k ratings. As more than k items can receive a top rating
by the user, we also include all tying ratings in the set of true top
ratings. This means that the true top ratings for a user may contain
more than k items as a user can rate more than k items with a top
rating.
4.5</p>
    </sec>
    <sec id="sec-14">
      <title>Evaluation Method</title>
      <p>All given scores are the mean of results using k-fold cross-validation
with k = 5. We use 3 diferent fold methods to evaluate diferent
situations:</p>
      <p>4.5.1 Normal k-fold. The standard k-fold function splits the
ratings into five parts and cross-validates those. As every user in
the dataset has at least 20 ratings and 80% of the ratings are assigned
to the training set, it is very likely that every user has at least 10
ratings in the training set. This situation corresponds to a normal
test run, without complete cold-start.</p>
      <p>4.5.2 User Cold-Start k-fold. This evaluation randomly splits
the data by users not by ratings. One fifth of the users and all their
given ratings will be used as testing data while the rest is given to
the algorithm as training data. Representing complete user
coldstart, no ratings of any of the users of the test dataset are available
for training.</p>
      <p>4.5.3 Item Cold-Start k-fold. To simulate a complete item
coldstart, we split all items, taking 80% of items with all corresponding
ratings as training set. The test set consists of the last fifth of items
and their ratings. The algorithm being evaluated has not seen any
ratings of the items in the test set.
4.6</p>
    </sec>
    <sec id="sec-15">
      <title>Results</title>
      <p>We conduct multiple experiments to evaluate the performance and
advantages of our hybrid framework. We include results of multiple
baseline algorithms described above, including our CF and MD
algorithms in standalone mode. For those baselines, we measure
the score of the test dataset after initial training, before applying
the proposed cross-training method.</p>
      <p>4.6.1 Non and Complete Cold-Start (Table 1). We now show our
results for the 3 evaluation folding methods.</p>
      <p>
        The results of competing research are not listed in Table 1 as
diferent evaluation methods were used. In addition other methods
do not consider complete user and item cold-start. Zhang et al.
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] evaluated results using a 10-fold cross-validation yielding a
best RMSE on MovieLens 100K of 0.8966. We also evaluated our
algorithm with 10 folds, outperforming Zhang and achieving an
RMSE of 0.8908. Santos et al. present a best RMSE of 0.9123.
      </p>
      <p>4.6.2 Diferent Intensities of User Cold-Start (Figure 1). In
addition to our three diferent cross-validation splits, we tested our
approach in case of user cold-start with varying intensity. To do so,
we use our user cold-start validation, splitting users into five parts
and using one part as the testing dataset. This mode represents a
complete cold-start as no ratings of the test set users are in the
training set. To simulate cold-start with few, instead of no ratings
given by test set users, we randomly take a fixed number of ratings
from every user in the test set and include these ratings in the
training set. The created situation models users who have given
some ratings.</p>
      <p>We can observe that for no or very few ratings (fewer than
~30) included in the training set, MD outperforms CF. With more
ratings, CF is able to produce more accurate predictions than MD.
Our proposed hybrid framework outperforms both its individually
trained components, CF and MD, in all tested cases of user cold-start
proving that cross-training improves accuracy significantly.
change when applying cross-training. Figure 5 shows the
absolute change of error compared to the results after initial training
(epoch zero). This evaluation shows the mean values of a 5-fold
cross-validation.</p>
      <p>While initially results of both CF and MD improve significantly,
a minimum of CF’s error is reached after about 7 epochs. After that
we observe an increase of error in the results of CF and our hybrid
system. Early stopping of cross-training is implemented to abort at
a minimum. We take runtime of the algorithm into consideration
when determining the epoch after which to stop, resulting in a
trade-of between best improvement through cross-training and
lower runtime of the framework.</p>
    </sec>
    <sec id="sec-16">
      <title>Discussion</title>
      <p>Our goal was to design a hybrid framework which combines the
desirable properties of CF and MD, to be able to provide accurate
recommendations over a variety of scenarios including cold-start.
We tested our algorithm on the MovieLens 100K dataset and
compared the results to a number of baseline algorithms, including our
metadata-based approach, in standalone mode.</p>
      <p>While the proposed framework is able to yield only slightly more
accurate results in case of user cold-start, we clearly outperform
all baselines during normal operation, including the frameworks
component algorithms. During item cold-start the framework’s
results are comparable to those of standalone MD, outperforming
all other baselines.</p>
      <p>In real world application we can expect a mixture of users/items
with a broad range of number of ratings per user and item as well
as a constant growth of user and item base. While both CF and
MD alone show clear weaknesses in some situations, our hybrid
approach is superior or at least comparable over all possible cases.
We therefore expect a considerable gain in overall performance.</p>
      <p>Note that the MovieLens dataset provides little information about
users and especially about items. We anticipate that additional and
more meaningful metadata will increase the performance of our
MD algorithm and therefore the complete framework too.
5</p>
    </sec>
    <sec id="sec-17">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>In this work we proposed a hybrid training framework
incorporating two RS algorithms, one implementing Collaborative Filtering
and one relying on metadata of users and items. Through
crosstraining we were able to combine the advantages of the individual
approaches. Our algorithm is able to predict accurate ratings in
situations where users/items have few as well as many ratings.
We are able to tackle the cold-start problem while also improving
performance in the case of many ratings being available.</p>
      <p>Possible future work includes testing our algorithm on diferent
datasets, including e-commerce data from the Mercateo platform.
As many components of our framework are interchangeable, we will
evaluate diferent sampling functions as well as other algorithms
for CF and MD. In addition we will take steps preparing deployment
in online mode, including more evaluation using ranking-based
metrics.</p>
    </sec>
    <sec id="sec-18">
      <title>ACKNOWLEDGEMENTS</title>
      <p>This work has been supported by the European Regional
Development Fund and the Free State of Saxony via project no.
- VANDA.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Webb</surname>
          </string-name>
          (aka
          <source>S. Funk)</source>
          .
          <source>2006. Netflix Update: Try This at Home</source>
          . http://sifter.org/ ~simon/journal/20061211.html. (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Robin</given-names>
            <surname>Burke</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Hybrid web recommender systems</article-title>
          .
          <source>The adaptive web</source>
          (
          <year>2007</year>
          ),
          <fpage>377</fpage>
          -
          <lpage>408</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>François</given-names>
            <surname>Chollet</surname>
          </string-name>
          and others.
          <source>2015</source>
          . Keras. https://github.com/fchollet/keras. (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>John</given-names>
            <surname>Duchi</surname>
          </string-name>
          , Elad Hazan, and
          <string-name>
            <given-names>Yoram</given-names>
            <surname>Singer</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Adaptive subgradient methods for online learning and stochastic optimization</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          <volume>12</volume>
          ,
          <string-name>
            <surname>Jul</surname>
          </string-name>
          (
          <year>2011</year>
          ),
          <fpage>2121</fpage>
          -
          <lpage>2159</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Maxwell</surname>
          </string-name>
          Harper and
          <string-name>
            <given-names>Joseph A.</given-names>
            <surname>Konstan</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>The MovieLens Datasets: History and Context</article-title>
          .
          <source>ACM Trans. Interact. Intell. Syst. 5</source>
          ,
          <issue>4</issue>
          ,
          <string-name>
            <surname>Article 19</surname>
          </string-name>
          (
          <issue>Dec</issue>
          .
          <year>2015</year>
          ),
          <volume>19</volume>
          pages. https://doi.org/10.1145/2827872
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Jahrer</surname>
          </string-name>
          , Andreas Töscher, and
          <string-name>
            <given-names>Robert</given-names>
            <surname>Legenstein</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Combining predictions for accurate recommender systems</article-title>
          .
          <source>In Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM</source>
          ,
          <volume>693</volume>
          -
          <fpage>702</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Yehuda</given-names>
            <surname>Koren</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Factorization Meets the Neighborhood: A Multifaceted Collaborative Filtering Model</article-title>
          .
          <source>In Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD '08)</source>
          . ACM, New York, NY, USA,
          <fpage>426</fpage>
          -
          <lpage>434</lpage>
          . https://doi.org/10.1145/1401890.1401944
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Yehuda</given-names>
            <surname>Koren</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Collaborative filtering with temporal dynamics</article-title>
          .
          <source>Commun. ACM 53</source>
          ,
          <issue>4</issue>
          (
          <year>2010</year>
          ),
          <fpage>89</fpage>
          -
          <lpage>97</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Yehuda</given-names>
            <surname>Koren</surname>
          </string-name>
          , Robert Bell, and
          <string-name>
            <given-names>Chris</given-names>
            <surname>Volinsky</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Matrix Factorization Techniques for Recommender Systems</article-title>
          .
          <source>Computer 42</source>
          , 8 (Aug.
          <year>2009</year>
          ),
          <fpage>30</fpage>
          -
          <lpage>37</lpage>
          . https://doi.org/10.1109/
          <string-name>
            <surname>MC</surname>
          </string-name>
          .
          <year>2009</year>
          .263
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Maciej</given-names>
            <surname>Kula</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Metadata embeddings for user and item cold-start recommendations</article-title>
          .
          <source>arXiv preprint arXiv:1507.08439</source>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Marcelo</surname>
            <given-names>Garcia</given-names>
          </string-name>
          <string-name>
            <surname>Manzato</surname>
          </string-name>
          .
          <year>2013</year>
          . gSVD++
          <article-title>: Supporting Implicit Feedback on Recommender Systems with Metadata Awareness</article-title>
          .
          <source>In Proceedings of the 28th Annual ACM Symposium on Applied Computing (SAC '13)</source>
          . ACM, New York, NY, USA,
          <fpage>908</fpage>
          -
          <lpage>913</lpage>
          . https://doi.org/10.1145/2480362.2480536
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Seung-Taek Park</surname>
            and
            <given-names>Wei</given-names>
          </string-name>
          <string-name>
            <surname>Chu</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Pairwise Preference Regression for Cold-start Recommendation</article-title>
          .
          <source>In Proceedings of the Third ACM Conference on Recommender Systems (RecSys '09)</source>
          . ACM, New York, NY, USA,
          <fpage>21</fpage>
          -
          <lpage>28</lpage>
          . https: //doi.org/10.1145/1639714.1639720
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Stefen</given-names>
            <surname>Rendle</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Factorization machines</article-title>
          .
          <source>In Data Mining (ICDM)</source>
          ,
          <source>2010 IEEE 10th International Conference on. IEEE</source>
          ,
          <fpage>995</fpage>
          -
          <lpage>1000</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Edson</surname>
            <given-names>B. Santos</given-names>
          </string-name>
          <string-name>
            <surname>Junior</surname>
            , Marcelo G. Manzato, and
            <given-names>Rudinei</given-names>
          </string-name>
          <string-name>
            <surname>Goularte</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Hybrid Recommenders: Incorporating Metadata Awareness into Latent Factor Models</article-title>
          .
          <source>In Proceedings of the 19th Brazilian Symposium on Multimedia and the Web (WebMedia '13)</source>
          . ACM, New York, NY, USA,
          <fpage>317</fpage>
          -
          <lpage>324</lpage>
          . https://doi.org/10.1145/ 2526188.2526197
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Mi</surname>
            <given-names>Zhang</given-names>
          </string-name>
          , Jie Tang, Xuchen Zhang, and
          <string-name>
            <given-names>Xiangyang</given-names>
            <surname>Xue</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Addressing Cold Start in Recommender Systems: A Semi-supervised Co-training Algorithm</article-title>
          .
          <source>In Proceedings of the 37th International ACM SIGIR Conference on Research &amp;#38; Development in Information Retrieval (SIGIR '14)</source>
          . ACM, New York, NY, USA,
          <fpage>73</fpage>
          -
          <lpage>82</lpage>
          . https://doi.org/10.1145/2600428.2609599
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>