Peu de travaux appliquent le clustering à la fois aux utilisateurs et aux films. Par
exemple, le modèle de mixture de multinomiales de Marlin (Mar04) ne cherche à grouper
que les utilisateurs entre eux, alors que dans sa formulation, rien n’empêche cette extension.
Dans son modèle à classe cachées (HP99), Hofmann propose un double clustering, mais
avec des notes binaires (+-1). Notre approche reprend les avantages de la formulation
générative de Marlin, avec la double clusterisation de Hofmann, en l’appliquant à des
mixtures de multinomiales à 5 valeurs.
4.4 Netflix : Modèles
Nous présentons ici une approche bayésienne pour le filtrage collaboratif, appliqué aux
données Netflix. Nous proposons deux modèles de clustering différents. Tous deux
éta-blissent en parallèle des clusters d’utilisateurs et des clusters de films, mais ces deux
mo-dèles donnent une sémantique différente aux clusters. Dans les deux cas la méthode de
prédiction est identique et l’inférence repose sur l’algorithme EM : les variables
d’associa-tions à des clusters étant les variables cachées (phase E) et les paramètres arg-maximisés
sont les profils de notation associées à chaque couple (cluster d’utilisateur-cluster de film)
(phase M). De part sa structure, un des modèles nécessite de plus une approximation
va-riationnelle de type Mean-Field dans sa phase E. Nous décrivons ces modèles, les calculs
d’inférence associés et présentons leurs résultats.
Pour clarifier les notations, nous indiçons lesN
rnotes du jeu d’apprentissage pari. Ainsi
lai
ièmenote du jeu de données est notéer
i. Elle a été donnée par l’utilisateuru
iau filmm
i.
Pour parcourir l’ensemble des N
uutilisateurs, nous utilisons l’indice u et respectivement
l’indicem pour parcourir l’ensemble desN
mfilms.
4.4.1 Modèle A : un seul type par utilisateur
Dans ce modèle, nous groupons les utilisateurs en K types et les films en K genres.
Pour chaque utilisateur u, nous introduisons une variable aléatoireT
uindiquant sontype.
Par exemple si l’utilisateur numéro 44 est du type T = 88, nous notons T
44= 88. Pour
chaque utilisateur u, sa variable de typeT
uest une variable cachée. Il y a donc autant de
variables de type que d’utilisateurs, soit N
u. Le but de l’inférence dans ce modèle A est
d’abord de trouver l’a posteriori sur tous les T
u(et sur tous les genres de films G
m). Une
fois ces N
u+N
ma posterioricalculés, ils seront utilisés pour marginaliser les variables de
type et de genre afin de faire des prédictions.
Il est important de souligner que, dans ce modèle un utilisateur n’a qu’un seul type, mais
comme nous ne savons pas lequel avec précision, nous devons considérer une distributions
sur tous les types, et ce pour chacun des utilisateurs (et respectivement pour les films et
les genres).
Pour bien expliquer ce modèle A, considérons que nous en ayons fixé tous les paramètres
et que nous voulions générer des données. Pour générer une donnée r
i, nous choisissons
uniformément un utilisateur, disons u = 44 et un film m = 55. Comme nous connaissons
(a) Modèle A comportant une seule variable
d’association T
upar utilisateur u, signifiant
queua un seul type. Nous cherchons l’a
pos-teriorisur tous lesT
uet lesG
mpour ensuite
faire des prédictions.
(b) Modèle B de mixture, avec autant de
va-riables d’associations que de données. Un
uti-lisateur a une degré d’appartenance à chaque
type. Nous cherchons la fonction
d’apparte-nance la plus probable.
Fig. 4.2 – Deux modèles génératifs de clustering pour le filtrage collaboratif
le numéro de l’utilisateur, nous en connaissons aussi son type, disons T
u= T
44= 88. De
même G
m= G
55= 99. Une fois le type et le genre connu, la note ne dépend plus ni du
numéro de l’utilisateur, ni du numéro du film. Cette note r
iqui prend sa valeur entre 1 et
5 est tirée selon une distribution multinomiale dont les paramètres sont notés {θ
r,T,G}. Par
exemple θ
r=3,T=88,G=99=p(r= 3|T = 88, G= 99) est la probabilité que les utilisateurs du
type T = 88 mette une note valant 3 aux films du genre G= 99.
Pour créer un jeu complet de données nous devrions répéter ce processus N
rfois pour
générer lesN
rdonnées{r
i}. Imaginons que lors de ces répétitions l’utilisateur u= 44 soit,
par hasard, tiré une seconde fois. Alors, le typeT sera à nouveauT
44= 88 : les distributions
p(T|u) sont des Diracs piqués enT
u. Si nous insistons sur ce point c’est que ce sera différent
dans le modèle B. Les 5×K×K valeursθ
r,T,Gsont les seuls paramètres du modèle A. Ces
paramètres peuvent ainsi être stockés dans une matrice à trois dimensions (type, genre et
valeur de la note) telle que p(r|u, m, T
u, G
m) =θ
r,Tu,Gm.
La figure 4.2(a) représente la densité jointe en considérant que nous étudions une jeu
deN
rdonnées.
Une fois le modèle instancié avec les N
rdonnées, nous obtenons théoriquement un
graphe comprenant (3N
r+N
u+N
m+K
2)≈300 millions de variables aléatoires.
4.4 Netflix : Modèles 129
p({u
i},{m
i},{r
i},{T
u},{G
m},{θ
r,T ,G})
=Y
up(T
u) Y
mp(G
m) Y
ip(u
i, m
i) Y
r,T,Gp(θ
r,T ,G) Y
ip(r
i|u
i, m
i, T
ui, G
mi,{θ
r,T ,G}).
(4.4)
Avec ce modèle, les données observées sont lesN
rtriplets{u
i, m
i, r
i}, les variables cachées
sont lesN
uvariables{T
u}et lesN
mvariables{G
m}et les paramètres sont les Θ :={θ
r,T,G}.
Comme nous considérons que tous les a priorisont uniforme, la jointe est proportionnelle
à la vraisemblance :
p({u
i},{m
i},{r
i},{T
u},{G
m},{θ
r,T ,G})∝Y
i
θ
ri,Tui,Gmi. (4.5)
L’algorithme EM s’attachera à trouver les paramètres Θ maximisant cette vraisemblance,
en affinant successivement une approximation de l’a posteriori sur les variables cachées
(phase E) et en optimisant les paramètres sous cet a posteriori (phase M). Comme à
chaque fois qu’un même utilisateur u revient dans les données il est associé à la même
variable T
u, de nombreuses boucles sont présentes dans le graphes de dépendances, bien
que cela ne soit pas explicite dans la figure4.2(a)(ambiguïté du formalisme graphique des
assiettes). Ces nombreuses boucles rendront nécessaire une approximation variationnelle
de la phase E.
4.4.2 Modèle B : modèle de mixture
Dans ce modèle nous considérons que chaque utilisateur est représenté par une mixture
de différents types. Par exemple, un utilisateur peut être à 25% du type 1 et à 75% du type
3. D’un point de vue génératif, à chaque apparition du même utilisateur, un nouveau type
est tiré selon une distribution p(T|u,Θ) spécifique à u. Nous voulons par là donner plus
de flexibilité au modèle : pour chacune de ses notes, un utilisateur peut avoir agit selon
le profil du type des enfants, puis pour une autre note selon le profil du type des filles.
Comme il a plus de pouvoir d’expression, ce modèle demandera moins de clusters (K plus
petit) que le modèle A pour représenter les mêmes données.
De plus, comme le type dépend de la donnée et non plus uniquement de l’utilisateur,
la variable T entre dans l’assiette principale (fig.4.2(b)), les boucles disparaissent et nous
n’avons plus besoin de l’approximation variationnelle. La caractéristique d’un utilisateur
n’est plus une variable de type dont nous chercherions l’a posteriori comme dans le
mo-dèle A. Dans le momo-dèle B, c’est une distribution sur les types p(T|u) qui nous intéresse.
Cependant, nous ne chercherons pas l’a posteriorisur cette distribution (pas de niveau
pro-babiliste supplémentaire), mais nous calculerons la distribution de maximum a posteriori.
Dans ce modèle, les variables observées sont les N
rtriplets {u
i, m
i, r
i}, les variables
cachées sont les N
rcouples{T
i, G
i}. Les paramètres Θ sont les K
2multinomiales θ
r,T ,Get
les distributions sur les types pour chaque utilisateur p(T|u,Θ) = θ
u(et symétriquement
les θ
m). EM produisant les paramètres de maximum de vraisemblance, nous aurons bien
les distributionsθ
uetθ
mles plus probables. Avec des a prioriuniformes sur{u
i, m
i}et Θ,
la jointe est :
p({u
i},{m
i},{r
i},{T
i},{G
i},Θ) =p(Θ) Y
i
p(T
i|u
i,Θ)p(G
i|m
i,Θ)p(r
i|T
i, G
i,Θ). (4.6)
L’a priorip(Θ) est choisi uniforme.
Dans le document
Fondations, méthode et applications de l'apprentissage bayésien.
(Page 138-141)