View
232
Download
0
Category
Preview:
Citation preview
Introduction a l’apprentissage automatique
Seance 1
Introduction, classification non-supervisee
Frederic SurEcole des Mines de Nancy
https://members.loria.fr/FSur/enseignement/apprauto/
1/42
Plan
1 IntroductionVocabulaireExemplesLe cours
2 Apprentissage et IA : difficultes fondamentalesMalediction de la dimensionnaliteDilemme biais-fluctuation
3 Partitionnement / classification non superviseeClassifications hierarchiquesK -moyennesMean-shift clustering
4 Conclusion
2/42
Qu’est-ce que l’apprentissage ?Apprentissage automatique/statistique (machine/statistical learning)
Deux grandes familles :
Apprentissage supervise pour � algorithme � fw (param. w)Donnees : base d’exemples avec sortie attendue (xi , yi )1≤i≤NPhase 1 : apprentissage, trouver w tel que ∀i , fw (xi ) ' yiPhase 2 : prediction avec x inconnu, fw (x) = ?
yi ∈ {1, 2 . . . ,N} : classification superviseeyi ∈ Rd : regression
Exemples : xi=image, yi ∈ {velo,voiture} (classification),(xi , yi ) = (vitesse, distance d’arret) (regression).
Apprentissage non supervise / partitionnement (clustering)Donnees : base d’exemples (xi )1≤i≤NBut : trouver des sous-ensembles des xi partageant descaracteristiques communes.Exemple : xi � vecteur � des notes de l’eleve i
3/42
Intelligence Artificielle ?� Ensemble de theories et de techniques mises en œuvre en vue derealiser des machines capables de simuler l’intelligence humaine. �
Source : larousse.fr
Test de TuringImitation game
IA generale,IA forte,IA faible
Illustration : By Bilby (Own work) [Public domain], viaWikimedia Commons
4/42
Quelques notions historiques
1642 : Blaise Pascal et pascaline
1763-1812 : theoreme de Bayes (Bayes - Laplace)
∼1945 : premiers ordinateurs→ applications potentielles : traitement du langage naturel,� systemes experts �, OCR, computer vision, jeux. . .
1970s : “AI winter”
1980s : reseaux de neurones artificiels et apprentissage
1990s : premieres voitures autonomes
fin 1990s : SVM, methodes a noyau
1997 : Deep Blue bat Garry Kasparov
debut 2000 : robotique grand public
2010s : apprentissage profond (deep learning)
2016 : AlphaGo bat Lee Sedol
. . .
5/42
Apprentissage non supervise / partitionnement
Illustration : scikit-learn, iris de Fisher
Problemes : dimension, metrique, ambiguıte. . .
6/42
Apprentissage supervise
Illustration : scikit-learn
Problemes : dimension, bruit, fonction d’apprentissage, evaluationdes performances. . .
7/42
Regression
Illustration : scikit-learn
La regression lineaire est un algorithme de l’intelligence artificielle !8/42
Exemple : phylogenie moleculaire (partitionnement)
Illustration : britannica.com
9/42
Exemple : Google news (partitionnement)
10/42
Exemple : OCR (apprentissage supervise)
Illustration : scikit-learn
11/42
Exemple : traduction (apprentissage supervise)
→ essayer avec deepl.com. . .
12/42
Exemple : reconnaissance de la parole (apprentissage supervise)
13/42
Exemple : reconnaissance de visages (apprentissage supervise)
Illustration : Viola & Jones 2001
14/42
Exemple : pixel recursive super-resolution (regression)
Illustration : Googlebrain, ICCV 2017
Ici, x ∈ R64, y ∈ R1024
15/42
Exemple : “smart” city ?
Illustration : Saul Loeb/AFP/Getty Images
16/42
Le cours Introduction a l’apprentissage automatiqueProlongement de
TCS 2A Analyse de donnees
Modelisation des seriestemporelles
S’appuie sur TCS 1A :informatique, probabilites, statistique,analyse numerique
Equipe pedagogique :Benoıt Henry, Remi Peyre,Frederic Sur
TP : Python / Scikit-learnboıte a outils experimentale,pas de subtilites dans ce cours. . .
Modalites d’evaluation :test (format TP) le 12 juin 2018.
17/42
Plan
1 IntroductionVocabulaireExemplesLe cours
2 Apprentissage et IA : difficultes fondamentalesMalediction de la dimensionnaliteDilemme biais-fluctuation
3 Partitionnement / classification non superviseeClassifications hierarchiquesK -moyennesMean-shift clustering
4 Conclusion
18/42
La malediction de la dimensionnalite (curse of dimensionality)
Plusieurs aspects lies :
Volume de l’hypersphere unite dans Rd :
Vd =πd/2
Γ(d/2 + 1)∼
d→∞1√πd
(2πe
d
)d/2
−−−→d→∞
0
Volume de l’hypercube circonscrit : 2d
→ plus la dimension est grande, � plus il y a de place �
→ � concentration dans les coins �
Combinatoire / estimation de frequences→ quelle est la taille moyenne des eleves-ingenieurs ayantobtenu C en TCS analyse de donnees ?→ quelle est la taille moyenne des eleves-ingenieurs ayantobtenu C en TCS analyse de donnees, A en statistique, E enmathematiques I, Fx en mathematiques II ?
� Solution � pratique : reduire la dimension (cf. ACP)19/42
Erreur et risque en prediction
Notations et hypotheses :
base d’entraınement : (xi , yi )1≤i≤N , xi ∈ Rd , yi ∈ N ou Rd ′
realisation d’un N-echantillon i.i.d. (X,Y) (loi inconnue)
H : famille de predicteursExemple : H = {h : x 7→ a · x + b, (a, b) ∈ Rd}
cout d’une d’erreur : r(yi , h(xi )) (loss function)ex. regression : r(yi , h(xi )) = (yi − h(xi ))2
ex. classification : r(yi , h(xi )) = 0 si h(xi ) = yi et = 1 sinon
risque empirique : Re(h) = 1N
∑Ni=1 r(yi , h(xi ))
risque moyen de prediction : Rp(h) = E (r(Y , h(X ))) (inconnu)
→ idealement, on voudrait trouver f qui minimise Rp
→ on se contente de chercher f qui minimise Re
20/42
Borne sur le risqueOn suppose que :– f minimise le risque de prediction Rp
– f minimise le risque empirique Re
Question : Rp(f ) eloigne de Rp(f ) ?
Propriete
Rp(f ) ≤ Rp(f ) ≤ Rp(f ) + 2 maxh∈H|Rp(h)− Re(h)|
Preuve :
– par definition de f : Rp(f ) ≤ Rp(f )
– Rp(f ) = Rp(f )− Re(f ) + Re(f )− Re(f ) + Re(f )− Rp(f ) + Rp(f )
mais par definition de f : Re(f )− Re(f ) ≤ 0
et : Rp(f )− Re(f ) + Re(f )− Rp(f ) ≤|Rp(f )− Re(f )|+ |Rp(f )− Re(f )| ≤ 2 maxh∈H |Rp(h)− Re(h)|
Source : http://www.di.ens.fr/~mallat/CoursCollege.html
21/42
Dilemme biais-fluctuation
Rp(f ) ≤ Rp(f ) ≤ Rp(f ) + 2 maxh∈H|Rp(h)− Re(h)|
On aimerait bien que Rp(f ) ne soit pas trop eloigne de Rp(f )(biais), et soit petit.
Rp(f ) : erreur d’approximation � ideale � : plus petite erreurmoyenne pouvant etre atteinte par un predicteur de la famille H.→ pour minimiser Rp(f ), on a interet a avoir un � gros � H.
maxh∈H |Rp(h)− Re(h)| : erreur de fluctuation sur H entrerisque moyen de prediction et risque empirique.→ comme E (Re(h)) = Rp(h), on a interet a avoir N � grand �
→ a N fixe, plus H est � gros �, plus la fluctuation est grande.
Consequence : il faut trouver un compromis.
22/42
IllustrationRegression par polynomes de degre d→ minimisation de Re sur Hd = {x 7→∑d
i=0 aixi}
Illustration : scikit-learn
sous-apprentissage sur-apprentissageunder-fitting over-fitting
Cf criteres d’information AIC/SBC dans le cours series temporelles.23/42
Seance 1
1 IntroductionVocabulaireExemplesLe cours
2 Apprentissage et IA : difficultes fondamentalesMalediction de la dimensionnaliteDilemme biais-fluctuation
3 Partitionnement / classification non superviseeClassifications hierarchiquesK -moyennesMean-shift clustering
4 Conclusion
24/42
Partitionnement / classification non supervisee
Observations : points dans Rd , textes, sequences moleculaires. . .
Distance / mesure de dissimilarite entre observations d(x,y) :– L1, L2, L∞. . .– distance d’edition (de Levenshtein), voir polycopie (p. 13 et 76) :https://members.loria.fr/FSur/enseignement/RO/
Mesure de dissimilarite entre classes (cluster) D(A,B) :D(A,B) = min{d(x , y), x ∈ A, y ∈ B} (single linkage)
D(A,B) = max{d(x , y), x ∈ A, y ∈ B} (complete linkage)
D(A,B) =nAnB
nA + nB||mA −mB||2 (Ward)
=∑
x∈A∪B ||x − mA∪B||2 −∑
x∈A ||x − mA||2 −∑
x∈B ||x − mB||225/42
Les classifications hierarchiques
Cf. TCS Analyse de donnees
Algorithme :
1 initialisation : chaque observation dans une classe ;
2 jusqu’a ce qu’il ne reste qu’une classe, fusionner les deux plusproches au sens de D.
Sortie : le dendrogramme= arbre binaire de classification, ou hauteur des classes proportionnelle a
dissimilarite des classes filles.
Classification : hauteur-seuil dans le dendrogramme.
26/42
Exemple 1 : donnees a partitionner
Source :https://joernhees.de/blog/2015/08/26/scipy-hierarchical-clustering-and-dendrogram-tutorial/
27/42
Exemple 1 : single-linkage
28/42
Exemple 1 : classification a 5 groupes
29/42
Exemple 2 : donnees a partitionner
30/42
Exemple 2 : single-linkage
31/42
Exemple 2 : classification a 5 groupes
32/42
Exemple 2 : Ward
33/42
Exemple 2 : classification a 5 groupes
34/42
Discussion classification hierarchique
Dissimilarite entre observation ?
Dissimilarite entre groupes ?
Nombre de groupes ?→ Cf cours analyse de donnees : � saut � dans le dendrogramme ?
Donnees anisotropes ?
� Lent � O(N2 log(N)) / occupation memoire O(N2)
35/42
K -moyennes (K -means)
On cherche une partition (C1, C2, . . . , CK ) de (xi )1≤i≤N minimisant
E (C1, C2, . . . , CK ) =K∑
j=1
∑
x∈Cj||x −mj ||2 (1)
ou mj est la moyenne des x ∈ Cj .
Algorithme :On itere :
etant donne une partition (C1, C2, . . . , CK ), on calcule lesmoyennes mj
pour tout 1 ≤ j ≤ K , on redefinit Cj comme l’ensemble des xplus proche de mj que des autres moyennes
→ convergence en un nombre fini d’etapes vers un minimum local.
36/42
Illustration de l’algorithme
Illustration : Par Mquantin — Travail personnel, CC BY-SA 4.0https: // commons. wikimedia. org/ w/ index. php? curid= 61321400
37/42
Discussion K -moyennes
Choix de K ?→ variations de E en fonction de K ?
Convergence vers un minimum local→ plusieurs executions avec initialisations differentes
Distributions anisotropes ?
� Rapide �
38/42
Mean-shift clustering
Source : http://www.chioka.in/meanshift-algorithm-for-the-rest-of-us-python/
noyau K (ex : K (x) = exp(−||x ||2))parametre h (largeur de bande, bandwidth)
Algorithme : pour chaque point x de l’ensemble a partitionner :
initialisation : y0 = x
on itere yt+1 =∑N
i=1 K ( yt−xih )/K0 xiles x convergeant vers le meme point sont classes ensemble.
39/42
Discussion mean-shift
Pas besoin de choisir le nombre de classes
Choix de la largeur de la fenetre ?
Plus lent que K -means
40/42
Plan
1 IntroductionVocabulaireExemplesLe cours
2 Apprentissage et IA : difficultes fondamentalesMalediction de la dimensionnaliteDilemme biais-fluctuation
3 Partitionnement / classification non superviseeClassifications hierarchiquesK -moyennesMean-shift clustering
4 Conclusion
41/42
Conclusion
Deux grandes familles d’algorithmes d’apprentissage :
apprentissage supervise→ classification supervisee, regression
apprentissage non supervise→ partitionnement
Difficultes de l’apprentissage :malediction de la dimensionnalite, dilemme biais / fluctuation
En TP : partitionnement (clustering)
42/42
Recommended