• 15 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 01/02/2019

Cherchez les variables latentes qui expliquent vos données

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Dans la plupart des cas, les variables que nous utilisons pour représenter nos données correspondent à un nombre assez grand de quantités que l'on peut facilement mesurer sur ces données. Par exemple, on représente une image par les valeurs RGB de chacun de ses pixels ; ou les goûts d'un client par l'ensemble des produits qu'il a acheté.

Cependant, le phénomène que l'on cherche à expliquer pourrait souvent être prédit à partir d'un plus petit nombre de variables, mais qui sont elles plus difficiles à mesurer. Par exemple, plutôt que l'ensemble de ses transactions, une seule variable qui décrit si un client est végétarien ou non serait certainement très informative pour décider de s'il faut lui proposer des bons de réduction pour le rayon charcuterie.  

La description « accessible » que nous avons de notre client, à savoir la liste de ses achats, est une fonction de cette variable (végétarien ou non) qui nous est cachée. On parle aussi souvent de variable latente. On peut considérer que le but de la réduction de dimension est de retrouver les variables cachées qui décrivent au mieux nos données, à partir des variables observées qui nous sont accessibles.

L’ACP est une factorisation de la matrice des données

Soit $\(X \in \mathbb{R}^{p \times n}\)$ représentant n observations en p dimensions. Fixons nous un nombre K de composantes principales calculées par une ACP. Ces K composantes peuvent être représentées par une matrice $\(W \in \mathbb{R}^{p \times K}\)$. Ainsi, la représentation réduite des n observations dans le nouvel espace de dimension K est donnée en projetant X sur les colonnes de W, autrement dit par $\(H = W^\top X\)$ .

La matrice $\(H \in \mathbb{R}^{K \times n}\)$ peut être interprétée comme la représentation latente de nos données, celle qu'on a cherché à découvrir grâce à l'ACP.

Comme les colonnes de W, étant les vecteurs propres de $\(X X^\top\)$, sont des vecteurs orthonormés, on peut écrire $\(X = W H\)$ . On a donc _factorisé_ la matrice de données X en deux termes : W qui définit de nouvelles dimensions, et H, que l'on appelle parfois les facteurs de X (« factors » en anglais), qui est la représentation latente des données.

Modélisation des relations de covariance entre les variables : l’analyse factorielle

Considérons maintenant que nos données, c'est à dire les observations $\(x^{{1}}, x^{{2}}, \dots x^{{n}}\)$ qui forment les colonnes de X, sont générées par un modèle

$\[ x^{{i}} = W h^{{i}} + \epsilon\]$

$\(h^{{i}} \in \mathbb{R}^K\)$ est une représentation latente de $\(x^{{i}}\)$ et $\(\epsilon\)$  du bruit gaussien : $\( \epsilon \sim \mathcal{N}(0, \Psi)\)$ .

Supposons les données centrées en 0 : alors la moyenne de x, et donc de $\(W h\)$ , est 0, et sa covariance est celle de $\(Wh\)$ , à savoir $\(W W^\top\)$, plus celle de $\(\epsilon\)$.  

$\[x \sim \mathcal{N}(0, W W^\top + \Psi)\]$

Si on considère que la covariance de $\(\epsilon\)$ est isotropique, autrement dit que $\(\Psi = \sigma^2 I\)$, où $\(I\)$ est la matrice identité. C'est cette formulation que l'on appelle ACP probabiliste, ou probabilistic PCA en anglais.

Plus généralement, supposons maintenant que la matrice de covariance du bruit $\(\Psi\)$ est une matrice diagonale quelconque : $\(\Psi = \mbox{diag}(\psi_1, \psi_2, \dots, \psi_p)\)$. Selon ce modèle, les variables observées ( $\(x_j\)$, $\(j=1, \dots, p\)$) sont conditionnellement indépendantes étant données les valeurs des variables latentes ( $\(h_k\)$, $\(k=1, \dots, K\)$). Ainsi, les variables latentes expliquent les corrélations entre les variables observées, tandis que chaque $\(\psi_j\)$ décrit la variance spécifique à la variable $\(x_j\)$ correspondante.

On peut alors utiliser les données pour estimer les valeurs de $\(\Psi\)$ et W par maximum de vraisemblance. C'est ce que l'on appelle l'analyse factorielle.

Dans l'analyse factorielle, nous ne faisons plus l'hypothèse que les nouvelles dimensions sont orthogonales. On peut ainsi en particulier se retrouver avec des dimensions dégénérées (des vecteurs colonnes de W dont toutes les entrées soient 0) et moins de dimensions qu'avec une ACP.

L'analyse factorielle est implémentée dans la classe Factor Analysis du modulescikit-learn.decomposition.

Cas des matrices non-négatives : la factorisation non-négative de matrices

Prenons maintenenant le cas où X représente les scores donnés par des spectateurs à des films.

Un exemple de scores données par 5 spectateurs à 4 films, sur une échelle de 1 à 5.
Un exemple de scores données par 5 spectateurs à 4 films, sur une échelle de 1 à 5.

Dans ce cas, une factorisation de $\(X \in \mathbb{R}^{p \times n}\)$ (p films, n spectateurs) sous la forme $\(WH\)$ peut s'interpréter de la façon suivante : $\(H \in \mathbb{R}^{K \times n}\)$ représente les goûts des spectateurs selon K variables latentes (par exemple le genre du film, les acteurs, la période...), et $\(W \in \mathbb{R}^{p \times K}\)$ représente les films selon ces mêmes variables. Ainsi on pourrait expliquer le score donné par un spectateur à un film comme une combinaison du score donné « en interne » par le spectateur à différents aspects d'un film, et de la présence dans le film de ces mêmes aspects.

Cependant, cette interprétation est facilitée si, de même que les entrées de X, les entrées de W et de H sont toutes positives.

Dans ce cas, le problème de la réduction de dimension par factorisation de matrice est posé comme

$\[\arg \min ||X - WH||_F^2 \\ W \in \mathbb{R}_+^{p \times K}, H \in \mathbb{R}_+^{K \times n}\]$

On appelle ce problème la factorisation de matrice non-négative, ou NMF pour « non-negative matrix factorization ». Ce problème peut être résolu par exemple par descente de gradient.

Cette méthode est très intéressante pour les systèmes de recommandation, car elle s'applique aussi dans les cas où les données contiennent des valeurs manquantes. Par exemple, le deuxième spectateur n'a pas vu Top Gun. Quel score lui donnerait-on ? Lui recommanderait-on de regarder ce film ?

On remplace alors $\(||X - WH||_F^2\)$ par la somme sur les entrées connues de X des termes  $\((X_{ij} - (WH)_{ij})^2\)$. On obtient ainsi une décomposition $\(WH\)$ qui approxime X, et on peut utiliser les entrées correspondantes dans $\(WH\)$ pour _prédire_ les valeurs manquantes de X.

La NMF est implémentée dans la classe NMF du module `scikit-learn.decomposition`.

Résumé

  • L'ACP peut être vue comme une factorisation de la matrice de données X=WH, où W continent les nouvelles variables et H la représentation latente des données selon ces variables.

  • Toute une famille de méthodes réduisent la dimension des données par une décomposition approximative, X≈WH.

  • L'analyse factorielle et l'ACP probabiliste sont issues de modèles génératifs utilisant la factorisation de la variable aléatoire x en Wh. Dans le cas de l'ACP probabiliste on modélise la covariance du bruit comme étant un multiple de l'identité. Dans le cas de l'analyse factorielle on estime la covariance du bruit indépendante dans chaque direction.

  • L'ACP cherche à maximiser la variance de X selon des directions orthogonales.

  • L'analyse factorielle cherche à modéliser la structure de la covariance des variables observées et ne définit pas nécessairement des axes orthogonaux.

  • La NMF (factorisation non-négative de matrice) s'applique à des matrices X dont les entrées sont toutes positives et force les entrées de W et de H à être positives aussi. Elle permet aussi de prédire les valeurs manquantes de X.

Exemple de certificat de réussite
Exemple de certificat de réussite