• Aucun résultat trouvé

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

r

notes du jeu d’apprentissage pari. Ainsi

lai

ième

note du jeu de données est notéer

i

. Elle a été donnée par l’utilisateuru

i

au filmm

i

.

Pour parcourir l’ensemble des N

u

utilisateurs, nous utilisons l’indice u et respectivement

l’indicem pour parcourir l’ensemble desN

m

films.

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

u

indiquant 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

u

est 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

m

a 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

u

par utilisateur u, signifiant

queua un seul type. Nous cherchons l’a

pos-teriorisur tous lesT

u

et lesG

m

pour 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

i

qui 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

r

fois pour

générer lesN

r

donné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,G

sont 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

r

données.

Une fois le modèle instancié avec les N

r

donné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

u

p(T

u

) Y

m

p(G

m

) Y

i

p(u

i

, m

i

) Y

r,T,G

p(θ

r,T ,G

) Y

i

p(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

r

triplets{u

i

, m

i

, r

i

}, les variables cachées

sont lesN

u

variables{T

u

}et lesN

m

variables{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

r

triplets {u

i

, m

i

, r

i

}, les variables

cachées sont les N

r

couples{T

i

, G

i

}. Les paramètres Θ sont les K

2

multinomiales θ

r,T ,G

et

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θ

u

etθ

m

les 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.