Méthodes d`apprentissage statistique pour l`analyse de données

publicité
GRENOBLE INP - ENSIMAG
Année Universitaire 2011-2012
Mémoire d'Introduction à la Recherche en Laboratoire
Méthodes d'apprentissage
statistique pour l'analyse de
données génétiques
TIMC-IMAG
Février - Mai 2012
Présenté par
TROUILLON Théo
2A MMIS - BIO
Supervision
FRANÇOIS Olivier
Remerciements
Je tiens à remercier particulièrement Olivier François qui m'a suivi
et conseillé pendant cette Introduction à la Recherche en
Laboratoire, ainsi que Éric Frichot dont l'aide fut également
précieuse.
J'exprime également ma reconnaissance à mes nombreux et parfois
temporaires collègues de bureau, et particulièrement à Nicolas
Mobilia pour son écoute et ses suggestions.
Mais aussi à Michael Blum, pour ses conseils concernant la
rédaction de ce mémoire.
Enn, je remercie Danny Bickson, pour son support et sa
coopération dans le débuggage de la bibliothèque GraphLab [9].
1
Table des matières
1
2
3
4
5
Introduction
3
Contexte
2.1
2.2
Contexte de travail . . . . . . . . . . . . . . . . . .
Contexte scientique . . . . . . . . . . . . . . . . .
2.2.1 Human Genome Diversity Panel - HGDP .
2.2.2 NonNegative Matrix Factorization . . . . .
2.2.3 Structure génétique des populations - LDA
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Proximité théorique entre NMF et LDA
Mise en pratique et résultats
4.1
4.2
4.3
4.4
NMF - Outils utilisés . . . . .
Performances . . . . . . . . .
Résultats - Données simulées
Résultats - HGDP . . . . . .
.
.
.
.
Conclusion
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
5
5
5
6
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
9
10
12
Références
13
2
1
Introduction
En génétique des populations, l'une des principales applications de l'analyse
des données génétiques est la recherche de structure dans la population considérée. Les individus sont-ils tous génétiquement homogènes ou existe-t-il des
groupes distincts au sein d'une espèce ? Cette détection et quantication de
structures a son utilité entre autres en génétique des populations, essentiellement pour retracer les migrations des populations étudiées, mais aussi pour les
tests d'association entre gènes et maladies. Un résultat majeur dans ce domaine
[11] montre la présence d'une telle structure chez les êtres humains, en utilisant un algorithme de classication non supervisée Bayésien [13] qui fait encore
référence aujourd'hui, sur une grande base de données génétiques : le Human
Genome Diversity Project (HGDP) [4].
Du côté de la communauté de recherche en apprentissage statistique, les méthodes de classication non supervisée par factorisation de matrices non négative
sont connues et étudiées depuis une dizaine d'années. Elles sont populaires car
très rapides, et donc applicables à des problèmes comportant beaucoup de données, tels que la recommandation de lms aux utilisateurs [6]. Les méthodes
par factorisation de matrices étant peu utilisées en bio-statistiques, nous avons
étudié leur applicabilité à la structuration génétique des populations.
Nous présenterons dans un premier temps les deux approches mentionnées cidessus, puis nous montrerons leur proximité théorique. Enn nous comparerons
les résultats obtenus dans un premier temps sur des données simulées où la
structure initiale est donc connue, puis sur les données génétiques du HGDP.
3
2
Contexte
2.1 Contexte de travail
J'ai eectué mon module d'Introduction à la Recherche en Laboratoire au
laboratoire TIMC-IMAG (Techniques de l'Ingénierie Médicale et de la Complexité - Informatique, Mathématiques et Applications de Grenoble) dans l'équipe
BCM (Biologie Computationnelle et Mathématique). Les champs de recherche
de cette équipe incluent la génomique, l'épidémiologie, la biologie systémique et
la modélisation mathématique de systèmes biologiques complexes.
Ce sujet s'inscrit à l'interface de deux domaines de recherche scientique :
l'apprentissage statistique et la génétique des populations, et les rapproche sur
les plans théorique et pratique. J'ai evidemment beaucoup échangé avec mon
tuteur, Olivier François, mais également avec un doctorant de l'équipe : Éric
Frichot, qui eectue sa thèse en partenariat avec le centre de recherche de Xerox, et dont le sujet de thèse est très proche de mon sujet de stage. Le sujet de
thèse d'Éric Frichot consiste à enrichir la factorisation de matrice appliquée à
la structure génétique des populations en incluant des données environnementales au modèle. J'ai pu assister à plusieurs séminaires pendant mon séjour au
laboratoire, malheuresement aucun n'était en rapport avec mon sujet. Mais cela
m'a permis de mieux connaître les sujets de recherche des autres membres de
mon équipe.
4
2.2 Contexte scientique
Concrètement, la recherche de structure dans les données génétiques est un
problème de classication non supervisée. L'utilisateur spécie le nombre de
classes K , mais sans dénir ces classes, qui sont inférées par un algorithme
d'après les données. Dans notre cas, les classes représentent les populations
ancestrales, qui sont inconnues. Le résultat est un pourcentage d'appartenance
à chacune des populations ancestrales pour chaque individu de la matrice de
données. Ces pourcentages sont appelés les coecients de métissage.
2.2.1
Human Genome Diversity Panel - HGDP
Le HGDP est un projet lancé par l'institut Morrisson de l'université de Stanford dont le but est de collecter des séquences d'ADN d'individus originaires
de diérentes populations. À partir de ces séquences d'ADN, on peut identier
des variations génétiques à certains emplacements du génome (locus) variables
d'un individu à l'autre. Ces marqueurs polymorphes représentent les données
qui nous intéressent. Pour chaque locus, on parlera d'allèle ancestral pour les individus portant le même marqueur génétique que le chimpanzé, et d'allèle muté
ou dérivé pour ceux qui portent le marqueur génétique muté. Cet allèle muté est
en général caractéristique de la population de l'individu, car le taux de mutation
d'une génération à l'autre est extrêment faible (2.5 × 10−8 par marqueur par
génération en moyenne [10]).
Par la suite, pour simplier, nous considérerons nos données en entrée comme
une matrice X de N individus par L locus à valeurs binaires : 0 ou 1 pour la
présence ou l'absence de l'allèle muté, avec peu de données manquantes. Pour
le locus ` du génome de l'individu i, la probabilité d'observer l'allèle muté :
p(mutation chez i au locus `) = p(xi` = 1)
2.2.2
NonNegative Matrix Factorization
La factorisation de matrices non-négatives (NMF) [12] [7] est utile pour trouver une représentation de données positives, comme les appréciations notées de
lms [6], livres, musiques, etc... Soit une matrice de données X de taille N × L
avec Vi` ≥ 0, et un entier donné K < min(N, L), NMF trouve deux matrices
non-négatives Q de taille N × K et F de taille K × L, telles que
X ≈ QF
Prenons l'example des appréciations de lms notées, avec N utilisateurs et L
lms, les coecients de notre matrice X étant des notes données par l'utilisateur
i au lm ` (on a dans ce cas beaucoup de données manquantes). NMF va créer K
critères abstraits, aussi appelés facteurs cachés, de notation lms qui dénirons
chaque utilisateur dans la matrice Q et chaque lm dans la matrice F . Énoncé
d'une autre façon, l'ensemble des notations de chaque lm est approché par
une combinaison linéaire des K colonnes "bases" de Q. NMF n'est autre qu'une
version positive de l'analyse en composantes principales (ACP), l'ACP étant
calculée par décomposition en valeurs singulières, c'est à dire une factorisation
de matrice sans contrainte de non négativité.
5
Pour se ramener à notre problématique, nos utilisateurs deviennent nos individus, nos lms deviennent nos locus, et nos notes deviennent l'absence ou
la présence de l'allèle dérivé. Les K critères inférés par NMF sont en fait les
populations ancestrales, et en normalisant chaque ligne de la matrice Q obtenue
(correspondant à un individu), on obtient les pourcentages d'appartenance de
cet individu à chacune des populations ancestrales inférées (coecients de métissage) ; ceci n'est pas possible sans la contrainte non négativité.
L'approche conventionnelle pour trouver Q et F est de minimiser la diérence
entre X et QF :
N
L
1 XX
(Xi` − (QF )i` )2
min f (Q, F ) =
Q,F
2 i=1
`=1
avec Qia ≥ 0, Fbj ≥ 0, ∀a, b, i, j ; ∀Xi` déni (données présentes).
Il existe diérents algorithmes pour résoudre ce problème [2], et aucun ne se
dégage des autres en terme de vitesse de convergence dans le cas général, cette
dernière dépend avant tout du problème. Nous en avons comparé trois (cf partie
4.2), avant de choisir l'algorithme ALS [12](Alternating Least Squares), qui s'est
révélé être le plus rapide pour notre cas. Le principe est le suivant :
ALS
Q = random(N, K)
Algorithm 1
for i = 1 : maxiter
Résoudre QT QF = QT X
Remplacer tous les éléments négatifs de F par 0
Résoudre F F T QT = F X T
Remplacer tous les éléments négatifs de Q par 0
end
Si ((fi−1 (W, H) − fi (W, H)) < tol), break ;
avec maxiter le nombre d'itérations maximum, et tol le critère de convergence, spéciés par l'utilisateur.
2.2.3
Structure génétique des populations - LDA
La méthode de référence dans le domaine [13], implantée par le logiciel STRUCTURE, utilise un modèle Bayésien du même type que LDA (Latent Dirichlet Allocation) [3] pour inférer les populations ancestrales et quantier l'appartenance
de chaque individu à chaque population ancestrale (coecients de métissage).
Supposons K populations ancestrales. Soit :
zi` la population d'appartenance de l'individu i au locus `
fk` la fréquence ancestrale de l'allèle muté au locus ` dans la population
k
6
qik la proportion du génome de l'individu i provenant de la population k
(coecient de métissage)
Le modèle de la probabilité d'observer l'allèle muté au locus ` du génome de
l'individu i est
P (xi` = 1|Z, F, Q) = fzi` `
et
P (zi` = k|F, Q) = qik
avec la distribution de Dirichlet comme probabilité à priori pour F et Q :
fkl ∼ D(λ0 , λ1 )1
qi ∼ D(α, α, ..., α)
En choisissant λ0 = λ1 = 1, cela donne une distribution uniforme sur la
fréquence des allèles ancestraux et dérivés.
Quand α est grand, les individus sont modélisés comme possèdant des allèles
mutés provenant des K populations en proportions égales. À l'inverse, quand α
est petit les individus tendent à provenir d'une seule population. Le paramètre
inconnu α ∈ [0, 10] est inféré d'après les données.
La résolution de ce modèle s'eectue par des méthodes MCMC (Markov
Chain Monte Carlo) que nous ne décrirons pas ici.
3
Proximité théorique entre NMF et LDA
En négligeant la uctuation aléatoire des fréquences d'allèle pendant l'évolution depuis l'ancêtre commun (absence de dérive), la probabilité d'observer
un descendant de la population k au locus ` portant la mutation xi` = 1 est
p(xi` = 1, zi` = k) = fk` p(zi` = k)
avec zi` la population d'appartenance de l'individu i au locus `. Nous avons
donc :
K
X
p(xi` = 1) =
fk` p(zi` = k)
k=1
En prenant qik = p(zi` = k) pour coecient de métissage, nous obtenons :
p(xi` = 1) =
K
X
qik fk`
k=1
Bien entendu, les matrices Q et F sont inconnues et nous devons les estimer à
partir des données. Ainsi nous sommes devant un problème de factorisation de
matrice non-négative
X = QF
où Q est de taille N × K et F de taille K × L.
7
4
Mise en pratique et résultats
4.1 NMF - Outils utilisés
Nous avons voulu comparer les 2 algorithmes les plus répandus (Multiplicative Update (MU) [8], et Alternating Least Squares (ALS) [12]) ainsi qu'un
troisième plus récent (Projected Gradient (PG) [5]). Les algorithmes pour NMF
n'étant pas triviaux à implémenter, nous avons cherché des implémentations
existantes de ces algorithmes, de préférence dans un langage compilé. La bibliothèque open-source GraphLab [9], de plus en plus utilisée en apprentissage
statistique, proposait une implémentation C++ de l'algorithme MU intéressante
et parallélisable. Il s'est révélé que le code était buggé et nous avons activement
participé au debuggage fructueux de ce dernier en coopération avec D. Bickson,
le développeur principal. Néanmoins, nous n'avons pas retenu cette implémentation, faute de trouver des implémentations compilées pour les autres algorithmes
an de pouvoir les comparer. Après avoir testé divers paquetages R, nous avons
nalement décidé d'utiliser les implémentations natives de matlab pour les algorithmes MU et ALS, et le script matlab fourni par l'auteur de l'algorithme
PG [5].
4.2 Performances
Nous avons eectué des comparaisons de temps d'exécution sur des données
du HGDP en assumant 5 populations ancestrales (une par continent) avec différents nombres de locus (de 2635 à 78253) entre chacun des algorithmes de
NMF, STRUCTURE, et un autre logiciel : ADMIXTURE [1]. ADMIXTURE
utilise le même modèle que STRUCTURE, mais eectue des approximations
an d'accélerer le temps de calcul. C'est la référence en termes de performances
pour ce modèle. Nous n'avons lancé STRUCTURE qu'avec le plus petit nombre
de locus (2635), au delà le temps d'exécution est trop long.
Les données de la gure 1 ont été obtenues en moyenne sur 5 exécutions, avec
des implémentations séquentielles des algorithmes. Les critères de convergence
des algorithmes étant diérents, nous les avons choisis un à un tels que la corrélation de Pearson entre les coecients de métissage obtenus avec ADMIXTURE
et avec chacune des autres méthodes soient supérieurs à 0.99, et égaux entre
eux à 10−3 près. Ceci vaut aussi pour STRUCTURE (cela donne l'équivalent de
environ 2000 itérations). La machine de test est équipée d'un processeur Intel
Core i7 [email protected], et de 6Go de RAM.
8
Figure 1 Temps d'exécution sur les données du HGDP avec K =5 populations ancestrales et N =942 individus en fonction du nombre de locus L pour
ADMIXTURE, STRUCTURE (1 seul point), Alternating Least Squares (ALS),
Projected Gradient (PG) et Multiplicative Update (MU)
L'algorithme de NMF le plus ecace pour notre problème est donc ALS, et
la courbure de l'évolution du temps d'exécution en fonction du nombre de locus
(gure 1) laisse présager de bien meilleurs gains sur des jeux de données beaucoup plus gros (plusieurs millions de marqueurs). L'algorithme ALS apporte un
speed-up allant de 4 à 6.5 par rapport à ADMIXTURE. De plus il ne faut pas
oublier que les programmes STRUCTURE et ADMIXTURE sont des binaires
compilés alors que les 3 algorithmes pour NMF sont des scripts matlab interprétés. Les temps d'exécution de ces trois derniers sont donc comparables entre
eux, mais le gain réel par rapport à ADMIXTURE avec les 3 algorithmes de
NMF, et particulièrement ALS, est potentiellement encore plus élevé.
4.3 Résultats - Données simulées
An de valider l'applicabilité de la factorisation de matrice non-négative à
notre problème, nous avons simulé un jeu de donnée comportant N = 200 individus et L = 100 locus, avec 2 populations ancestrales. On dénit 50 marqueurs
mutés (Xi` = 1) comme étant caractéristique d'une population, les 50 autres
étant caractéristiques de l'autre. On dénit pour chacun des 200 individus leurs
coecients de métissages, puis on échantillone notre matrice X aléatoirement en
fonction du coecient de métissage de chaque individu. On compare ensuite les
résultats obtenus avec STRUCTURE (pour 500 itérations) et avec ALS (avec
tol = 10−8 et maxiter susamment grand) (gure 2).
9
Figure 2 Diagramme en barres des coecients de métissage de chaque indi-
vidu (colonnes) à chaque population (couleurs) estimés avec STRUCTURE et
ALS (Alternating Least Squares) sur des données simulées, où R est la corrélation de Pearson aux coecients simulés
Les deux méthodes retrouvent très bien les coecients de métissages simulés.
La corrélation de Pearson R avec ces derniers est supérieure à 0.98 dans les deux
cas, les p-valeurs de signicativité correspondantes étant nulles.
4.4 Résultats - HGDP
Nous avons ensuite comparé la proximité des résultats entre ADMIXTURE
et ALS sur des données de grande taille provenant du HGDP, en utilisant bienentendu les mêmes critères de convergence que pour les tests de performance.
Nous avons ici utilisé 942 individus pour 78253 marqueurs génétiques. Les diagrammes en barres suivants représentent les coecients de métissage de chacun des 942 individus provenant de 54 populations diérentes réparties dans le
monde entier, chaque barre étant un individu, chaque couleur une population
ancestrale inférée. Nous avons exécuté les 2 algorithmes pour K allant de 2 à 6.
10
Figure 3 Diagramme en barres des coecients de métissage de chaque indi-
vidu (colonnes) à chaque population (couleurs) obtenus avec ADMIXTURE et
ALS sur des données du HGDP, où R est la corrélation de Pearson
Graphiquement, force est de constater que les diagrammes sont deux à deux
très similaires (gure 3). La correlation de Pearson R entre les coecients de
métissage est supérieure à 0.99 avec une p-valeur de signicativité nulle, quel
que soit K . Avec des données réelles telles que celles-ci, les vrais coecients de
métissage sont inconnus, on ne peut donc calculer la corrélation qu'entre les
résultats des deux algorithmes.
11
5
Conclusion
Les taux de corrélations élevés (supérieurs à 0.99) entre les coecients de
métissage obtenus avec la factorisation de matrice non-négative (algorithme
ALS) et le modèle LDA (avec ADMIXTURE) viennent conrmer en pratique la
proximité théorique entre ces deux approches de classication non-supervisée.
Les comparaisons de performances en faveur des algorithmes de factorisation
de matrice non-négative (particulièrement pour ALS et PG) et le modèle LDA
est un résultat important à l'heure actuelle, où la taille des bases de données
génétique augmente à grande vitesse, particulièrement pour le génome humain.
Le temps de traitement de ces données devient donc un facteur à prendre en
compte, et les algorithmes de factorisation de matrice non-négative apportent
une réponse à ce problème.
Il pourrait être judicieux de comparer encore d'autres algorithme pour NMF
(telle que les méthodes par descente de gradient), et de pousser les comparaisons
de performances sur des jeux encore plus gros (plusieurs millions de marqueurs).
La perspective la plus importante est de fournir rapidement à la communauté
scientique une implémentation dans un langage compilé d'un algorithme de
NMF performant et simple d'utilisation, travail qui sera eectué par un stagiaire
qui prendra la suite de nos travaux.
12
Références
[1] David H. Alexander, John Novembre, and Kenneth Lange. Fast modelbased estimation of ancestry in unrelated individuals. Genome Research,
19(9) :16551664, 2009.
[2] Michael W. Berry, Murray Browne, Amy N. Langville, V. Paul Pauca,
and Robert J. Plemmons. Algorithms and applications for approximate
nonnegative matrix factorization, 2006.
[3] David M. Blei, Andrew Y. Ng, Michael I. Jordan, and John Laerty. Latent
dirichlet allocation. Journal of Machine Learning Research, 3 :2003, 2003.
[4] H. Cann et al. A human genome diversity cell line panel, 2002.
[5] Chih jen Lin. Projected gradient methods for non-negative matrix factorization, 2007.
[6] Yehuda Koren, Robert Bell, and Chris Volinsky. Matrix factorization techniques for recommender systems, 2009.
[7] Daniel D. Lee and H. Sebastian Seung. Learning the parts of objects by
non-negative matrix factorization. Nature, 401(6755) :788791, 1999.
[8] Daniel D. Lee and H. Sebastian Seung. Algorithms for non-negative matrix
factorization. pages 556562, 2000.
[9] Yucheng Low, Joseph Gonzalez, Aapo Kyrola, Danny Bickson, Carlos
Guestrin, and Joseph M. Hellerstein. Graphlab : A new parallel framework for machine learning. July 2010.
[10] S. L. Crowell M. W. Nachman. Estimate of the mutation rate per nucleotide
in humans, 2000.
[11] J.L. Weber H.M. Cann K.K. Kidd L.A. Zhivotovsky N.A. Rosenberg,
J.K. Pritchard and M.W. Feldman. Genetic structure of human population,
2002.
[12] Pentti Paatero and Unto Tapper. Positive matrix factorization : A nonnegative factor model with optimal utilization of error estimates of data
values. Environmetrics, 5(2) :111126, 1994.
[13] J. K. Pritchard, M. Stephens, and P. Donnelly. Inference of population
structure using multilocus genotype data. Genetics, 155 :945959, 2000.
13
Téléchargement