Apprentissage statistique,
Cr´er des machines intelligentes
e

Ga¨l Varoquaux
e
1 L’apprentissage statistique en deux
mots
2 Une application en recherche en
neuroscience
3 Scikit-learn: une boite ` outi...
1 L’apprentissage statistique en
deux mots

G Varoquaux

3
1 Une perspective historique
Intelligence artificielle
Concevoir des r`gles de d´cision
e
e

ann´es 80
e

Mangeable?
Grand?...
1 Une perspective historique
Intelligence artificielle
Concevoir des r`gles de d´cision
e
e

ann´es 80
e

Apprentissage mac...
1 Une perspective historique
Intelligence artificielle
Concevoir des r`gles de d´cision
e
e

ann´es 80
e

Apprentissage mac...
1 Une perspective historique
Intelligence artificielle
Concevoir des r`gles de d´cision
e
e

ann´es 80
e

Apprentissage mac...
1 Une perspective historique
Intelligence artificielle
Concevoir des r`gles de d´cision
e
e

ann´es 80
e

Apprentissage mac...
1 L’apprentissage statistique
Exemple: reconnaissance de visage

Andr´
e

G Varoquaux

Bernard

Charles

Didier

5
1 L’apprentissage statistique
Exemple: reconnaissance de visage

Andr´
e

G Varoquaux

Bernard

Charles

?

Didier

5
1 M´thode na¨
e
ıve

1 Stocker des images connues (bruit´es) et les noms
e
qui vont avec.

2 A partir d’une photo (bruit´e...
1 M´thode na¨
e
ıve

1 Stocker des images connues (bruit´es) et les noms
e
qui vont avec.

2 A partir d’une photo (bruit´e...
1 1er probl`me: le bruit
e

Taux de prediction

Donn´es non li´es ` la variable ` pr´dire
e
e a
a e

1.0
0.9
0.8
0.7
0.6
0...
e
1 2`me probl`me: nombre de descripteurs
e

Taux de prediction

Trouver une aiguille dans une botte de foin
0.95
0.90
0.8...
1 L’apprentissage statistique
Exemple: reconnaissance de visage
Apprentissage ` partir de
a
descripteurs num´riques
e
Diffic...
1 Apprentissage supervis´: r´gression
e e

y

Un seul descripteur:
une dimension

x

G Varoquaux

10
1 Apprentissage supervis´: r´gression
e e

y

y

Un seul descripteur:
une dimension

x

x
Quel mod`le pr´f´rer?
e
ee

G Va...
1 Apprentissage supervis´: r´gression
e e

y

y

Un seul descripteur:
une dimension

x
x
Probl`me du “sur-apprentissage”
e...
1 Apprentissage supervis´: r´gression
e e

y

y

Un seul descripteur:
une dimension

x
x
Pr´f´rer les mod`les simples
ee
e...
1 Apprentissage supervis´: r´gression
e e

y

y

Un seul descripteur:
une dimension

Compromis biais

variance

x
x
Pr´f´r...
1 Apprentissage supervis´: r´gression
e e
Un seul descripteur:
une dimension

Deux descripteurs:
2 dimensions

y

y

x

X_...
1 Apprentissage supervis´: r´gression
e e
Un seul descripteur:
une dimension

Deux descripteurs:
2 dimensions

y

y

x

X_...
1 Apprentissage supervis´: classification
e
Variable ` pr´dire cat´gorielle, par ex. des chiffres
a e
e
X2

X1
G Varoquaux

...
1 Apprentissage non supervis´
e
Structure de la bourse

G Varoquaux

http://scikit-learn.org/stable/auto examples/
applica...
1 Apprentissage non supervis´
e
Structure de la bourse
Donn´es non lab´lis´es
e
e e
plus courantes que les donn´es labelis...
1 L’apprentissage statistique

Des d´fis
e
Statistiques
Computationels

G Varoquaux

13
1 Strat´gies d’apprentissage sur du “big data”
e

Big data
L’acc`s aux donn´es limite plus que
e
e
la puissance de calcul
...
1 Strat´gies d’apprentissage sur du “big data”
e
1 R´duction de donn´es ` la vol´e
e
e a
e

Une r´duction rapide,
e
respec...
1 Strat´gies d’apprentissage sur du “big data”
e
1 R´duction de donn´es ` la vol´e
e
e a
e
2 Algorithmes “en ligne”

Conso...
1 Strat´gies d’apprentissage sur du “big data”
e
1 R´duction de donn´es ` la vol´e
e
e a
e
2 Algorithmes “en ligne”
3 Para...
1 Strat´gies d’apprentissage sur du “big data”
e
1
2
3
4

R´duction de donn´es ` la vol´e
e
e a
e
Algorithmes “en ligne”
P...
1 Strat´gies d’apprentissage sur du “big data”
e
1
2
3
4
5

R´duction de donn´es ` la vol´e
e
e a
e
Algorithmes “en ligne”...
1 Apprentissage statistique
Apprendre une logique
d´cisionnelle
e

G Varoquaux

15
1 Apprentissage statistique et big data
Apprendre une logique
d´cisionnelle riche
e

G Varoquaux

15
1 Apprentissage statistique et big data
Apprendre une logique
d´cisionnelle riche
e

Regression

Classification

Non superv...
1 Apprentissage statistique et big data
Apprendre une logique
d´cisionnelle riche
e

Les difficult´s
e
Statistiques
grande d...
2 Une application en recherche
en neuroscience

Lier la biologie des neurones ` la pens´e
a
e
G Varoquaux

16
2 L’IRM fonctionnelle

t

Enregistrement de l’activit´ c´r´brale
e ee

G Varoquaux

17
2 NeuroImagerie cognitive

Apprendre un lien bilateral entre activit´
e
c´r´brale et fonction cognitive
ee
G Varoquaux

18
2 Mod`les d’encodage de l’information
e

Pr´dire les r´ponses neurales
e
e
⇒ apprendre les repr´sentations c´rebrale
e
e
G...
2 D´codage de l’activit´ c´r´brale
e
e ee

“Lire dans les pens´es”
e
G Varoquaux

20
2 Accumulation de donn´es
e

Atlas cognitif

G Varoquaux

21
2 Accumulation de donn´es
e

Atlas cognitif

Probl´matique d’apprentissage et de
e
“big data” en science fondementale

G V...
3 Scikit-learn: une boite `
a
outils d’apprentissage

G Varoquaux

c Theodore W. Gray

22
3 scikit-learn
L’apprentissage statistique pour tous
Pas de domaine d’application sp´cifique
e
Pas de pr´requis en machine ...
3 Une biblioth`que Python
e
Une biblioth`que, pas un programme
e
Plus expressif et polyvalent
Facile ` integrer
a
Python:
...
3 Performance computationelle
scikit-learn
SVM
5.2
LARS
1.17
Elastic Net 0.52
kNN
0.57
PCA
0.18
k-Means
1.34

mlpy pybrain...
3 D´veloppement comunautaire
e
´
Enormement de fonctionnalit´s:
e
b´n´fices d’une grande ´quipe
e e
e
Croissance du projet:...
3 Fonctionalit´s
e
Apprentissage supervis´
e
Arbres de d´cision (Random-Forest, Boosted Tree)
e
Mod`les lin´aires
e
e
SVM
...
Code

G Varoquaux

28
3 Structures de donn´es
e
27
7979
8794
0387 52701578
07
0179 46124797
17
9407 18717887
07
5497 90495190
34
1365 65358098
4...
3 Sp´cifier un mod`le
e
e
Un concept central: l’estimateur
Instanci´ sans les donn´es
e
e
Mais en sp´cifiant ses param`tres
...
3 Entraˆ
ıner un mod`le
e
Apprendre ` partir de donn´es
a
e
estimator . f i t ( X train , Y train )
o`:
u
X est un tableau...
3 Utiliser un mod`le
e
Prediction: classification, regression
Y test = estimator . predict ( X test )
Transformation: reduc...
3 Vectorization
Passer des donn´es brutes ` la matrices X
e
a

doc 1
doc 2
doc 3
doc 4
doc 5
doc 6
doc 7
doc 8
doc 9
doc 1...
3 Vectorization
Passer des donn´es brutes ` la matrices X
e
a
Pour le texte: compter les occurrences de mots
- Donn´es d’e...
Exemples

G Varoquaux

34
Scikit-Learn: Machine Learning en Python
Apprentissage + big data = logique d´cisionnelle riche
e
Statistiques, algorithme...
Prochain SlideShare
Chargement dans…5
×

Scikit-learn: apprentissage statistique en Python. Créer des machines intelligentes

3 204 vues

Publié le

High-level talk about machine learning: the statistical and computational challenges, as well as how they can be answer by the scikit-learn Python toolkit. In French

Publié dans : Technologie, Formation
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 204
Sur SlideShare
0
Issues des intégrations
0
Intégrations
79
Actions
Partages
0
Téléchargements
87
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Scikit-learn: apprentissage statistique en Python. Créer des machines intelligentes

  1. 1. Apprentissage statistique, Cr´er des machines intelligentes e Ga¨l Varoquaux e
  2. 2. 1 L’apprentissage statistique en deux mots 2 Une application en recherche en neuroscience 3 Scikit-learn: une boite ` outils a d’apprentissage G Varoquaux 2
  3. 3. 1 L’apprentissage statistique en deux mots G Varoquaux 3
  4. 4. 1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Mangeable? Grand? Mobile? G Varoquaux 4
  5. 5. 1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e G Varoquaux 4
  6. 6. 1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e Apprentissage statistique ann´es 2000 e Mod´liser le bruit dans les observations e G Varoquaux 4
  7. 7. 1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e Apprentissage statistique ann´es 2000 e Mod´liser le bruit dans les observations e Big data Beaucoup d’observations, des r`gles simples e G Varoquaux maintenant 4
  8. 8. 1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e Apprentissage statistique ann´es 2000 e Mod´liser le bruit dans les observations e Big data Beaucoup d’observations, des r`gles simples e maintenant “Big data isn’t actually interesting without machine learning” Steve Jurvetson, VC, Silicon Valley G Varoquaux 4
  9. 9. 1 L’apprentissage statistique Exemple: reconnaissance de visage Andr´ e G Varoquaux Bernard Charles Didier 5
  10. 10. 1 L’apprentissage statistique Exemple: reconnaissance de visage Andr´ e G Varoquaux Bernard Charles ? Didier 5
  11. 11. 1 M´thode na¨ e ıve 1 Stocker des images connues (bruit´es) et les noms e qui vont avec. 2 A partir d’une photo (bruit´e aussi), trouver l’image e qui lui ressemble le plus. M´thode “des plus proches voisins” e G Varoquaux 6
  12. 12. 1 M´thode na¨ e ıve 1 Stocker des images connues (bruit´es) et les noms e qui vont avec. 2 A partir d’une photo (bruit´e aussi), trouver l’image e qui lui ressemble le plus. M´thode “des plus proches voisins” e Quel taux d’erreurs sur les images d´j` vues? ea ... 0: pas d’erreurs Donn´es de test = donn´es d’apprentissage e e G Varoquaux 6
  13. 13. 1 1er probl`me: le bruit e Taux de prediction Donn´es non li´es ` la variable ` pr´dire e e a a e 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.0 G Varoquaux 0.5 1.0 1.5 2.0 Niveau de bruit 2.5 3.0 7
  14. 14. e 1 2`me probl`me: nombre de descripteurs e Taux de prediction Trouver une aiguille dans une botte de foin 0.95 0.90 0.85 0.80 0.75 0.70 0.65 G Varoquaux 1 2 3 4 5 6 7 8 9 Fraction utile du cadre 10 8
  15. 15. 1 L’apprentissage statistique Exemple: reconnaissance de visage Apprentissage ` partir de a descripteurs num´riques e Difficult´s: i) bruit, e Andr´ e Bernard Charles Didier ii) nombre de descripteurs Tˆche “supervis´e”: labels connus a e Tˆche “non supervis´e”: labels inconnus a e G Varoquaux ? 9
  16. 16. 1 Apprentissage supervis´: r´gression e e y Un seul descripteur: une dimension x G Varoquaux 10
  17. 17. 1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension x x Quel mod`le pr´f´rer? e ee G Varoquaux 10
  18. 18. 1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension x x Probl`me du “sur-apprentissage” e (“overfit”) Minimiser l’erreur n’est pas toujours favorable (apprentissage du bruit) Donn´es de test = donn´es d’apprentissage e e G Varoquaux 10
  19. 19. 1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension x x Pr´f´rer les mod`les simples ee e = concept de “r´gularisation” e Equilibrer le nombre de param`tres ` apprendre e a avec la quantit´ de donn´es e e G Varoquaux 10
  20. 20. 1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension Compromis biais variance x x Pr´f´rer les mod`les simples ee e = concept de “r´gularisation” e Equilibrer le nombre de param`tres ` apprendre e a avec la quantit´ de donn´es e e G Varoquaux 10
  21. 21. 1 Apprentissage supervis´: r´gression e e Un seul descripteur: une dimension Deux descripteurs: 2 dimensions y y x X_2 X_1 Plus de param`tres e Equilibrer le nombre de param`tres ` apprendre e a avec la quantit´ de donn´es e e G Varoquaux 10
  22. 22. 1 Apprentissage supervis´: r´gression e e Un seul descripteur: une dimension Deux descripteurs: 2 dimensions y y x X_2 X_1 Plus de param`tres e ⇒ besoin de plus de donn´es e “mal´diction de la dimensionalit´” e e G Varoquaux 10
  23. 23. 1 Apprentissage supervis´: classification e Variable ` pr´dire cat´gorielle, par ex. des chiffres a e e X2 X1 G Varoquaux 11
  24. 24. 1 Apprentissage non supervis´ e Structure de la bourse G Varoquaux http://scikit-learn.org/stable/auto examples/ applications/plot stock market.html 12
  25. 25. 1 Apprentissage non supervis´ e Structure de la bourse Donn´es non lab´lis´es e e e plus courantes que les donn´es labelis´es e e G Varoquaux http://scikit-learn.org/stable/auto examples/ applications/plot stock market.html 12
  26. 26. 1 L’apprentissage statistique Des d´fis e Statistiques Computationels G Varoquaux 13
  27. 27. 1 Strat´gies d’apprentissage sur du “big data” e Big data L’acc`s aux donn´es limite plus que e e la puissance de calcul G Varoquaux 14
  28. 28. 1 Strat´gies d’apprentissage sur du “big data” e 1 R´duction de donn´es ` la vol´e e e a e Une r´duction rapide, e respectant les propri´t´s ee statistiques des donn´es e Limite la charge m´moire + disque e G Varoquaux 14
  29. 29. 1 Strat´gies d’apprentissage sur du “big data” e 1 R´duction de donn´es ` la vol´e e e a e 2 Algorithmes “en ligne” Consomment les donn´es en flux e Convergent vers des grandeurs moyennes G Varoquaux 14
  30. 30. 1 Strat´gies d’apprentissage sur du “big data” e 1 R´duction de donn´es ` la vol´e e e a e 2 Algorithmes “en ligne” 3 Parall´lisme par d´coupage des donn´es e e e Stratification pour suivre la structure statistique et de stockage des donn´es e Taille des blocs adapt´ e aux unit´s de calcul e G Varoquaux 14
  31. 31. 1 Strat´gies d’apprentissage sur du “big data” e 1 2 3 4 R´duction de donn´es ` la vol´e e e a e Algorithmes “en ligne” Parall´lisme par d´coupage des donn´es e e e Caching Minimiser la latence d’acc`s aux donn´es e e Ne pas recalculer la mˆme chose e G Varoquaux 14
  32. 32. 1 Strat´gies d’apprentissage sur du “big data” e 1 2 3 4 5 R´duction de donn´es ` la vol´e e e a e Algorithmes “en ligne” Parall´lisme par d´coupage des donn´es e e e Caching Acc`s rapide aux donn´es e e Repr´sentation coh´rente avec les motifs d’acc`s e e e Compression pour limiter la bande consomm´e e G Varoquaux 14
  33. 33. 1 Apprentissage statistique Apprendre une logique d´cisionnelle e G Varoquaux 15
  34. 34. 1 Apprentissage statistique et big data Apprendre une logique d´cisionnelle riche e G Varoquaux 15
  35. 35. 1 Apprentissage statistique et big data Apprendre une logique d´cisionnelle riche e Regression Classification Non supervis´, ex. clustering e G Varoquaux 15
  36. 36. 1 Apprentissage statistique et big data Apprendre une logique d´cisionnelle riche e Les difficult´s e Statistiques grande dimension ⇒ sur-apprentissage Computationelles sch´ma d’acc´s aux donn´es e e e G Varoquaux 15
  37. 37. 2 Une application en recherche en neuroscience Lier la biologie des neurones ` la pens´e a e G Varoquaux 16
  38. 38. 2 L’IRM fonctionnelle t Enregistrement de l’activit´ c´r´brale e ee G Varoquaux 17
  39. 39. 2 NeuroImagerie cognitive Apprendre un lien bilateral entre activit´ e c´r´brale et fonction cognitive ee G Varoquaux 18
  40. 40. 2 Mod`les d’encodage de l’information e Pr´dire les r´ponses neurales e e ⇒ apprendre les repr´sentations c´rebrale e e G Varoquaux 19
  41. 41. 2 D´codage de l’activit´ c´r´brale e e ee “Lire dans les pens´es” e G Varoquaux 20
  42. 42. 2 Accumulation de donn´es e Atlas cognitif G Varoquaux 21
  43. 43. 2 Accumulation de donn´es e Atlas cognitif Probl´matique d’apprentissage et de e “big data” en science fondementale G Varoquaux 21
  44. 44. 3 Scikit-learn: une boite ` a outils d’apprentissage G Varoquaux c Theodore W. Gray 22
  45. 45. 3 scikit-learn L’apprentissage statistique pour tous Pas de domaine d’application sp´cifique e Pas de pr´requis en machine learning e Librairie logicielle de qualit´ e Interfaces pens´es pour l’utilisateur e D´veloppement communautaire e License BSD, contributeurs tr`s vari´s e e http://scikit-learn.org G Varoquaux 23
  46. 46. 3 Une biblioth`que Python e Une biblioth`que, pas un programme e Plus expressif et polyvalent Facile ` integrer a Python: Un langage haut niveau - interactif, - facile ` debugger, a Appels transparents au C Ecosyst`me tr`s dynamique e e G Varoquaux 24
  47. 47. 3 Performance computationelle scikit-learn SVM 5.2 LARS 1.17 Elastic Net 0.52 kNN 0.57 PCA 0.18 k-Means 1.34 mlpy pybrain pymvpa 9.47 17.5 11.52 105.3 37.35 73.7 1.44 1.41 0.56 8.93 0.79 ∞ - mdp shogun 40.48 5.63 0.58 1.36 0.47 0.33 35.75 0.68 Optimisations algorithmiques et non bas niveau Minimiser les copies des donn´es e G Varoquaux 25
  48. 48. 3 D´veloppement comunautaire e ´ Enormement de fonctionnalit´s: e b´n´fices d’une grande ´quipe e e e Croissance du projet: Plus de 200 contributeurs ∼ 12 d´veloppeurs coeur e 1 ing´nieur INRIA temps plein e Coˆt de d´veloppement estim´: 6 millions $ u e e Mod`le COCOMO, e http://www.ohloh.net/p/scikit-learn G Varoquaux 26
  49. 49. 3 Fonctionalit´s e Apprentissage supervis´ e Arbres de d´cision (Random-Forest, Boosted Tree) e Mod`les lin´aires e e SVM Apprentissage non supervis´ e Clustering Apprentissage de dictionnaire D´tection d’outliers e S´lection de mod`les e e Validation crois´e int´gr´e e e e Optimisation de param`tres e G Varoquaux 27
  50. 50. Code G Varoquaux 28
  51. 51. 3 Structures de donn´es e 27 7979 8794 0387 52701578 07 0179 46124797 17 9407 18717887 07 5497 90495190 34 1365 65358098 42 7475 46349084 15 4872 73245614 56 9034 87745620 71 7895 9 1 4 9 7 3 2 9 4 1 7 9 3 7 6 5 4 4 9 7 8 3 1 8 8 0 Tableau numpy Tableau num´rique typ´ n-dimensionnel e e Abstraction sur un pointeur Matrice creuse scipy Structure 2D avec peu d’´l´ments ee Diff´rentes repr´sentations de donn´es e e e 6 Calcul vectoriel Op´rations num´riques et matricielles e e G Varoquaux 29
  52. 52. 3 Sp´cifier un mod`le e e Un concept central: l’estimateur Instanci´ sans les donn´es e e Mais en sp´cifiant ses param`tres e e from s k l e a r n . n e i g h b o r s import KNearestNeighbors estimator = KNearestNeighbors ( n n e i g h b o r s =2) G Varoquaux 30
  53. 53. 3 Entraˆ ıner un mod`le e Apprendre ` partir de donn´es a e estimator . f i t ( X train , Y train ) o`: u X est un tableau ou une matrice de forme nobservations × ndescripteurs y est un tableau numpy, entier ou flottant nobservations G Varoquaux 31
  54. 54. 3 Utiliser un mod`le e Prediction: classification, regression Y test = estimator . predict ( X test ) Transformation: reduction de dimension, filtre X new = e s t i m a t o r . t r a n s f o r m ( X t e s t ) Estimation de densit´, vraissemblance e test score = estimator . score ( X test ) Estimation “en-line” e s t i m a t o r . p a r t i a l f i t (X, Y) G Varoquaux 32
  55. 55. 3 Vectorization Passer des donn´es brutes ` la matrices X e a doc 1 doc 2 doc 3 doc 4 doc 5 doc 6 doc 7 doc 8 doc 9 doc 10 doc 11 doc 12 doc 13 doc 14 Pour le texte: compter les occurrences de mots - Donn´es d’entr´e: liste de documents (string) e e - Donn´es de sortie: matrice creuse e n pytho java 33 99 C# iler p com G Varoquaux 1 ace 1 interf r serve r44 drive 7 7 22 99 44 44 1 1 99 77 99 33 88 66 77 55 33 4 9 9 88 7 7 00 88 33
  56. 56. 3 Vectorization Passer des donn´es brutes ` la matrices X e a Pour le texte: compter les occurrences de mots - Donn´es d’entr´e: liste de documents (string) e e - Donn´es de sortie: matrice creuse e from s k l e a r n . f e a t u r e e x t r a c t i o n . t e x t import H a s h i n g V e c t o r i z e r h a s h e r = H a s h i n g V e c t o r i z e r () X = h a s h e r . f i t t r a n s f o r m ( documents ) G Varoquaux 33
  57. 57. Exemples G Varoquaux 34
  58. 58. Scikit-Learn: Machine Learning en Python Apprentissage + big data = logique d´cisionnelle riche e Statistiques, algorithmes, acc`s aux donn´es e e Scikit-learn: - En Python - Projet dynamique - Page web tr`s fournie e http://scikit-learn.org @GaelVaroquaux

×