SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
000
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
Movie Recommendation system
by OUKID In`es and BELOUADAH Sakher
Abstract
Les syst`emes de recommandation dans le com-
merce ´electroniques deviennent de plus en plus
importants en raison du grand nombre de
choix que les consommateurs confrontent. En
g´en´erale, les syst`emes de recommandation pren-
nent d’abord un ensemble d’entr´ees, qui pour-
rait repr´esenter les profils d’utilisateurs, un en-
semble d’articles not´es, etc., puis identifient les
analogies entre les entr´ees et passent les paires
similaires pour la pr´ediction. Parmi les tech-
niques utilis´ees dans la construction des syst`emes
de recommandation, le filtrage collaboratif est
l’une des approches les plus prometteuses. Dans
ce rapport, nous aborderons les d´efis de la con-
struction d’un syst`eme de recommandation ef-
ficace et utile `a partir d’un grand ensemble de
donn´ees, par la suite nous discuterons de notre
approche d’identification des voisins ainsi que
nos m´ethodes de pr´ediction. Nous pr´esenterons
´egalement les r´esultats de notre exp´erience en
´evaluant la pr´ecision de nos algorithmes.
1. Introduction
La quantit´e d’informations g´en´er´ee par Internet ´evolue si
rapidement que les Internautes se sentent vite d´epass´es.
Cela repr´esente un probl`eme majeur pour le commerce
´electronique, car les acheteurs en ligne ne peuvent tout sim-
plement pas explorer et comparer l’ensemble des produits
propos´es. C’est pr´ecis´ement dans ce contexte et dans le
but de r´esoudre ce probl`eme que les syst`emes de recom-
mandation ont ´et´e introduits. Diff´erentes approches ont
donc ´et´e propos´e parmi ces techniques existantes, le filtrage
collaboratif est l’une des approches les plus prometteuses
permettant ainsi de construire des syst`emes de recomman-
dation. Le filtrage collaboratif recueille les pr´ef´erences
de l’utilisateur pour des articles, recherche un ensemble
d’utilisateurs voisins ayant les mˆemes pr´ef´erences et par la
suite d´eduit la note (ou l’appr´eciation) d’un article donn´e
Preliminary work. Under review by the International Conference
on Machine Learning (ICML). Do not distribute.
en se basant sur les informations collect´ees. Le principe
fondamental de ces syst`emes est de recommander les pro-
duits ayants les meilleurs notes `a l’utilisateur en question.
Les syst`emes de recommandation sont particuli`erement
utiles lorsque les magasins en ligne vendent et proposent un
grand nombre de produits appartenant au mˆeme domaine
(musique, films, livres...etc.). La recommandation est
bas´ee sur les produits d´ej`a not´es par d’autres utilisateurs.
Un syst`eme de recommandation utile g´en`ere ´egalement des
pr´edictions pr´ecises. Nous allons expliquer ces d´efis plus
en d´etails dans les sections qui suivent.
Dans ce rapport, nous nous int´eressons aux m´ethodes de
collaboration, en particulier les m´ethodes de recommanda-
tion bas´es item-item et user-item.
1.1. D´efis
Le premier d´efi des syst`emes de recommandation col-
laboratif est d’identifier les voisins et ce d’une mani`ere
efficace. Ayant un nombre important d’utilisateurs et
d’articles (dans notre cas, films), le temps n´ecessaire
pour la recommandation doit ˆetre minime dans le cas
d’une g´en´eration en temps r´eel. Le processus de calcule
de recommandation se fait en deux ´etapes. La premi`ere
´etape consiste `a identifier les voisins des articles que nous
essayons de recommander. Dans cette ´etape le syst`eme
doit d’abord effectuer une recherche `a travers des milliers
d’articles et doit calculer les similarit´es entre les articles
candidats et l’article cible. Une fois que le calcul des
similarit´es est effectu´e, l’´etape suivante repr´esente l’´etape
de pr´ediction qui se base sur les similarit´es obtenues lors
de l’´etape 1. La pr´ediction ´etant obtenue, le syst`eme
recommandera des articles `a l’utilisateur selon un seuil de
similarit´e donn´e.
Le deuxi`eme d´efi est de calculer la note et ce avec
pr´ecision. Avant d’effectuer la pr´ediction, il est donc
n´ecessaire de collecter des informations `a partir des
voisins. Cependant, ce calcul de similarit´e entre les articles
est une tˆache difficile qui repr´esente ici un des challenges
de la recommandation d’articles.
Nous pr´esentons dans ce rapport deux approches efficaces
de recommandation, tout en d´etaillant les diff´erentes
m´ethodes utilis´ees lors de l’impl´ementation permettant de
surpasser les probl´ematiques mentionn´ees pr´ec´edemment.
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
Movie Recommendation system
2. ´Etat de l’art
Le probl`eme de recommandation d’items dans certaines
bases de donn´ees ”fixes” a ´et´e largement ´etudi´e, et deux
paradigmes principaux ont ´emerg´e. Dans le ”content-based
recommandation” on essaie de recommander des articles
similaires `a ceux qu’un utilisateur donn´e a aim´es par le
pass´e, alors que dans la recommandation collaborative, on
identifie les utilisateurs dont les goˆuts sont similaires `a ceux
de l’utilisateur donn´e, par la suite le syst`eme recommande
les articles qu’ils ont aim´es.
Les syst`emes mettant en œuvre les approches de recom-
mandation bas´ees sur le contenu consistent `a analyser un
ensemble de documents ou de descriptions d’´el´ements et de
construire un mod`ele ou un profil repr´esentatif des int´erˆets
des utilisateurs sur la base de caract´eristiques d’articles
pr´ec´edemment not´es par un utilisateur.
Le profil est une repr´esentation structur´ee des int´erˆets
des utilisateurs, utilis´e pour recommander de nouveaux
´el´ements int´eressants. Le processus de recommandation
consiste donc essentiellement `a faire correspondre les at-
tributs du profil de l’utilisateur aux attributs d’un article. Le
r´esultat est un jugement pertinent qui repr´esente le niveau
d’int´erˆet de l’utilisateur pour cet article. L’objectif est donc
alors de cerner et de comprendre les motivations ayant con-
duit l’utilisateur `a juger comme pertinent ou non un item
donn´e.
Cependant, le ”content-based” montre certains limites.
Parmi ces inconv´enients nous citerons:
• Analyse limit´ee du contenu: si le contenu ne contient
pas suffisamment d’informations pour discriminer les
´el´ements de mani`ere pr´ecise, la recommandation ne
sera pas efficace `a la fin.
• Les m´ethodes bas´ees sur le contenu fournissent un
degr´e de ”nouveaut´e” assez limit´e, car le but est de
faire correspondre les caract´eristiques des profils avec
celles des items. Par cons´equent le ”content-based fil-
tering” quasi parfait ne sugg`ere rien de ”surprenant.”
• Nouvel utilisateur: quand il n’y a pas suffisamment
d’informations pour ´etablir un profil solide pour un
utilisateur, la recommandation ne peut ˆetre fournie de
mani`ere correcte.
C’est pour ces raisons que nous avons opt´e pour
l’impl´ementation des m´ethodes de recommandation
collaboratives.
Les syst`emes de recommandation bas´es sur le filtrage col-
laborative est un sujet bien ´etudi´e. Ces syst`emes essayent
de pr´edire les notes de certains articles pour un utilisateur
cible en se basant sur les articles d´ej`a not´es par d’autres
utilisateurs [1] et ce en utilisant une mesure de similarit´e
bien d´efinie. LikeMinds [2] est une des applications
les plus populaires qui utilise le filtrage collaborative.
L’algorithme utilis´e prend en entr´ee un utilisateur cible
ainsi qu’un ensemble d’utilisateurs candidats, et calcule
la similarit´e en se basant sur la diff´erence entre les notes
donn´ees par l’utilisateur cible, et celles des candidats.
Le candidat ayant le score de similarit´e le plus haut est
consid´er´e comme ´etant un mentor pour l’utilisateur cible.
Les notes de ce dernier sont par la suite calcul´ees en se
basant sur les notes du mentor.
3. Probl`eme de parcimonie
Un probl`eme de complexit´e se pose en raison du nom-
bre important de notes que le syst`eme doit traiter. Cepen-
dant, pour la plupart des syst`emes de recommandations, le
fait d’avoir peu de notes repr´esente un probl`eme de plus
grande importance. Ce probl`eme se pose lorsqu’un nom-
bre cons´equent d’articles est propos´e. En effet, proportion-
nellement `a la taille du stock disponible, un nombre r´eduit
d’articles est ´evalu´e et ce par un nombre r´eduit d’utilisateur.
Par cons´equent seul un pourcentage faible de la totalit´e des
articles est not´e. Dans cette situation, il est difficile de trou-
ver des utilisateurs qui partagent les mˆemes articles. Ce
ph´enom`ene est plus connu sous le nom de probl`eme de
parcimonie. Par cons´equent diff´erentes solutions ont donc
´et´e propos´ees afin d’y rem´edier. Parmi elles on retrouve :
• Description du contenu : Le descriptif des articles per-
met d’augmenter la quantit´e d’information de mani`ere
g´en´erale, mais en particulier celle que les utilisa-
teurs ont en commun. Cependant, l’utilisation des
m´ethodes collaboratives ont montr´e leur efficacit´e par
rapport aux m´ethodes bas´ees sur le contenu.
• ´Evaluations implicites : Certains syst`emes essaient
d’augmenter le nombre d’´evaluations d’un utilisa-
teur en se basant sur son comportement. Cependant,
l’utilisateur doit imp´erativement explorer l’article
avant que le syst`eme puisse en d´eduire la note.
• R´eduction de la dimension : En r´eduisant la dimen-
sion de l’espace d’information, les notes de deux util-
isateurs peuvent ˆetre utilis´ees pour les pr´edictions,
mˆeme s’ils ne partagent pas les mˆemes articles. Paz-
zani et Billsus [3] ont propos´e une m´ethode de
pr´ediction bas´ee sur l’utilisation des r´eseaux de neu-
rones au lieu de la corr´elation, o`u les notes des utilisa-
teurs sont repr´esent´ees par des matrices bool´eennes.
Ces matrices sont par la suite projet´ees dans un es-
pace de dimension r´eduite en utilisant l’indexation
s´emantique latente. Cette approche bien qu’elle soit
efficace fait face `a un probl`eme important qui est la
complexit´e computationnel.
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
Movie Recommendation system
4. Basline
Nous pr´esentons tout d’abord les m´ethodes de pr´ediction
de base. Ces m´ethodes sont utiles pour ´etablir des base-
lines non personnalis´ees contre lequel des algorithmes per-
sonnalis´es peuvent ˆetre compar´es. Les algorithmes de base
ne d´ependent pas des notes des utilisateurs et peuvent ˆetre
utiles pour fournir des pr´edictions concernant de nouveaux
utilisateurs. Nous notons une pr´ediction de base d’un util-
isateur u et un article i par bu,i. L’algorithme de base le
plus simple est de pr´edire la note moyenne parmi toutes les
´evaluations dans le syst`eme : bu,i = m ( o`u m est la note
moyenne globale ). Ceci peut ˆetre am´elior´e en pr´edisant
la note moyenne attribu´ee par l’utilisateur bu,i = ru ,
pour cet article bu,i = ri. Cette baseline peut ˆetre encore
am´elior´ee en combinant la moyenne de l’utilisateur avec
l’´ecart moyen de la moyenne des notes que l’utilisateur a
attribu´e `a un article sp´ecifique. En g´en´eral, une baseline de
la forme suivante peut ˆetre utilis´ee:
bu,i = m + bu + bi
O`u bu, bi sont les pr´edicteurs de base des utilisateurs et
d’articles respectivement. Ces pr´edicteurs peuvent ˆetre
d´efinis en utilisant simplement la moyenne des d´ecalages
(offsets) de la fac¸on suivante:
bu = 1
|Iu| ΣiεIu (ru,i − m)
bi = 1
|Ui| ΣuεUi
(ru,i − bu − m)
Cette baseline peut encore ˆetre am´elior´ee et ce en four-
nissant une estimation plus raisonnable des pr´ef´erences des
utilisateurs face `a un ´echantillonnage parcimonieux. Cela
est fait en introduisant les deux variables βu et βi [4]:
bu = 1
|Iu|+βu
ΣiεIu
(ru,i − m)
bi = 1
|Ui|+βi
ΣuεUi
(ru,i − bu − m)
Cet ajustement permet d’avoir une note proche de la
note moyenne globale lorsqu’un utilisateur n’a not´e que
quelques articles, ou si un article n’a pas ´et´e not´e par
plusieurs utilisateurs. Notre choix s’est port´e sur cette
baseline en raison de son efficacit´e [4].
5. Calcul de la similarit´e
Le filtrage collaborative est bas´e essentiellement sur la
mesure de la similarit´e, d’o`u l’importance d’utiliser un
algorithme efficace. Diff´erentes m´ethodes sont utilis´ees
et permettent de calculer g´en´eralement la distance ou la
corr´elation entre 2 vecteurs.
5.1. Distance de Manhattan:
La distace de Manhattan est l’une des m´ethodes les plus
simples pour mesurer la distance entre deux points associ´ee
`a la norme1. Ayant deux point x et y, la distance entre les
deux est d´efinie par:
d(x, y) = Σn
k=1 | xk − yk |
5.2. Distance Euclidienne
Plus intuitive que la distance de Manhattan, la dis-
tance euclidienne est consid´er´ee comme ´etant la distance
g´eom´etrique dans un espace multidimensionnel. Elle est
calcul´ee en utilisant la formule :
d(x, y) = Σn
k=1(xk − yk)2
5.3. Pearson Correlation Coefficient PCC
Ce coefficient est plus complexe que la distance euclidi-
enne et la distance Manhattan mais obtient g´en´eralement
de meilleurs r´esultats avec des donn´ees non normalis´ees.
C’est le cas par exemple lorsque nous avons des utilisateurs
qui donnent seulement des mauvaises notes et d’autres qui
ne donnent que des bonnes notes. La PCC mesure le nom-
bre de fois ou deux variables changent ensemble divis´e par
le produit du nombre de fois o`u celles-ci changent individu-
ellement. Plus les variables changent ”ensembles” par rap-
port `a la fac¸on dont elles changent individuellement, plus
elles sont corr´el´ees.
pearson(x, y) =
Σn
k=1(xk−¯x)(yk−¯y)
√
Σn
k=1
(xk−¯x)2Σn
k=1
(xy−¯y)2
5.4. Cosinus
La similarit´e cosinus (ou mesure cosinus) permet de cal-
culer la similarit´e entre deux vecteurs `a n dimensions en
d´eterminant le cosinus de l’angle entre eux. La formule
utilis´ee est :
cos(Θ) = x.y
x ∗ y
Dans notre cas, nous avons opt´e pour l’utilisation de la
mesure PCC afin de calculer la similarit´e entre les articles.
6. Approches impl´ement´ees
Le but de ce projet est d’impl´ementer deux m´ethodes bas´ee
recommandation collaborative. Dans ce rapport de mi-
parcours les filtrages bas´es item-item et item-user ont ´et´e
impl´ement´e et sont pr´esent´es dans ce qui suit :
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
Movie Recommendation system
6.1. Memory-Based Collaborative Filtering(item-item)
Cette approche peut ˆetre d´ecrite par : ”les utilisateurs qui
ont aim´e ce produit, ont aussi aim´e ...” Le principe est
de prendre en entr´ee un ensemble d’articles (films par ex-
emple), d’attribuer pour chaque article un vecteur de car-
act´eristiques puis de calculer le nombre de fois o`u chaque
article est proche ou ´eloign´e des autres articles et ce en se
basant sur les descripteurs. Ainsi, les articles sont jug´es
proches en fonction de cette similaire.
6.1.1. IDENTIFICATION DES VOISINS
Notre but est de savoir `a quel point deux articles sont sim-
ilaires. L’id´ee est donc, pour chaque paire de films (arti-
cles) A et B, d’extraire l’ensemble des utilisateurs qui ont
not´e A et B, de construire deux vecteurs `a partir des notes
correspondant `a A et B respectivement puis de calculer la
corr´elation entre ces deux vecteurs selon l’algorithme ci-
dessous :
Algorithm 1 Identification des voisins (item-item)
Entr´ees: Films F, Utilisateurs U, Notes NF U
Sortie: Matrice de corr´elation
Pour chaque deux films A et B dans F:
uA,uB=ExtraireUtilisateurs (A,B)
communs=Intersect(uA,uB)
dA,dB=Descripteurs(communs,uA,uB)
correlation(A,B)=Pearson(dA,dB)
Fin Pour
Ce type de syst`emes est tr`es efficace pour trouver des arti-
cles qui sont similaires `a ceux que l’utilisateur aime. Dans
le cas r´eel, les utilisateurs ne noteront pas tous les articles
par cons´equent on retrouve le probl`eme de parcimonie. La
solution propos´ee est d’extraire la liste des utilisateurs qui
ont not´e l’article A, et celle des utilisateurs qui ont not´e
l’article B, ensuite de trouver l’intersection entre les deux
i.e. ”les utilisateurs qui ont not´e les deux articles”. En
utilisant ces informations, on construit les descripteurs des
deux articles qui sont repr´esent´es par deux vecteurs con-
tenant les notes des utilisateurs communs pour chaque arti-
cle. L’´etape finale est donc d’identifier les voisins en util-
isant la mesure de similarit´e PCC.
Les valeurs retourn´ees par PCC varient entre -1 et 1, o`u
PCC(A,B) plus grand que z´ero signifie que les deux arti-
cles ont une corr´elation positive et donc qu’ils sont simi-
laires. L’article A est jug´e comme ´etant un bon voisin de
B selon la valeur de PCC qui est `a maximiser. Cependant,
le temps de calcul de PCC est important car pour chaque
paire d’articles, le syst`eme a besoin d’abord de trouver
l’intersection entre uA et uB, de calculer les moyennes, et
puis de calculer le coefficient de corr´elation de Pearson.
Pour rem´edier `a cela, nous utilisons une formule simplifi´ee
afin d’´eviter de calculer les moyennes pour chaque paire.
Qui est :
PCC(x, y) =
ΣN
k=1xkyk
ΣN
k=1
xkΣN
k=1
yk
N
(ΣN
k=1
x2
k
−
(ΣN
k=1
xk)2
N )(ΣN
k=1
y2
k
−
(ΣN
k=1
yk)2
N )
6.1.2. PR ´EDICTION
Une fois l’identification des voisins effectu´ee, il est
n´ecessaire de proc´eder `a l’´etape suivante qui consiste `a
utiliser les mesures de similarit´es calcul´ees entre chaque
paire pour la pr´ediction. Ayant un utilisateur qui a not´e un
article A et n’a jamais rencontr´e l’article B, nous utilisons
le calcul collaboratif pr´ec´edent afin de pr´edire la possibilit´e
que cet utilisateur appr´ecie ou non le deuxi`eme article et ce
en fonction de la mesure de corr´elation entre les deux arti-
cles.
L’´etape la plus importante dans les m´ethodes de collabora-
tion est la g´en´eration des sorties en termes de pr´edictions.
Une fois que nous avons identifi´e l’ensemble des items sim-
ilaires en utilisant les mesures de similarit´e, l’´etape suiv-
ante est d’utiliser une technique permettant d’obtenir les
pr´edictions d’un utilisateur cible `a partir de l’ensemble des
notes que ce dernier a attribu´e aux autres items. Pour cela,
deux techniques peuvent ˆetre utilis´ees qui sont:
a. La somme pond´er´ee:
Comme son nom l’indique, cette m´ethode permet la
pr´ediction de la note attribu´ee par l’utilisateur u `a un item
i et ceci en calculant la somme des notes attribu´ees par
l’utilisateur aux items similaires `a l’item i. Chaque note
est pond´er´ee par la similarit´e correspondante si,j entre les
deux items i et j. Formellement, Nous pouvons ´ecrire la
pr´ediction Pi,u comme suit:
Pi,u =
Σall similar items,N (si,N ,Ru,N )
Σall similar items,N (|si,N |)
Autrement dit, cette approches permet de pr´edire comment
l’utilisateur cible peut noter les items similaires. La somme
pond´er´ee est ajust´ee par la somme des termes de similarit´e
afin d’assurer que la note pr´edite appartient `a la plage des
valeurs pr´ed´efinie.
b. La r´egression :
Cette approche est similaire `a l’approche de la somme
pond´er´ee. Cependant, au lieu d’utiliser directement les
notes des items similaires, elle utilise une approximation
des notes en se basant sur un mod`ele de r´egression. En
pratique, les similarit´es calcul´e en utilisant la mesure cosi-
nus ou les mesures de corr´elations sont parfois trompeuses
dans le sens o`u deux vecteurs de notes peuvent ˆetre dis-
tants (dans le sens euclidien) cependant peuvent avoir une
grande similarit´e. Dans ce cas, en utilisant les notes brutes
de ces items peut conduire `a une mauvaise pr´ediction.
L’id´ee de base est d’utiliser la mˆeme formule de la tech-
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
Movie Recommendation system
nique pr´ec´edente, mais au lieu d’utiliser les notes brutes
Ru,N de l’item similaire N, cette approches utilise leurs
approximation Ru,N en se basant sur un mod`ele lin´eaire.
Si nous notons les vecteurs respectifs de l’item cible i et
l’item similaire N par Ri et RN , le mod`ele de r´egression
linaire peut ˆetre formul´e comme suit :
RN = αRi + β +
Les param`etres de la r´egression linaire α et β sont `a
d´eterminer `a partir des deux vecteurs de notes. est l’erreur
du mod`ele de r´egression.
Nous avons opt´e pour l’utilisation de la deuxi`eme m´ethode
qui permet de palier aux probl`emes qui peuvent avoir lieux
en utilisant la mesure de similarit´e PCC.
6.1.3. PREMI `ERES EXP ´ERIMENTATIONS
Les donn´ees sur lesquelles nous avons lanc´e nos algo-
rithmes sont extraites d’une comp´etition Kaggle [4]. Cette
base contient un ensemble de films choisit al´eatoirement
et not´e par un ensemble d’utilisateurs. Ces notes varient
entre 0 et 5. Chaque instance dans la base est repr´esent´ee
par un tripl´e (userid, movieid, rating) o`u le nombre total
d’instances est 4 000 056, ce qui repr´esente seulement 2%
des notes possibles.
Nous commenc¸ons tout d’abord par identifier les films les
plus not´es en les affichant par ordre d´ecroissant, cela nous
permet d’avoir une id´ee sur les articles qui peuvent nous
apporter des informations utiles. Le tableau ci-dessous
repr´esente les cinq premiers articles les plus not´es :
Table 1. Les films les plus populaires
FILM NOMBRE DES NOTES
AMERICAN BEAUTY 1684
STAR WARS: EPISODE V 1585
STAR WARS: EPISODE IV 1573
BACK TO THE FUTURE 1396
THE MATRIX 1373
De la mˆeme mani`ere, nous poursuivons par l’extraction des
identifiants des utilisateurs les plus actifs (ayants attribuer
le plus des notes). Ces derniers sont les utilisateurs qui
peuvent nous apporter le maximum de gain d’informations
sur les films.
Table 2. Les utilisateurs les plus actifs
ID DE L’UTILISATEUR NOMBRE FILMS NOT ´ES
3618 1344
5795 1272
4344 1271
4510 1240
4227 1222
Prenons par exemple les deux films : ”The Empire Strikes
Back” (1980) et ”Return of the Jedi” (1983). Afin de
mesurer leur corr´elation, nous proc´edons par l’extraction
des utilisateurs ayants not´e ces derniers. Nous remarquons
que parmi les utilisateurs, 1167 utilisateurs ont not´e les
deux films. Dans ce cas, chaque film sera d´ecrit par un
vecteur de dimension ´egale `a 1167, ou chaque ´el´ement i
repr´esente une note attribu´e par un utilisateur i. Ainsi, La
corr´elation calcul´ee ente les deux films est ´egale `a 0.73 ce
qui indique qu’ils sont similaires.
Nous ´etendons notre syst`eme afin de calculer la similarit´e
entre chaque paire de films dans notre base. Le tableau ci-
dessous repr´esente les cinq premiers r´esultats de calcule de
corr´elation entre les films :
Table 3. Les films les plus similaires
FILM A FILM B CORR ´ELATION
RET. OF THE JEDI EMP. STRIKES BACK 0.787
STAR TREK STAR TREK III 0.758
STAR TREK STAR TREK V 0.720
STAR WARS RET. OF THE JEDI 0.687
STAR TREK VI STAR TREK III 0.635
Ces mesures de corr´elation nous permettent d’avoir plus
d’information sur les films. Par exemple, les utilisateurs qui
ont aim´e Return of the Jedi vont aussi aimer Empire Strikes
back et vice versa, les utilisateurs qui n’ont pas donn´e de
bonne notes au premier film, vont donner une mauvaise
note au second.
Nous avons aussi remarqu´e que bien que les deux s´eries
StarWars et StarTrek appartiennent `a la mˆeme cat´egorie,
la mesure de similarit´e entre les deux est faible ( 0.08
entre Star Trek V et Empire Strikes back par exemple).
Cela implique que l’utilisation des m´ethodes collaboratives
nous permet d’exploiter d’autres caract´eristiques permet-
tant d’avoir des informations plus pertinentes sur les arti-
cles qu’en se basant uniquement sur le contenu des films
par exemple. En effet, visiblement les utilisateurs ayant
aim´e StarWars ne recommanderaient pas les StarTrek
Il est donc possible de recommander des films aux utilisa-
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
Movie Recommendation system
teurs n’ayant jamais vu ces films. Prenons par exemple un
utilisateur ayant donn´e une bonne note `a StarWars V, les
films les plus similaires qui vont ˆetre recommand´e `a celui-
ci sont repr´esent´es par la figure ci dessous:
Figure 1. Les films les plus corr´el´es avec StarWars V.
Concernant la m´ethode de filtrage collaboratif ’Memory-
Based’ bas´ee item-item traditionnelle d´ecrite jusqu’`a
pr´esent, la structure des descripteurs est sous la forme
d’un vecteur multidimensionnel. Avec ce point de vue,
cependant, les vecteurs sont de tr`es grande dimension.
L’´etape suivante de ce projet kaggle est d’impl´ementer
la m´ethode bas´ee user-item en utilisant la technique de
factorisation matricielle (SVD). En raison de la complexit´e
computationnelle de la m´ethode bas´ee item-item, le choix
d’une m´ethode de factorisation s’est donc impos´e de
lui-mˆeme afin d’acc´el´erer le traitement et ce en appliquant
une r´eduction de dimension.
6.2. Model-Based Collaborative Filtering
Les m´ethodes de collaboration Memory based utilisent
la corr´elation entre une paire d’items dans le cas item-
item, ou une paire d’utilisateurs dans le cas user-user.
Ce m´ecanisme utilise les notes attribu´ees par les utilisa-
teur afin de calculer les similarit´es entre les utilisateurs
ou items. Cependant, les m´ethodes collaboratives Model
based utilisent les informations RS afin de g´en´erer les
pr´ediction. Contrairement au m´ethodes Memory based, ces
m´ethodes n’utilisent pas l’int´egralit´e de la base de donn´ees
pour calculer les pr´ediction des donn´ees r´eelles.
Il existe plusieurs algorithmes de filtrage collaboratif : les
Models based tels que Les r´eseaux bay´esiens, les mod`eles
de clustering, les ”Latent Semantic Models” tels que la
d´ecomposition en valeurs singuli`eres (SVD), l’analyse en
composantes principales (PCA) et la factorisation ma-
tricielle probabiliste pour la r´eduction de dimension de la
matrice contenant les notes des utilisateurs.
6.2.1. FACTORISATION MATRICIELLE
Les premiers algorithmes de filtrage collaboratif pour les
syst`emes de recommandation ´etaient bas´es sur l’inf´erence
d’associations, qui poss`ede une complexit´e temporelle tr`es
´elev´ee et une tr`es faible flexibilit´e (´evolutivit´e). En effet,
les impl´ementations ainsi que les algorithmes de filtrage
collaboratif pour les applications des syst`emes de recom-
mandation sont confront´es `a plusieurs d´efis. Le premier
est la taille des ensembles de donn´ees `a traiter. Le sec-
ond provient de la raret´e de la notation matricielle, ce qui
signifie que pour chaque utilisateur seul un petit nombre
d’´el´ements est not´e. C’est pour cette raison que de nou-
velles m´ethodes plus ´evolutive et plus efficace bas´ees sur
des op´erations matricielles ont ´et´e introduite. En effet, `a
l’aide de ces m´ethodes les d´efis rencontr´es sont mieux pris
en charge par la factorisation matricielle.
La factorisation matricielle joue un rˆole important dans
le filtrage collaboratif pour les syst`emes de recomman-
dation. Cette m´ethode est consid´er´ee principalement
comme ´etant une m´ethode d’apprentissage non supervis´e
pour la d´ecomposition en variable latente et la r´eduction
de dimensionnalit´e. La pr´ediction de notes ainsi que
la recommandation peuvent ˆetre obtenues par un large
´eventail d’algorithmes, tandis que les m´ethodes dites ”
Neighborhood-based Collaborative Filtering ” sont simples
et intuitives. Les techniques de factorisation de matrices
sont g´en´eralement plus efficaces car ces derni`eres permet-
tent de d´ecouvrir les caract´eristiques latentes sous-jacentes
des interactions entre les utilisateurs et les items. C’est
donc un outil math´ematique permettant de manipuler des
matrices, et est donc applicable dans de nombreux domaine
en particulier lorsque l’on d´esire trouver une information
latente contenue au niveau des donn´ees. Parmi les mod`eles
de factorisation bien connus on retrouve SVD et PCA qui
permettent d’identifier les facteurs latents dans le domaine
de la recherche d’information et ce dans le but de faire face
aux d´efis de filtrage collaboratif.
La plupart des mod`eles MF sont bas´es sur le mod`ele
de facteur latent [7]. Cette approche de factorisation
est consid´er´ee comme ´etant l’approche la plus pr´ecise
pour r´eduire le probl`eme des niveaux ´elev´es de parci-
monie dans les bases de donn´ees des syst`emes de recom-
mandation, et ce en utilisant parfois des techniques de
r´eduction de la dimensionnalit´e. Pour ce faire, il est
g´en´eralement n´ecessaire de combiner deux techniques :
une m´ethode bas´ee sur un mod`ele d’indexation s´emantique
latente (LSI) et une m´ethode de r´eduction de la dimen-
sionnalit´e Singular Value D´ecomposition (SVD) [7] [8].
Il est `a noter que les m´ethodes de type SVD et PCA sont
consid´er´ees comme ´etant les techniques bien ´etablies pour
l’identification des facteurs latents dans le domaine de la
recherche d’information. Ces m´ethodes sont donc dev-
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
Movie Recommendation system
enues populaires et ce en combinant une bonne ´evolutivit´e
i.e. ”scalabilit´e” avec une pr´ecision pr´edictive et offrent
beaucoup de flexibilit´e pour mod´eliser diverses applica-
tions de la vie r´eelle.
6.2.2. M´ETHODOLOGIE
Nous disposons tout d’abord d’un ensemble d’utilisateurs
not´e U, et un ensemble d’items not´e I. Soit R la matrice
de taille |U| × |I| contenant toutes les ´evaluations que les
utilisateurs ont affect´ees aux articles. Le but consiste donc
`a trouver deux matrices, P(|U|×K) et Q(|I|×K) de telle
sorte que leur produit soit ´egal approximativement `a R:
R ≈ P × QT
= R
De cette fac¸on, les mod`eles de factorisation matricielle
mappent les utilisateurs ainsi que les items `a un espace
de facteur latent commun de dimension f et permet donc
de mod´eliser les interactions utilisateur-item comme un
produit interne dans cet espace [9]. Par cons´equent,
chaque ´el´ement i est associ´e `a un vecteur qi ∈ Rf
,
et chaque utilisateur u est associ´e `a un vecteur pu ∈
Rf
. Pour un item donn´e i, les ´el´ements de qi mesurent
l’importance pour lequel cet item poss`ede des facteurs
positifs ou n´egatifs. Le r´esultat du produit point `a point
qT
i pu capture l’interaction entre l’utilisateur u et l’item i,
cela repr´esente donc l’int´erˆet global que porte l’utilisateur
en question aux caract´eristiques de l’item i. Cela permet
donc d’approximer le score que l’utilisateur u attribuerait `a
l’item i qui est d´esign´ee par rij Cela nous m`ene `a estimer:
rij = pT
i qj = Σk
k=1pi,kqk,j
Il s’agit maintenant de trouver un moyen d’obtenir P et Q.
Une approche permettant de r´esoudre ce probl`eme est de
commencer par initialiser les deux matrices `a des valeurs
al´eatoires, calculer `a quel point leur produit est diff´erent de
M, puis de minimiser cette diff´erence it´erativement. Cette
m´ethode est appel´ee descente du gradient et sert `a trouver
le minimum local de la diff´erence.
La diff´erence ici, g´en´eralement appel´ee l’erreur entre la
note estim´ee et la note r´eelle et peut ˆetre calcul´ee en util-
isant la formule suivante pour chaque paire utilisateur-item
:
e2
ij = (rij − rij)2
= (rij − ΣK
k=1pi,kqk,j)2
nous consid´erons l’erreur quadratique car la note estim´ee
peut ˆetre plus grande ou plus petite que la note r´eelle.
Afin de minimiser l’erreur, nous devons savoir dans quelle
direction nous devons minimiser les valeurs de pi,k et qk,j.
Autrement dit, nous devons savoir la direction du gradient
au niveau des valeurs actuelles, et donc il est n´ecessaire de
d´eriver l’´equation ci-dessus par rapport aux deux variables
s´epar´ement :
d
dpi,k
e2
ij = −2((rij − rij)(qk,j) = −2eijqk,j
d
dqk,j
e2
ij = −2((rij − rij)(pi,k) = −2eijpi,k
Ayant le gradient, nous pouvons formuler les r`egles de mise
`a jour de pi,k et qk,j comme suit :
pi,k = pi,k + α d
dpi,k
e2
ij = pi,k + 2αeijqk,j
qk,j = qk,j + α d
dqk,j
e2
ij = qk,j + 2αeijpi,k
Ici, α est une constante dont la valeur d´etermine le pas `a
prendre pour atteindre la valeur minimale. D’une mani`ere
g´en´erale, la valeur de α doit ˆetre petite, en effet, une grande
valeur pourrait ne pas atteindre le minimum.
En utilisant la formule de mise `a jour ci-dessus, nous pou-
vons effectuer l’op´eration de minimisation it´erativement
jusqu’`a ce que l’erreur converge vers son minimum.
Nous pouvons v´erifier l’erreur globale calcul´ee en utilisant
l’´equation suivante et d´eterminer quand il est n´ecessaire
d’arrˆeter le processus :
E = Σ(ui,dj ,ri,j )∈T ei,j =
Σ(ui,dj ,ri,j )∈T (rij − ΣK
k=1pi,kqk,j)2
O`u T repr´esente l’ensemble de tuples observ´e de la forme
(ui, dj, ri,j), qui repr´esentent respectivement l’utilisateur
i, l’item j, la note attribu´e par i `a j.
6.2.3. R´EGULARISATION
Afin d’´eviter le ph´enom`ene de sur-apprentissage, nous
ajoutons un terme de r´egularisation `a la fonction de coˆut
comme suit :
e2
i,j = (rij − ΣK
k=1pi,kqk,j)2
+ β
2 ΣK
k=1( P 2
+ Q 2
)
Le param`etre β est utilis´e afin de contrˆoler les magnitudes
des vecteurs de caract´eristiques des utilisateurs et des items
( user-feature et item-feature) de telle mani`ere que Q et
P donnent une meilleure approximation de R sans avoir `a
contenir de grands nombres.
De la mˆeme mani`ere, nous obtenons les nouvelles r`egles de
mise `a jours :
pi,k = pi,k + α d
dpi,k
e2
ij = pi,k + α(2eijqk,j − βpi,k)
qk,j = qk,j + α d
dqk,j
e2
ij = qk,j + α(2eijpi,k − βqk,j)
Dans notre cas, nous avons choisi les valeurs de α et de β
par validation crois´ee (voir la section suivante).
7. Exp´erimentations
Nous avons commenc´e nos exp´erimentations par deviser
l’ensemble des donn´ees en deux sous ensembles apprentis-
sage et tests. Pour cela, nous avons introduit une variable
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
Movie Recommendation system
x qui d´etermine le pourcentage de donn´ees utilis´ees pour
l’apprentissage et pour les tests. Une valeur x = 0.8 in-
dique 80% des donn´ees d’apprentissage et 20% de tests.
L’ensemble des donn´ees contenant 4000056 instances a ´et´e
converti en une matrice A de la forme utilisateur-item ayant
12022 lignes (utilisateurs) et 17241 colonnes (films qui ont
´et´e not´e par au moins un utilisateur).
Pour nos exp´erimentation, nous avons aussi pris en con-
sid´eration un facteur qui est le niveau de parcimonie de la
base de donn´ees. Pour une matrice de donn´ees A, ce facteur
est d´efini par :
Niveau parcimonie = 1 − entree−non−nulles
totalite−d entrees
Dans notre cas, le niveau de parcimonie est ´egale `a :
Niveau parcimonie = 1 − 4000056
12022x17241 = 0, 9807
Avant de commencer l’´evaluation exp´erimentale compl`ete
des diff´erents algorithmes, nous d´eterminons la sensi-
bilit´e des diff´erents param`etres pour les diff´erentes ap-
proches. Ces param`etres incluent le step-size α , le taux
de r´egularisation β ainsi que le ratio d’apprentissage/test x.
Nous d´eterminons par la suite l’ensemble des valeurs opti-
males `a partir des graphes obtenus.
Afin de d´eterminer la sensibilit´e des param`etres, nous tra-
vaillons seulement sur l’ensemble d’apprentissage en le
subdivisant encore en deux sous ensembles (apprentis-
sage et tests) et effectuons nos exp´erimentations sur ces
derniers. Ainsi, nous avons effectu´e une cross-validation
en 5 folds, en choisissant al´eatoirement diff´erents ensem-
bles d’apprentissage et de test.
7.1. Environnement de d´eveloppement
l’ensemble de nos algorithmes ont ´et´e impl´ement´es
sous python en utilisant les librairies NUMPY et
GRAPHLAB[7]. Nous avons effectu´e toutes nos
exp´eriences sur machine ayant une processeur intel i7 `a 2.4
Ghz et ayant 8gb de m´emoire.
7.2. Mesure de performance
Il existe plusieurs mesures de performances utilis´ees dans
le domaine des syst`emes de recommandation. Ces mesures
peuvent ˆetre divis´ees en deux cat´egories :
7.2.1. DECISION SUPPORT
Ce type de mesures permet d’´evaluer `a quel point le
syst`eme de pr´ediction est efficace et `a quel point celui-ci
permet d’effectuer un choix coh´erent d’items `a proposer
aux utilisateurs. Cette mesure suppose que le processus de
pr´ediction est une op´eration binaire : soit les items sont cor-
rectement pr´edits (i.e. bons) ou non (i.e. mauvais). Avec
cette observation, Un item ayant un score de pr´ediction de
1,5 ou 2,5 sur 5 est sans importance si l’utilisateur choisit
de consid´erer que les pr´ediction de 4 ou plus. Les m´ethodes
les plus utilis´ees sont reversal rate et ROC sensitivity.
7.2.2. MESURE STATISTIQUE
Cette mesure de pr´ecision Permet d’´evaluer la pr´ecision
d’un syst`eme en comparant les notes pr´edites avec les notes
r´eelles attribu´ees par les utilisateurs. La mesure Root Mean
Squared Error RMSE est parmi les plus utilis´ees, une pe-
tite valeur de RMSE indique un syst`eme plus pr´ecis. Dans
notre cas, nous avons modifi´e cette mesure en ajoutant un
terme r´egularisation afin d’´eviter le sur-apprentissage et fa-
voriser le mod`ele le moins complexe.
7.3. R´esultats
Dans cette section nous pr´esentons non r´esultats
d’exp´erimentations de nos syst`emes de pr´ediction
collaborative bas´ee m´emoire (dans notre cas item-item
based) et bas´ee mod`ele (factorisation matricielle). Nous
commenc¸ons tout d’abord par comparer l’effet de
l’utilisation des diff´erents mesures de similarit´es dans la
premi`ere approche (item-item). Par la suite, nous utilis-
erons la meilleure mesure afin de comparer l’approche
collaborative bas´ee m´emoire et notre baseline. Dans
la derni`ere partie nous d´eterminons la sensibilit´e des
diff´erents param`etres de l’approche bas´ee mod`ele (fac-
torisation matricielle) en effectuant une cross-validation.
Ainsi, en fixant les param`etres nous comparons les
m´ethodes impl´ement´ees avec la baseline en terme de
pr´ecision. La mesure de pr´ecision utilis´ee `a travers les
exp´erimentation est RMSE avec un terme de r´egularisation.
7.4. Effets d’algorithmes de similarit´e
Nous avons impl´ement´e trois algorithmes de similarit´e
diff´erents qui sont : cosinus, la version am´elior´ee de Pear-
son Correlation Coefficient (permettant un calcule moins
couteux en terme de temps d’ex´ecution) et la distance eucli-
dienne. Les r´esultats sont repr´esent´es dans l’histogramme
suivant:
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
Movie Recommendation system
Figure 2. Les performances relatives au diff´erents mesures de
similarit´e
En observant les r´esultats, nous remarquons que la valeur
RMSE associ´ee `a la mesure PCP est la plus petite. Nous
d´eduisons donc que la mesure PCP donne la meilleure per-
formance.
Nous avons dans ce qui suit, opt´e pour l’utilisation de
la mesure de similarit´e PCP. La figure 3 montre les per-
formances obtenues par la premi`ere approche (item-item
memory based) et l’algorithme de baseline d´ecrit dans le
point 4 de ce projet.
Figure 3. Les performances obtenues par les deux approches
baseline et item-item memory based
Cependant cette approche reste couteuse en terme de temps
de calcul. Ainsi, ces mesure de similarit´es dans certains
cas ne permettent pas de bien mod´eliser la relation entre
items. C’est pour cette raison que nous avons opt´e pour
l’impl´ementation de l’approche model based collaborative
filtering en utilisant la factorisation matricielle.
7.5. Effets du choix des param`etres
La factorisation matricielle, bien qu’elle soit efficace, sa
performance d´epend fortement des choix des param`etres
intervenants dans le processus d’apprentissage. Nous no-
tons par α le step-size qui intervient dans la descente du
gradient (mise `a jours des param`etres), par β le facteur de
la r´egularisation qui intervient dans le calcule de RMSE.
Les autres param`etres `a prendre en consid´eration sont le
ratio apprentissage/test x qui est fix´e `a 0.8, le nombre de
folds de la validation crois´ee qui est fix´e `a 5 et le nombre
des dimensions de la factorisation est fix´ee `a 5. La figure
4 montre les r´esultats d’ex´ecution de la validation crois´ee
pour diff´erentes valeurs de β.
Figure 4. Cross-validation pour diff´erents valeurs de β
Nous remarquons que la meilleure pr´ecision est obtenue en
utilisant β = 10−5
.
La valeur de α est initialis´e al´eatoirement entre 0 et 1.
Ce param`etre sera mis `a jours tant que le processus con-
verge vers la solution optimale en ex´ecutant `a chaque fois
α = α/2. Ainsi, nous avons opt´e pour l’utilisation de
l’ensemble des param`etres suivants dans la m´ethode de fac-
torisation matricielle:
Param`etre Valeur
Factor Dimension 5
β 0.00001
α 0.0719471 (V.S.I)
n Folds 5
V.S.I: Variable Selon l’Initialisation
La figure 5 montre une comparaison entre l’algorithme
de baseline et les deux m´ethodes impl´ement´ees (memory-
based et model-based) en utilisant les param`etres optimaux.
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
Movie Recommendation system
Figure 5. Les performances obtenues par les deux approches
baseline et item-item memory based
8. Conclusion
Les syst`emes de recommandation ont pour origines une
vari´et´e de domaines de recherche, tel que la recherche
d’information, le filtrage de l’information. Ils repr´esentent
une mani`ere innovante et puissante d’extraire des valeurs
partir de bases de donn´ees utilisateur. Ces syst`emes
aident les utilisateurs `a trouver les articles qu’ils souhait-
ent acheter. En effet, ces syst`emes font ainsi b´en´eficier
les utilisateurs en leur permettant de trouver les articles
qu’ils aiment. Tout en aidant ´egalement l’entreprise en
g´en´erant plus de ventes. Les syst`emes de recommanda-
tion sont en train de devenir un outil essentiel dans le com-
merce ´electronique sur le Web. Cependant, ces syst`emes
souffrent de l’´enorme volume de donn´ees utilisateur con-
tenu les bases de donn´ees existantes. Ces derniers en souf-
friront d’avantage ´etant donn´e la croissance du volume de
donn´ees utilisateur disponibles sur le Web qui est `a pr´evoir.
C’est pour cette raison que de nouvelles m´ethodes ont ´et´e
introduites afin de permettre d’am´eliorer consid´erablement
l’´evolutivit´e de ces syst`emes.
Dans ce projet, nous avons impl´ement´e diff´erentes
mani`eres de pr´edire `a quel point un utilisateur risque
d’appr´ecier un article. Nous avons ´egalement pr´esent´e
nos exp´erimentations et la mani`ere dont nous avons ´evalu´e
chaque algorithme mod´elisant un syst`eme de recomman-
dation. Les r´esultats obtenus montrent que les techniques
(memory-based) bas´ees sur le calcul de similarit´e bien
qu’elles soient efficaces restent couteuses en terme de
temps de calcul. Ainsi, leurs efficacit´e est relative `a la
mesure de similarit´e utilis´ee. Les m´ethodes (model-based)
quand `a elles, sont beaucoup moins couteuses en temps
d’ex´ecution et cela est du `a la factorisation matricielle.
Nous avons montr´e comment palier au ph´enom`ene de sur-
apprentissage en ajoutant un terme r´egularisation `a la fonc-
tion loss. Ainsi, la cross-validation nous a permet de choisir
les param`etres optimaux pour le syst`eme.
R´ef´erences
[1] Gediminas Adomavicius and Alexander Tuzhilin
”Toward the Next Generation of Recommender Systems:
A Survey of the State-of-the-Art and Possible Extensions”
IEEE Transactions on Knowledge, Vol 17, No 6, June 2005
[2] Dan R. Greening ”Building Consumer Trust with
Accurate Product Recommendations”, A White Paper on
LikeMinds Personalization Server
[3] D. Billsus and M. J. Pazzani, “Learning collabora-
tive information filters,” in AAAI 2008 Workshop on Rec-
ommender Systems, 1998.
[4] S. Funk, “Netflix update: Try this at home,”
http://sifter.org/˜ simon/journal/20061211.html, Archived
by WebCite at http://www. webcitation.org/5pVQphxrD,
December 2006.
[5] Royi Ronen, Noam Koenigstein, Elad Ziklik, Mikael
Sitruk, Ronen Yaari, Neta Haiby-Weiss, “Sage: Recom-
mender Engine as a Cloud Service,” Published in ACM
RecSys’13, Hong Kong, China, ACM 978- 1-4503-2409-
0/13/10, c ACM, October 12–16, 2013.
[6] GraphLab API, a DAT OT M machine learning
toolkit that provides users with state-of-theart algorithms
for classification. Version 1.8.0 https ://dato.com/
[7] David Goldberg, David Nichols, Brian M. Oki and
Douglas Terry, “Using Collaborative Filtering to Weave an
Information Tapestry,” Communications of the ACM, Vol.
35, No.12, December 1992.
[8] Yehuda Koren, “Matrix Factorization Techniques for
Recommender Systems,” Published by the IEEE Computer
Society, IEEE 0018-9162/09, pp. 42- 49, c IEEE, August
2009.
[9] Ruslan Salakhutdinov and Andriy Mnih, “Proba-
bilistic Matrix Factorization,” Published in the Proceed-
ings of Neural Information Processing Systems Foundation
(NIPS’07), December 4, 2007.

Contenu connexe

Similaire à Movie Recommendation system

Propos sur les si décisionnels.
Propos sur les si décisionnels.Propos sur les si décisionnels.
Propos sur les si décisionnels.Michel Bruley
 
Mémoire de recherche - Le comportement du consommateur sur le web
Mémoire de recherche - Le comportement du consommateur sur le webMémoire de recherche - Le comportement du consommateur sur le web
Mémoire de recherche - Le comportement du consommateur sur le webJérôme Lacoste
 
Datajob 2013 - Construire un système de recommandation
Datajob 2013 - Construire un système de recommandationDatajob 2013 - Construire un système de recommandation
Datajob 2013 - Construire un système de recommandationDjamel Zouaoui
 
Refonte Intranet: Une approche objective centrée sur l'utilisateur
Refonte Intranet: Une approche objective centrée sur l'utilisateurRefonte Intranet: Une approche objective centrée sur l'utilisateur
Refonte Intranet: Une approche objective centrée sur l'utilisateurChantale Laberge
 
Veille analyse-des-reseaux-sociaux-livre-blanc
Veille analyse-des-reseaux-sociaux-livre-blancVeille analyse-des-reseaux-sociaux-livre-blanc
Veille analyse-des-reseaux-sociaux-livre-blancAlex Suter
 
Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...
Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...
Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...COMPETITIC
 
PFC L3 2018.pptx
PFC L3 2018.pptxPFC L3 2018.pptx
PFC L3 2018.pptxNAbderrahim
 
L'Intelligence Economique concrète : recettes & bonnes pratiques
L'Intelligence Economique concrète :  recettes & bonnes pratiquesL'Intelligence Economique concrète :  recettes & bonnes pratiques
L'Intelligence Economique concrète : recettes & bonnes pratiquesInter-Ligere
 
L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...
L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...
L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...ALTICS
 
Mtl apptalks ux mobile et ucd - janvier 2014
Mtl apptalks   ux mobile et ucd - janvier 2014Mtl apptalks   ux mobile et ucd - janvier 2014
Mtl apptalks ux mobile et ucd - janvier 2014Loic Nunez
 
Ergonomie des IHM web - Grille d'analyse de Bastien et Scapin
Ergonomie des IHM web - Grille d'analyse de Bastien et ScapinErgonomie des IHM web - Grille d'analyse de Bastien et Scapin
Ergonomie des IHM web - Grille d'analyse de Bastien et ScapinElodieDescharmes
 
Veille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du tempsVeille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du tempsVincent Pereira
 
Veille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du tempsVeille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du tempsVincent Pereira
 
Reperes le quali en ligne, opportunités et challenge pour le qualitativiste...
Reperes   le quali en ligne, opportunités et challenge pour le qualitativiste...Reperes   le quali en ligne, opportunités et challenge pour le qualitativiste...
Reperes le quali en ligne, opportunités et challenge pour le qualitativiste...François Abiven
 
JABES 2017 - Synthèse des échanges de la session parallèle
JABES 2017 - Synthèse des échanges de la session parallèleJABES 2017 - Synthèse des échanges de la session parallèle
JABES 2017 - Synthèse des échanges de la session parallèleABES
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfamine17157
 
Gouvernance et stratégie des systèmes d'Information
Gouvernance et stratégie des systèmes d'InformationGouvernance et stratégie des systèmes d'Information
Gouvernance et stratégie des systèmes d'InformationKLSELLAMI
 
Analyser les données Analytics de mon site
Analyser les données Analytics de mon siteAnalyser les données Analytics de mon site
Analyser les données Analytics de mon siteConcept Image
 
Duchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache MahoutDuchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache MahoutMichaël Figuière
 

Similaire à Movie Recommendation system (20)

Propos sur les si décisionnels.
Propos sur les si décisionnels.Propos sur les si décisionnels.
Propos sur les si décisionnels.
 
Conception d'un Extranet
Conception d'un ExtranetConception d'un Extranet
Conception d'un Extranet
 
Mémoire de recherche - Le comportement du consommateur sur le web
Mémoire de recherche - Le comportement du consommateur sur le webMémoire de recherche - Le comportement du consommateur sur le web
Mémoire de recherche - Le comportement du consommateur sur le web
 
Datajob 2013 - Construire un système de recommandation
Datajob 2013 - Construire un système de recommandationDatajob 2013 - Construire un système de recommandation
Datajob 2013 - Construire un système de recommandation
 
Refonte Intranet: Une approche objective centrée sur l'utilisateur
Refonte Intranet: Une approche objective centrée sur l'utilisateurRefonte Intranet: Une approche objective centrée sur l'utilisateur
Refonte Intranet: Une approche objective centrée sur l'utilisateur
 
Veille analyse-des-reseaux-sociaux-livre-blanc
Veille analyse-des-reseaux-sociaux-livre-blancVeille analyse-des-reseaux-sociaux-livre-blanc
Veille analyse-des-reseaux-sociaux-livre-blanc
 
Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...
Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...
Competitic - Numerique en entreprise - Surveillez votre marché et vos concurr...
 
PFC L3 2018.pptx
PFC L3 2018.pptxPFC L3 2018.pptx
PFC L3 2018.pptx
 
L'Intelligence Economique concrète : recettes & bonnes pratiques
L'Intelligence Economique concrète :  recettes & bonnes pratiquesL'Intelligence Economique concrète :  recettes & bonnes pratiques
L'Intelligence Economique concrète : recettes & bonnes pratiques
 
L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...
L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...
L'e-Merchandising personnalisé: Les enjeux de la recommandation pour le e-Com...
 
Mtl apptalks ux mobile et ucd - janvier 2014
Mtl apptalks   ux mobile et ucd - janvier 2014Mtl apptalks   ux mobile et ucd - janvier 2014
Mtl apptalks ux mobile et ucd - janvier 2014
 
Ergonomie des IHM web - Grille d'analyse de Bastien et Scapin
Ergonomie des IHM web - Grille d'analyse de Bastien et ScapinErgonomie des IHM web - Grille d'analyse de Bastien et Scapin
Ergonomie des IHM web - Grille d'analyse de Bastien et Scapin
 
Veille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du tempsVeille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du temps
 
Veille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du tempsVeille sur Internet, les outils qui font gagner du temps
Veille sur Internet, les outils qui font gagner du temps
 
Reperes le quali en ligne, opportunités et challenge pour le qualitativiste...
Reperes   le quali en ligne, opportunités et challenge pour le qualitativiste...Reperes   le quali en ligne, opportunités et challenge pour le qualitativiste...
Reperes le quali en ligne, opportunités et challenge pour le qualitativiste...
 
JABES 2017 - Synthèse des échanges de la session parallèle
JABES 2017 - Synthèse des échanges de la session parallèleJABES 2017 - Synthèse des échanges de la session parallèle
JABES 2017 - Synthèse des échanges de la session parallèle
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdf
 
Gouvernance et stratégie des systèmes d'Information
Gouvernance et stratégie des systèmes d'InformationGouvernance et stratégie des systèmes d'Information
Gouvernance et stratégie des systèmes d'Information
 
Analyser les données Analytics de mon site
Analyser les données Analytics de mon siteAnalyser les données Analytics de mon site
Analyser les données Analytics de mon site
 
Duchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache MahoutDuchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache Mahout
 

Movie Recommendation system

  • 1. 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 Movie Recommendation system by OUKID In`es and BELOUADAH Sakher Abstract Les syst`emes de recommandation dans le com- merce ´electroniques deviennent de plus en plus importants en raison du grand nombre de choix que les consommateurs confrontent. En g´en´erale, les syst`emes de recommandation pren- nent d’abord un ensemble d’entr´ees, qui pour- rait repr´esenter les profils d’utilisateurs, un en- semble d’articles not´es, etc., puis identifient les analogies entre les entr´ees et passent les paires similaires pour la pr´ediction. Parmi les tech- niques utilis´ees dans la construction des syst`emes de recommandation, le filtrage collaboratif est l’une des approches les plus prometteuses. Dans ce rapport, nous aborderons les d´efis de la con- struction d’un syst`eme de recommandation ef- ficace et utile `a partir d’un grand ensemble de donn´ees, par la suite nous discuterons de notre approche d’identification des voisins ainsi que nos m´ethodes de pr´ediction. Nous pr´esenterons ´egalement les r´esultats de notre exp´erience en ´evaluant la pr´ecision de nos algorithmes. 1. Introduction La quantit´e d’informations g´en´er´ee par Internet ´evolue si rapidement que les Internautes se sentent vite d´epass´es. Cela repr´esente un probl`eme majeur pour le commerce ´electronique, car les acheteurs en ligne ne peuvent tout sim- plement pas explorer et comparer l’ensemble des produits propos´es. C’est pr´ecis´ement dans ce contexte et dans le but de r´esoudre ce probl`eme que les syst`emes de recom- mandation ont ´et´e introduits. Diff´erentes approches ont donc ´et´e propos´e parmi ces techniques existantes, le filtrage collaboratif est l’une des approches les plus prometteuses permettant ainsi de construire des syst`emes de recomman- dation. Le filtrage collaboratif recueille les pr´ef´erences de l’utilisateur pour des articles, recherche un ensemble d’utilisateurs voisins ayant les mˆemes pr´ef´erences et par la suite d´eduit la note (ou l’appr´eciation) d’un article donn´e Preliminary work. Under review by the International Conference on Machine Learning (ICML). Do not distribute. en se basant sur les informations collect´ees. Le principe fondamental de ces syst`emes est de recommander les pro- duits ayants les meilleurs notes `a l’utilisateur en question. Les syst`emes de recommandation sont particuli`erement utiles lorsque les magasins en ligne vendent et proposent un grand nombre de produits appartenant au mˆeme domaine (musique, films, livres...etc.). La recommandation est bas´ee sur les produits d´ej`a not´es par d’autres utilisateurs. Un syst`eme de recommandation utile g´en`ere ´egalement des pr´edictions pr´ecises. Nous allons expliquer ces d´efis plus en d´etails dans les sections qui suivent. Dans ce rapport, nous nous int´eressons aux m´ethodes de collaboration, en particulier les m´ethodes de recommanda- tion bas´es item-item et user-item. 1.1. D´efis Le premier d´efi des syst`emes de recommandation col- laboratif est d’identifier les voisins et ce d’une mani`ere efficace. Ayant un nombre important d’utilisateurs et d’articles (dans notre cas, films), le temps n´ecessaire pour la recommandation doit ˆetre minime dans le cas d’une g´en´eration en temps r´eel. Le processus de calcule de recommandation se fait en deux ´etapes. La premi`ere ´etape consiste `a identifier les voisins des articles que nous essayons de recommander. Dans cette ´etape le syst`eme doit d’abord effectuer une recherche `a travers des milliers d’articles et doit calculer les similarit´es entre les articles candidats et l’article cible. Une fois que le calcul des similarit´es est effectu´e, l’´etape suivante repr´esente l’´etape de pr´ediction qui se base sur les similarit´es obtenues lors de l’´etape 1. La pr´ediction ´etant obtenue, le syst`eme recommandera des articles `a l’utilisateur selon un seuil de similarit´e donn´e. Le deuxi`eme d´efi est de calculer la note et ce avec pr´ecision. Avant d’effectuer la pr´ediction, il est donc n´ecessaire de collecter des informations `a partir des voisins. Cependant, ce calcul de similarit´e entre les articles est une tˆache difficile qui repr´esente ici un des challenges de la recommandation d’articles. Nous pr´esentons dans ce rapport deux approches efficaces de recommandation, tout en d´etaillant les diff´erentes m´ethodes utilis´ees lors de l’impl´ementation permettant de surpasser les probl´ematiques mentionn´ees pr´ec´edemment.
  • 2. 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 Movie Recommendation system 2. ´Etat de l’art Le probl`eme de recommandation d’items dans certaines bases de donn´ees ”fixes” a ´et´e largement ´etudi´e, et deux paradigmes principaux ont ´emerg´e. Dans le ”content-based recommandation” on essaie de recommander des articles similaires `a ceux qu’un utilisateur donn´e a aim´es par le pass´e, alors que dans la recommandation collaborative, on identifie les utilisateurs dont les goˆuts sont similaires `a ceux de l’utilisateur donn´e, par la suite le syst`eme recommande les articles qu’ils ont aim´es. Les syst`emes mettant en œuvre les approches de recom- mandation bas´ees sur le contenu consistent `a analyser un ensemble de documents ou de descriptions d’´el´ements et de construire un mod`ele ou un profil repr´esentatif des int´erˆets des utilisateurs sur la base de caract´eristiques d’articles pr´ec´edemment not´es par un utilisateur. Le profil est une repr´esentation structur´ee des int´erˆets des utilisateurs, utilis´e pour recommander de nouveaux ´el´ements int´eressants. Le processus de recommandation consiste donc essentiellement `a faire correspondre les at- tributs du profil de l’utilisateur aux attributs d’un article. Le r´esultat est un jugement pertinent qui repr´esente le niveau d’int´erˆet de l’utilisateur pour cet article. L’objectif est donc alors de cerner et de comprendre les motivations ayant con- duit l’utilisateur `a juger comme pertinent ou non un item donn´e. Cependant, le ”content-based” montre certains limites. Parmi ces inconv´enients nous citerons: • Analyse limit´ee du contenu: si le contenu ne contient pas suffisamment d’informations pour discriminer les ´el´ements de mani`ere pr´ecise, la recommandation ne sera pas efficace `a la fin. • Les m´ethodes bas´ees sur le contenu fournissent un degr´e de ”nouveaut´e” assez limit´e, car le but est de faire correspondre les caract´eristiques des profils avec celles des items. Par cons´equent le ”content-based fil- tering” quasi parfait ne sugg`ere rien de ”surprenant.” • Nouvel utilisateur: quand il n’y a pas suffisamment d’informations pour ´etablir un profil solide pour un utilisateur, la recommandation ne peut ˆetre fournie de mani`ere correcte. C’est pour ces raisons que nous avons opt´e pour l’impl´ementation des m´ethodes de recommandation collaboratives. Les syst`emes de recommandation bas´es sur le filtrage col- laborative est un sujet bien ´etudi´e. Ces syst`emes essayent de pr´edire les notes de certains articles pour un utilisateur cible en se basant sur les articles d´ej`a not´es par d’autres utilisateurs [1] et ce en utilisant une mesure de similarit´e bien d´efinie. LikeMinds [2] est une des applications les plus populaires qui utilise le filtrage collaborative. L’algorithme utilis´e prend en entr´ee un utilisateur cible ainsi qu’un ensemble d’utilisateurs candidats, et calcule la similarit´e en se basant sur la diff´erence entre les notes donn´ees par l’utilisateur cible, et celles des candidats. Le candidat ayant le score de similarit´e le plus haut est consid´er´e comme ´etant un mentor pour l’utilisateur cible. Les notes de ce dernier sont par la suite calcul´ees en se basant sur les notes du mentor. 3. Probl`eme de parcimonie Un probl`eme de complexit´e se pose en raison du nom- bre important de notes que le syst`eme doit traiter. Cepen- dant, pour la plupart des syst`emes de recommandations, le fait d’avoir peu de notes repr´esente un probl`eme de plus grande importance. Ce probl`eme se pose lorsqu’un nom- bre cons´equent d’articles est propos´e. En effet, proportion- nellement `a la taille du stock disponible, un nombre r´eduit d’articles est ´evalu´e et ce par un nombre r´eduit d’utilisateur. Par cons´equent seul un pourcentage faible de la totalit´e des articles est not´e. Dans cette situation, il est difficile de trou- ver des utilisateurs qui partagent les mˆemes articles. Ce ph´enom`ene est plus connu sous le nom de probl`eme de parcimonie. Par cons´equent diff´erentes solutions ont donc ´et´e propos´ees afin d’y rem´edier. Parmi elles on retrouve : • Description du contenu : Le descriptif des articles per- met d’augmenter la quantit´e d’information de mani`ere g´en´erale, mais en particulier celle que les utilisa- teurs ont en commun. Cependant, l’utilisation des m´ethodes collaboratives ont montr´e leur efficacit´e par rapport aux m´ethodes bas´ees sur le contenu. • ´Evaluations implicites : Certains syst`emes essaient d’augmenter le nombre d’´evaluations d’un utilisa- teur en se basant sur son comportement. Cependant, l’utilisateur doit imp´erativement explorer l’article avant que le syst`eme puisse en d´eduire la note. • R´eduction de la dimension : En r´eduisant la dimen- sion de l’espace d’information, les notes de deux util- isateurs peuvent ˆetre utilis´ees pour les pr´edictions, mˆeme s’ils ne partagent pas les mˆemes articles. Paz- zani et Billsus [3] ont propos´e une m´ethode de pr´ediction bas´ee sur l’utilisation des r´eseaux de neu- rones au lieu de la corr´elation, o`u les notes des utilisa- teurs sont repr´esent´ees par des matrices bool´eennes. Ces matrices sont par la suite projet´ees dans un es- pace de dimension r´eduite en utilisant l’indexation s´emantique latente. Cette approche bien qu’elle soit efficace fait face `a un probl`eme important qui est la complexit´e computationnel.
  • 3. 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 Movie Recommendation system 4. Basline Nous pr´esentons tout d’abord les m´ethodes de pr´ediction de base. Ces m´ethodes sont utiles pour ´etablir des base- lines non personnalis´ees contre lequel des algorithmes per- sonnalis´es peuvent ˆetre compar´es. Les algorithmes de base ne d´ependent pas des notes des utilisateurs et peuvent ˆetre utiles pour fournir des pr´edictions concernant de nouveaux utilisateurs. Nous notons une pr´ediction de base d’un util- isateur u et un article i par bu,i. L’algorithme de base le plus simple est de pr´edire la note moyenne parmi toutes les ´evaluations dans le syst`eme : bu,i = m ( o`u m est la note moyenne globale ). Ceci peut ˆetre am´elior´e en pr´edisant la note moyenne attribu´ee par l’utilisateur bu,i = ru , pour cet article bu,i = ri. Cette baseline peut ˆetre encore am´elior´ee en combinant la moyenne de l’utilisateur avec l’´ecart moyen de la moyenne des notes que l’utilisateur a attribu´e `a un article sp´ecifique. En g´en´eral, une baseline de la forme suivante peut ˆetre utilis´ee: bu,i = m + bu + bi O`u bu, bi sont les pr´edicteurs de base des utilisateurs et d’articles respectivement. Ces pr´edicteurs peuvent ˆetre d´efinis en utilisant simplement la moyenne des d´ecalages (offsets) de la fac¸on suivante: bu = 1 |Iu| ΣiεIu (ru,i − m) bi = 1 |Ui| ΣuεUi (ru,i − bu − m) Cette baseline peut encore ˆetre am´elior´ee et ce en four- nissant une estimation plus raisonnable des pr´ef´erences des utilisateurs face `a un ´echantillonnage parcimonieux. Cela est fait en introduisant les deux variables βu et βi [4]: bu = 1 |Iu|+βu ΣiεIu (ru,i − m) bi = 1 |Ui|+βi ΣuεUi (ru,i − bu − m) Cet ajustement permet d’avoir une note proche de la note moyenne globale lorsqu’un utilisateur n’a not´e que quelques articles, ou si un article n’a pas ´et´e not´e par plusieurs utilisateurs. Notre choix s’est port´e sur cette baseline en raison de son efficacit´e [4]. 5. Calcul de la similarit´e Le filtrage collaborative est bas´e essentiellement sur la mesure de la similarit´e, d’o`u l’importance d’utiliser un algorithme efficace. Diff´erentes m´ethodes sont utilis´ees et permettent de calculer g´en´eralement la distance ou la corr´elation entre 2 vecteurs. 5.1. Distance de Manhattan: La distace de Manhattan est l’une des m´ethodes les plus simples pour mesurer la distance entre deux points associ´ee `a la norme1. Ayant deux point x et y, la distance entre les deux est d´efinie par: d(x, y) = Σn k=1 | xk − yk | 5.2. Distance Euclidienne Plus intuitive que la distance de Manhattan, la dis- tance euclidienne est consid´er´ee comme ´etant la distance g´eom´etrique dans un espace multidimensionnel. Elle est calcul´ee en utilisant la formule : d(x, y) = Σn k=1(xk − yk)2 5.3. Pearson Correlation Coefficient PCC Ce coefficient est plus complexe que la distance euclidi- enne et la distance Manhattan mais obtient g´en´eralement de meilleurs r´esultats avec des donn´ees non normalis´ees. C’est le cas par exemple lorsque nous avons des utilisateurs qui donnent seulement des mauvaises notes et d’autres qui ne donnent que des bonnes notes. La PCC mesure le nom- bre de fois ou deux variables changent ensemble divis´e par le produit du nombre de fois o`u celles-ci changent individu- ellement. Plus les variables changent ”ensembles” par rap- port `a la fac¸on dont elles changent individuellement, plus elles sont corr´el´ees. pearson(x, y) = Σn k=1(xk−¯x)(yk−¯y) √ Σn k=1 (xk−¯x)2Σn k=1 (xy−¯y)2 5.4. Cosinus La similarit´e cosinus (ou mesure cosinus) permet de cal- culer la similarit´e entre deux vecteurs `a n dimensions en d´eterminant le cosinus de l’angle entre eux. La formule utilis´ee est : cos(Θ) = x.y x ∗ y Dans notre cas, nous avons opt´e pour l’utilisation de la mesure PCC afin de calculer la similarit´e entre les articles. 6. Approches impl´ement´ees Le but de ce projet est d’impl´ementer deux m´ethodes bas´ee recommandation collaborative. Dans ce rapport de mi- parcours les filtrages bas´es item-item et item-user ont ´et´e impl´ement´e et sont pr´esent´es dans ce qui suit :
  • 4. 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 Movie Recommendation system 6.1. Memory-Based Collaborative Filtering(item-item) Cette approche peut ˆetre d´ecrite par : ”les utilisateurs qui ont aim´e ce produit, ont aussi aim´e ...” Le principe est de prendre en entr´ee un ensemble d’articles (films par ex- emple), d’attribuer pour chaque article un vecteur de car- act´eristiques puis de calculer le nombre de fois o`u chaque article est proche ou ´eloign´e des autres articles et ce en se basant sur les descripteurs. Ainsi, les articles sont jug´es proches en fonction de cette similaire. 6.1.1. IDENTIFICATION DES VOISINS Notre but est de savoir `a quel point deux articles sont sim- ilaires. L’id´ee est donc, pour chaque paire de films (arti- cles) A et B, d’extraire l’ensemble des utilisateurs qui ont not´e A et B, de construire deux vecteurs `a partir des notes correspondant `a A et B respectivement puis de calculer la corr´elation entre ces deux vecteurs selon l’algorithme ci- dessous : Algorithm 1 Identification des voisins (item-item) Entr´ees: Films F, Utilisateurs U, Notes NF U Sortie: Matrice de corr´elation Pour chaque deux films A et B dans F: uA,uB=ExtraireUtilisateurs (A,B) communs=Intersect(uA,uB) dA,dB=Descripteurs(communs,uA,uB) correlation(A,B)=Pearson(dA,dB) Fin Pour Ce type de syst`emes est tr`es efficace pour trouver des arti- cles qui sont similaires `a ceux que l’utilisateur aime. Dans le cas r´eel, les utilisateurs ne noteront pas tous les articles par cons´equent on retrouve le probl`eme de parcimonie. La solution propos´ee est d’extraire la liste des utilisateurs qui ont not´e l’article A, et celle des utilisateurs qui ont not´e l’article B, ensuite de trouver l’intersection entre les deux i.e. ”les utilisateurs qui ont not´e les deux articles”. En utilisant ces informations, on construit les descripteurs des deux articles qui sont repr´esent´es par deux vecteurs con- tenant les notes des utilisateurs communs pour chaque arti- cle. L’´etape finale est donc d’identifier les voisins en util- isant la mesure de similarit´e PCC. Les valeurs retourn´ees par PCC varient entre -1 et 1, o`u PCC(A,B) plus grand que z´ero signifie que les deux arti- cles ont une corr´elation positive et donc qu’ils sont simi- laires. L’article A est jug´e comme ´etant un bon voisin de B selon la valeur de PCC qui est `a maximiser. Cependant, le temps de calcul de PCC est important car pour chaque paire d’articles, le syst`eme a besoin d’abord de trouver l’intersection entre uA et uB, de calculer les moyennes, et puis de calculer le coefficient de corr´elation de Pearson. Pour rem´edier `a cela, nous utilisons une formule simplifi´ee afin d’´eviter de calculer les moyennes pour chaque paire. Qui est : PCC(x, y) = ΣN k=1xkyk ΣN k=1 xkΣN k=1 yk N (ΣN k=1 x2 k − (ΣN k=1 xk)2 N )(ΣN k=1 y2 k − (ΣN k=1 yk)2 N ) 6.1.2. PR ´EDICTION Une fois l’identification des voisins effectu´ee, il est n´ecessaire de proc´eder `a l’´etape suivante qui consiste `a utiliser les mesures de similarit´es calcul´ees entre chaque paire pour la pr´ediction. Ayant un utilisateur qui a not´e un article A et n’a jamais rencontr´e l’article B, nous utilisons le calcul collaboratif pr´ec´edent afin de pr´edire la possibilit´e que cet utilisateur appr´ecie ou non le deuxi`eme article et ce en fonction de la mesure de corr´elation entre les deux arti- cles. L’´etape la plus importante dans les m´ethodes de collabora- tion est la g´en´eration des sorties en termes de pr´edictions. Une fois que nous avons identifi´e l’ensemble des items sim- ilaires en utilisant les mesures de similarit´e, l’´etape suiv- ante est d’utiliser une technique permettant d’obtenir les pr´edictions d’un utilisateur cible `a partir de l’ensemble des notes que ce dernier a attribu´e aux autres items. Pour cela, deux techniques peuvent ˆetre utilis´ees qui sont: a. La somme pond´er´ee: Comme son nom l’indique, cette m´ethode permet la pr´ediction de la note attribu´ee par l’utilisateur u `a un item i et ceci en calculant la somme des notes attribu´ees par l’utilisateur aux items similaires `a l’item i. Chaque note est pond´er´ee par la similarit´e correspondante si,j entre les deux items i et j. Formellement, Nous pouvons ´ecrire la pr´ediction Pi,u comme suit: Pi,u = Σall similar items,N (si,N ,Ru,N ) Σall similar items,N (|si,N |) Autrement dit, cette approches permet de pr´edire comment l’utilisateur cible peut noter les items similaires. La somme pond´er´ee est ajust´ee par la somme des termes de similarit´e afin d’assurer que la note pr´edite appartient `a la plage des valeurs pr´ed´efinie. b. La r´egression : Cette approche est similaire `a l’approche de la somme pond´er´ee. Cependant, au lieu d’utiliser directement les notes des items similaires, elle utilise une approximation des notes en se basant sur un mod`ele de r´egression. En pratique, les similarit´es calcul´e en utilisant la mesure cosi- nus ou les mesures de corr´elations sont parfois trompeuses dans le sens o`u deux vecteurs de notes peuvent ˆetre dis- tants (dans le sens euclidien) cependant peuvent avoir une grande similarit´e. Dans ce cas, en utilisant les notes brutes de ces items peut conduire `a une mauvaise pr´ediction. L’id´ee de base est d’utiliser la mˆeme formule de la tech-
  • 5. 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 Movie Recommendation system nique pr´ec´edente, mais au lieu d’utiliser les notes brutes Ru,N de l’item similaire N, cette approches utilise leurs approximation Ru,N en se basant sur un mod`ele lin´eaire. Si nous notons les vecteurs respectifs de l’item cible i et l’item similaire N par Ri et RN , le mod`ele de r´egression linaire peut ˆetre formul´e comme suit : RN = αRi + β + Les param`etres de la r´egression linaire α et β sont `a d´eterminer `a partir des deux vecteurs de notes. est l’erreur du mod`ele de r´egression. Nous avons opt´e pour l’utilisation de la deuxi`eme m´ethode qui permet de palier aux probl`emes qui peuvent avoir lieux en utilisant la mesure de similarit´e PCC. 6.1.3. PREMI `ERES EXP ´ERIMENTATIONS Les donn´ees sur lesquelles nous avons lanc´e nos algo- rithmes sont extraites d’une comp´etition Kaggle [4]. Cette base contient un ensemble de films choisit al´eatoirement et not´e par un ensemble d’utilisateurs. Ces notes varient entre 0 et 5. Chaque instance dans la base est repr´esent´ee par un tripl´e (userid, movieid, rating) o`u le nombre total d’instances est 4 000 056, ce qui repr´esente seulement 2% des notes possibles. Nous commenc¸ons tout d’abord par identifier les films les plus not´es en les affichant par ordre d´ecroissant, cela nous permet d’avoir une id´ee sur les articles qui peuvent nous apporter des informations utiles. Le tableau ci-dessous repr´esente les cinq premiers articles les plus not´es : Table 1. Les films les plus populaires FILM NOMBRE DES NOTES AMERICAN BEAUTY 1684 STAR WARS: EPISODE V 1585 STAR WARS: EPISODE IV 1573 BACK TO THE FUTURE 1396 THE MATRIX 1373 De la mˆeme mani`ere, nous poursuivons par l’extraction des identifiants des utilisateurs les plus actifs (ayants attribuer le plus des notes). Ces derniers sont les utilisateurs qui peuvent nous apporter le maximum de gain d’informations sur les films. Table 2. Les utilisateurs les plus actifs ID DE L’UTILISATEUR NOMBRE FILMS NOT ´ES 3618 1344 5795 1272 4344 1271 4510 1240 4227 1222 Prenons par exemple les deux films : ”The Empire Strikes Back” (1980) et ”Return of the Jedi” (1983). Afin de mesurer leur corr´elation, nous proc´edons par l’extraction des utilisateurs ayants not´e ces derniers. Nous remarquons que parmi les utilisateurs, 1167 utilisateurs ont not´e les deux films. Dans ce cas, chaque film sera d´ecrit par un vecteur de dimension ´egale `a 1167, ou chaque ´el´ement i repr´esente une note attribu´e par un utilisateur i. Ainsi, La corr´elation calcul´ee ente les deux films est ´egale `a 0.73 ce qui indique qu’ils sont similaires. Nous ´etendons notre syst`eme afin de calculer la similarit´e entre chaque paire de films dans notre base. Le tableau ci- dessous repr´esente les cinq premiers r´esultats de calcule de corr´elation entre les films : Table 3. Les films les plus similaires FILM A FILM B CORR ´ELATION RET. OF THE JEDI EMP. STRIKES BACK 0.787 STAR TREK STAR TREK III 0.758 STAR TREK STAR TREK V 0.720 STAR WARS RET. OF THE JEDI 0.687 STAR TREK VI STAR TREK III 0.635 Ces mesures de corr´elation nous permettent d’avoir plus d’information sur les films. Par exemple, les utilisateurs qui ont aim´e Return of the Jedi vont aussi aimer Empire Strikes back et vice versa, les utilisateurs qui n’ont pas donn´e de bonne notes au premier film, vont donner une mauvaise note au second. Nous avons aussi remarqu´e que bien que les deux s´eries StarWars et StarTrek appartiennent `a la mˆeme cat´egorie, la mesure de similarit´e entre les deux est faible ( 0.08 entre Star Trek V et Empire Strikes back par exemple). Cela implique que l’utilisation des m´ethodes collaboratives nous permet d’exploiter d’autres caract´eristiques permet- tant d’avoir des informations plus pertinentes sur les arti- cles qu’en se basant uniquement sur le contenu des films par exemple. En effet, visiblement les utilisateurs ayant aim´e StarWars ne recommanderaient pas les StarTrek Il est donc possible de recommander des films aux utilisa-
  • 6. 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 Movie Recommendation system teurs n’ayant jamais vu ces films. Prenons par exemple un utilisateur ayant donn´e une bonne note `a StarWars V, les films les plus similaires qui vont ˆetre recommand´e `a celui- ci sont repr´esent´es par la figure ci dessous: Figure 1. Les films les plus corr´el´es avec StarWars V. Concernant la m´ethode de filtrage collaboratif ’Memory- Based’ bas´ee item-item traditionnelle d´ecrite jusqu’`a pr´esent, la structure des descripteurs est sous la forme d’un vecteur multidimensionnel. Avec ce point de vue, cependant, les vecteurs sont de tr`es grande dimension. L’´etape suivante de ce projet kaggle est d’impl´ementer la m´ethode bas´ee user-item en utilisant la technique de factorisation matricielle (SVD). En raison de la complexit´e computationnelle de la m´ethode bas´ee item-item, le choix d’une m´ethode de factorisation s’est donc impos´e de lui-mˆeme afin d’acc´el´erer le traitement et ce en appliquant une r´eduction de dimension. 6.2. Model-Based Collaborative Filtering Les m´ethodes de collaboration Memory based utilisent la corr´elation entre une paire d’items dans le cas item- item, ou une paire d’utilisateurs dans le cas user-user. Ce m´ecanisme utilise les notes attribu´ees par les utilisa- teur afin de calculer les similarit´es entre les utilisateurs ou items. Cependant, les m´ethodes collaboratives Model based utilisent les informations RS afin de g´en´erer les pr´ediction. Contrairement au m´ethodes Memory based, ces m´ethodes n’utilisent pas l’int´egralit´e de la base de donn´ees pour calculer les pr´ediction des donn´ees r´eelles. Il existe plusieurs algorithmes de filtrage collaboratif : les Models based tels que Les r´eseaux bay´esiens, les mod`eles de clustering, les ”Latent Semantic Models” tels que la d´ecomposition en valeurs singuli`eres (SVD), l’analyse en composantes principales (PCA) et la factorisation ma- tricielle probabiliste pour la r´eduction de dimension de la matrice contenant les notes des utilisateurs. 6.2.1. FACTORISATION MATRICIELLE Les premiers algorithmes de filtrage collaboratif pour les syst`emes de recommandation ´etaient bas´es sur l’inf´erence d’associations, qui poss`ede une complexit´e temporelle tr`es ´elev´ee et une tr`es faible flexibilit´e (´evolutivit´e). En effet, les impl´ementations ainsi que les algorithmes de filtrage collaboratif pour les applications des syst`emes de recom- mandation sont confront´es `a plusieurs d´efis. Le premier est la taille des ensembles de donn´ees `a traiter. Le sec- ond provient de la raret´e de la notation matricielle, ce qui signifie que pour chaque utilisateur seul un petit nombre d’´el´ements est not´e. C’est pour cette raison que de nou- velles m´ethodes plus ´evolutive et plus efficace bas´ees sur des op´erations matricielles ont ´et´e introduite. En effet, `a l’aide de ces m´ethodes les d´efis rencontr´es sont mieux pris en charge par la factorisation matricielle. La factorisation matricielle joue un rˆole important dans le filtrage collaboratif pour les syst`emes de recomman- dation. Cette m´ethode est consid´er´ee principalement comme ´etant une m´ethode d’apprentissage non supervis´e pour la d´ecomposition en variable latente et la r´eduction de dimensionnalit´e. La pr´ediction de notes ainsi que la recommandation peuvent ˆetre obtenues par un large ´eventail d’algorithmes, tandis que les m´ethodes dites ” Neighborhood-based Collaborative Filtering ” sont simples et intuitives. Les techniques de factorisation de matrices sont g´en´eralement plus efficaces car ces derni`eres permet- tent de d´ecouvrir les caract´eristiques latentes sous-jacentes des interactions entre les utilisateurs et les items. C’est donc un outil math´ematique permettant de manipuler des matrices, et est donc applicable dans de nombreux domaine en particulier lorsque l’on d´esire trouver une information latente contenue au niveau des donn´ees. Parmi les mod`eles de factorisation bien connus on retrouve SVD et PCA qui permettent d’identifier les facteurs latents dans le domaine de la recherche d’information et ce dans le but de faire face aux d´efis de filtrage collaboratif. La plupart des mod`eles MF sont bas´es sur le mod`ele de facteur latent [7]. Cette approche de factorisation est consid´er´ee comme ´etant l’approche la plus pr´ecise pour r´eduire le probl`eme des niveaux ´elev´es de parci- monie dans les bases de donn´ees des syst`emes de recom- mandation, et ce en utilisant parfois des techniques de r´eduction de la dimensionnalit´e. Pour ce faire, il est g´en´eralement n´ecessaire de combiner deux techniques : une m´ethode bas´ee sur un mod`ele d’indexation s´emantique latente (LSI) et une m´ethode de r´eduction de la dimen- sionnalit´e Singular Value D´ecomposition (SVD) [7] [8]. Il est `a noter que les m´ethodes de type SVD et PCA sont consid´er´ees comme ´etant les techniques bien ´etablies pour l’identification des facteurs latents dans le domaine de la recherche d’information. Ces m´ethodes sont donc dev-
  • 7. 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 Movie Recommendation system enues populaires et ce en combinant une bonne ´evolutivit´e i.e. ”scalabilit´e” avec une pr´ecision pr´edictive et offrent beaucoup de flexibilit´e pour mod´eliser diverses applica- tions de la vie r´eelle. 6.2.2. M´ETHODOLOGIE Nous disposons tout d’abord d’un ensemble d’utilisateurs not´e U, et un ensemble d’items not´e I. Soit R la matrice de taille |U| × |I| contenant toutes les ´evaluations que les utilisateurs ont affect´ees aux articles. Le but consiste donc `a trouver deux matrices, P(|U|×K) et Q(|I|×K) de telle sorte que leur produit soit ´egal approximativement `a R: R ≈ P × QT = R De cette fac¸on, les mod`eles de factorisation matricielle mappent les utilisateurs ainsi que les items `a un espace de facteur latent commun de dimension f et permet donc de mod´eliser les interactions utilisateur-item comme un produit interne dans cet espace [9]. Par cons´equent, chaque ´el´ement i est associ´e `a un vecteur qi ∈ Rf , et chaque utilisateur u est associ´e `a un vecteur pu ∈ Rf . Pour un item donn´e i, les ´el´ements de qi mesurent l’importance pour lequel cet item poss`ede des facteurs positifs ou n´egatifs. Le r´esultat du produit point `a point qT i pu capture l’interaction entre l’utilisateur u et l’item i, cela repr´esente donc l’int´erˆet global que porte l’utilisateur en question aux caract´eristiques de l’item i. Cela permet donc d’approximer le score que l’utilisateur u attribuerait `a l’item i qui est d´esign´ee par rij Cela nous m`ene `a estimer: rij = pT i qj = Σk k=1pi,kqk,j Il s’agit maintenant de trouver un moyen d’obtenir P et Q. Une approche permettant de r´esoudre ce probl`eme est de commencer par initialiser les deux matrices `a des valeurs al´eatoires, calculer `a quel point leur produit est diff´erent de M, puis de minimiser cette diff´erence it´erativement. Cette m´ethode est appel´ee descente du gradient et sert `a trouver le minimum local de la diff´erence. La diff´erence ici, g´en´eralement appel´ee l’erreur entre la note estim´ee et la note r´eelle et peut ˆetre calcul´ee en util- isant la formule suivante pour chaque paire utilisateur-item : e2 ij = (rij − rij)2 = (rij − ΣK k=1pi,kqk,j)2 nous consid´erons l’erreur quadratique car la note estim´ee peut ˆetre plus grande ou plus petite que la note r´eelle. Afin de minimiser l’erreur, nous devons savoir dans quelle direction nous devons minimiser les valeurs de pi,k et qk,j. Autrement dit, nous devons savoir la direction du gradient au niveau des valeurs actuelles, et donc il est n´ecessaire de d´eriver l’´equation ci-dessus par rapport aux deux variables s´epar´ement : d dpi,k e2 ij = −2((rij − rij)(qk,j) = −2eijqk,j d dqk,j e2 ij = −2((rij − rij)(pi,k) = −2eijpi,k Ayant le gradient, nous pouvons formuler les r`egles de mise `a jour de pi,k et qk,j comme suit : pi,k = pi,k + α d dpi,k e2 ij = pi,k + 2αeijqk,j qk,j = qk,j + α d dqk,j e2 ij = qk,j + 2αeijpi,k Ici, α est une constante dont la valeur d´etermine le pas `a prendre pour atteindre la valeur minimale. D’une mani`ere g´en´erale, la valeur de α doit ˆetre petite, en effet, une grande valeur pourrait ne pas atteindre le minimum. En utilisant la formule de mise `a jour ci-dessus, nous pou- vons effectuer l’op´eration de minimisation it´erativement jusqu’`a ce que l’erreur converge vers son minimum. Nous pouvons v´erifier l’erreur globale calcul´ee en utilisant l’´equation suivante et d´eterminer quand il est n´ecessaire d’arrˆeter le processus : E = Σ(ui,dj ,ri,j )∈T ei,j = Σ(ui,dj ,ri,j )∈T (rij − ΣK k=1pi,kqk,j)2 O`u T repr´esente l’ensemble de tuples observ´e de la forme (ui, dj, ri,j), qui repr´esentent respectivement l’utilisateur i, l’item j, la note attribu´e par i `a j. 6.2.3. R´EGULARISATION Afin d’´eviter le ph´enom`ene de sur-apprentissage, nous ajoutons un terme de r´egularisation `a la fonction de coˆut comme suit : e2 i,j = (rij − ΣK k=1pi,kqk,j)2 + β 2 ΣK k=1( P 2 + Q 2 ) Le param`etre β est utilis´e afin de contrˆoler les magnitudes des vecteurs de caract´eristiques des utilisateurs et des items ( user-feature et item-feature) de telle mani`ere que Q et P donnent une meilleure approximation de R sans avoir `a contenir de grands nombres. De la mˆeme mani`ere, nous obtenons les nouvelles r`egles de mise `a jours : pi,k = pi,k + α d dpi,k e2 ij = pi,k + α(2eijqk,j − βpi,k) qk,j = qk,j + α d dqk,j e2 ij = qk,j + α(2eijpi,k − βqk,j) Dans notre cas, nous avons choisi les valeurs de α et de β par validation crois´ee (voir la section suivante). 7. Exp´erimentations Nous avons commenc´e nos exp´erimentations par deviser l’ensemble des donn´ees en deux sous ensembles apprentis- sage et tests. Pour cela, nous avons introduit une variable
  • 8. 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 Movie Recommendation system x qui d´etermine le pourcentage de donn´ees utilis´ees pour l’apprentissage et pour les tests. Une valeur x = 0.8 in- dique 80% des donn´ees d’apprentissage et 20% de tests. L’ensemble des donn´ees contenant 4000056 instances a ´et´e converti en une matrice A de la forme utilisateur-item ayant 12022 lignes (utilisateurs) et 17241 colonnes (films qui ont ´et´e not´e par au moins un utilisateur). Pour nos exp´erimentation, nous avons aussi pris en con- sid´eration un facteur qui est le niveau de parcimonie de la base de donn´ees. Pour une matrice de donn´ees A, ce facteur est d´efini par : Niveau parcimonie = 1 − entree−non−nulles totalite−d entrees Dans notre cas, le niveau de parcimonie est ´egale `a : Niveau parcimonie = 1 − 4000056 12022x17241 = 0, 9807 Avant de commencer l’´evaluation exp´erimentale compl`ete des diff´erents algorithmes, nous d´eterminons la sensi- bilit´e des diff´erents param`etres pour les diff´erentes ap- proches. Ces param`etres incluent le step-size α , le taux de r´egularisation β ainsi que le ratio d’apprentissage/test x. Nous d´eterminons par la suite l’ensemble des valeurs opti- males `a partir des graphes obtenus. Afin de d´eterminer la sensibilit´e des param`etres, nous tra- vaillons seulement sur l’ensemble d’apprentissage en le subdivisant encore en deux sous ensembles (apprentis- sage et tests) et effectuons nos exp´erimentations sur ces derniers. Ainsi, nous avons effectu´e une cross-validation en 5 folds, en choisissant al´eatoirement diff´erents ensem- bles d’apprentissage et de test. 7.1. Environnement de d´eveloppement l’ensemble de nos algorithmes ont ´et´e impl´ement´es sous python en utilisant les librairies NUMPY et GRAPHLAB[7]. Nous avons effectu´e toutes nos exp´eriences sur machine ayant une processeur intel i7 `a 2.4 Ghz et ayant 8gb de m´emoire. 7.2. Mesure de performance Il existe plusieurs mesures de performances utilis´ees dans le domaine des syst`emes de recommandation. Ces mesures peuvent ˆetre divis´ees en deux cat´egories : 7.2.1. DECISION SUPPORT Ce type de mesures permet d’´evaluer `a quel point le syst`eme de pr´ediction est efficace et `a quel point celui-ci permet d’effectuer un choix coh´erent d’items `a proposer aux utilisateurs. Cette mesure suppose que le processus de pr´ediction est une op´eration binaire : soit les items sont cor- rectement pr´edits (i.e. bons) ou non (i.e. mauvais). Avec cette observation, Un item ayant un score de pr´ediction de 1,5 ou 2,5 sur 5 est sans importance si l’utilisateur choisit de consid´erer que les pr´ediction de 4 ou plus. Les m´ethodes les plus utilis´ees sont reversal rate et ROC sensitivity. 7.2.2. MESURE STATISTIQUE Cette mesure de pr´ecision Permet d’´evaluer la pr´ecision d’un syst`eme en comparant les notes pr´edites avec les notes r´eelles attribu´ees par les utilisateurs. La mesure Root Mean Squared Error RMSE est parmi les plus utilis´ees, une pe- tite valeur de RMSE indique un syst`eme plus pr´ecis. Dans notre cas, nous avons modifi´e cette mesure en ajoutant un terme r´egularisation afin d’´eviter le sur-apprentissage et fa- voriser le mod`ele le moins complexe. 7.3. R´esultats Dans cette section nous pr´esentons non r´esultats d’exp´erimentations de nos syst`emes de pr´ediction collaborative bas´ee m´emoire (dans notre cas item-item based) et bas´ee mod`ele (factorisation matricielle). Nous commenc¸ons tout d’abord par comparer l’effet de l’utilisation des diff´erents mesures de similarit´es dans la premi`ere approche (item-item). Par la suite, nous utilis- erons la meilleure mesure afin de comparer l’approche collaborative bas´ee m´emoire et notre baseline. Dans la derni`ere partie nous d´eterminons la sensibilit´e des diff´erents param`etres de l’approche bas´ee mod`ele (fac- torisation matricielle) en effectuant une cross-validation. Ainsi, en fixant les param`etres nous comparons les m´ethodes impl´ement´ees avec la baseline en terme de pr´ecision. La mesure de pr´ecision utilis´ee `a travers les exp´erimentation est RMSE avec un terme de r´egularisation. 7.4. Effets d’algorithmes de similarit´e Nous avons impl´ement´e trois algorithmes de similarit´e diff´erents qui sont : cosinus, la version am´elior´ee de Pear- son Correlation Coefficient (permettant un calcule moins couteux en terme de temps d’ex´ecution) et la distance eucli- dienne. Les r´esultats sont repr´esent´es dans l’histogramme suivant:
  • 9. 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 Movie Recommendation system Figure 2. Les performances relatives au diff´erents mesures de similarit´e En observant les r´esultats, nous remarquons que la valeur RMSE associ´ee `a la mesure PCP est la plus petite. Nous d´eduisons donc que la mesure PCP donne la meilleure per- formance. Nous avons dans ce qui suit, opt´e pour l’utilisation de la mesure de similarit´e PCP. La figure 3 montre les per- formances obtenues par la premi`ere approche (item-item memory based) et l’algorithme de baseline d´ecrit dans le point 4 de ce projet. Figure 3. Les performances obtenues par les deux approches baseline et item-item memory based Cependant cette approche reste couteuse en terme de temps de calcul. Ainsi, ces mesure de similarit´es dans certains cas ne permettent pas de bien mod´eliser la relation entre items. C’est pour cette raison que nous avons opt´e pour l’impl´ementation de l’approche model based collaborative filtering en utilisant la factorisation matricielle. 7.5. Effets du choix des param`etres La factorisation matricielle, bien qu’elle soit efficace, sa performance d´epend fortement des choix des param`etres intervenants dans le processus d’apprentissage. Nous no- tons par α le step-size qui intervient dans la descente du gradient (mise `a jours des param`etres), par β le facteur de la r´egularisation qui intervient dans le calcule de RMSE. Les autres param`etres `a prendre en consid´eration sont le ratio apprentissage/test x qui est fix´e `a 0.8, le nombre de folds de la validation crois´ee qui est fix´e `a 5 et le nombre des dimensions de la factorisation est fix´ee `a 5. La figure 4 montre les r´esultats d’ex´ecution de la validation crois´ee pour diff´erentes valeurs de β. Figure 4. Cross-validation pour diff´erents valeurs de β Nous remarquons que la meilleure pr´ecision est obtenue en utilisant β = 10−5 . La valeur de α est initialis´e al´eatoirement entre 0 et 1. Ce param`etre sera mis `a jours tant que le processus con- verge vers la solution optimale en ex´ecutant `a chaque fois α = α/2. Ainsi, nous avons opt´e pour l’utilisation de l’ensemble des param`etres suivants dans la m´ethode de fac- torisation matricielle: Param`etre Valeur Factor Dimension 5 β 0.00001 α 0.0719471 (V.S.I) n Folds 5 V.S.I: Variable Selon l’Initialisation La figure 5 montre une comparaison entre l’algorithme de baseline et les deux m´ethodes impl´ement´ees (memory- based et model-based) en utilisant les param`etres optimaux.
  • 10. 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 Movie Recommendation system Figure 5. Les performances obtenues par les deux approches baseline et item-item memory based 8. Conclusion Les syst`emes de recommandation ont pour origines une vari´et´e de domaines de recherche, tel que la recherche d’information, le filtrage de l’information. Ils repr´esentent une mani`ere innovante et puissante d’extraire des valeurs partir de bases de donn´ees utilisateur. Ces syst`emes aident les utilisateurs `a trouver les articles qu’ils souhait- ent acheter. En effet, ces syst`emes font ainsi b´en´eficier les utilisateurs en leur permettant de trouver les articles qu’ils aiment. Tout en aidant ´egalement l’entreprise en g´en´erant plus de ventes. Les syst`emes de recommanda- tion sont en train de devenir un outil essentiel dans le com- merce ´electronique sur le Web. Cependant, ces syst`emes souffrent de l’´enorme volume de donn´ees utilisateur con- tenu les bases de donn´ees existantes. Ces derniers en souf- friront d’avantage ´etant donn´e la croissance du volume de donn´ees utilisateur disponibles sur le Web qui est `a pr´evoir. C’est pour cette raison que de nouvelles m´ethodes ont ´et´e introduites afin de permettre d’am´eliorer consid´erablement l’´evolutivit´e de ces syst`emes. Dans ce projet, nous avons impl´ement´e diff´erentes mani`eres de pr´edire `a quel point un utilisateur risque d’appr´ecier un article. Nous avons ´egalement pr´esent´e nos exp´erimentations et la mani`ere dont nous avons ´evalu´e chaque algorithme mod´elisant un syst`eme de recomman- dation. Les r´esultats obtenus montrent que les techniques (memory-based) bas´ees sur le calcul de similarit´e bien qu’elles soient efficaces restent couteuses en terme de temps de calcul. Ainsi, leurs efficacit´e est relative `a la mesure de similarit´e utilis´ee. Les m´ethodes (model-based) quand `a elles, sont beaucoup moins couteuses en temps d’ex´ecution et cela est du `a la factorisation matricielle. Nous avons montr´e comment palier au ph´enom`ene de sur- apprentissage en ajoutant un terme r´egularisation `a la fonc- tion loss. Ainsi, la cross-validation nous a permet de choisir les param`etres optimaux pour le syst`eme. R´ef´erences [1] Gediminas Adomavicius and Alexander Tuzhilin ”Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions” IEEE Transactions on Knowledge, Vol 17, No 6, June 2005 [2] Dan R. Greening ”Building Consumer Trust with Accurate Product Recommendations”, A White Paper on LikeMinds Personalization Server [3] D. Billsus and M. J. Pazzani, “Learning collabora- tive information filters,” in AAAI 2008 Workshop on Rec- ommender Systems, 1998. [4] S. Funk, “Netflix update: Try this at home,” http://sifter.org/˜ simon/journal/20061211.html, Archived by WebCite at http://www. webcitation.org/5pVQphxrD, December 2006. [5] Royi Ronen, Noam Koenigstein, Elad Ziklik, Mikael Sitruk, Ronen Yaari, Neta Haiby-Weiss, “Sage: Recom- mender Engine as a Cloud Service,” Published in ACM RecSys’13, Hong Kong, China, ACM 978- 1-4503-2409- 0/13/10, c ACM, October 12–16, 2013. [6] GraphLab API, a DAT OT M machine learning toolkit that provides users with state-of-theart algorithms for classification. Version 1.8.0 https ://dato.com/ [7] David Goldberg, David Nichols, Brian M. Oki and Douglas Terry, “Using Collaborative Filtering to Weave an Information Tapestry,” Communications of the ACM, Vol. 35, No.12, December 1992. [8] Yehuda Koren, “Matrix Factorization Techniques for Recommender Systems,” Published by the IEEE Computer Society, IEEE 0018-9162/09, pp. 42- 49, c IEEE, August 2009. [9] Ruslan Salakhutdinov and Andriy Mnih, “Proba- bilistic Matrix Factorization,” Published in the Proceed- ings of Neural Information Processing Systems Foundation (NIPS’07), December 4, 2007.