Département d'informatique et de recherche opérationnelle
Laboratoire d’Informatique des Systèmes d’Apprentissage
IFT3390/6390
Fondements de l’apprentissage machine
Professeur: Pascal Vincent Troisième cours:
Méthodes de type histogramme: curse of dimensionality Formalisation du problème de l’apprentissage
http://www.iro.umontreal.ca/~vincentp/ift3390
Au programme aujourd’hui
Petit rappel de terminologie.
Méthodes de type histogramme, illustrées pour classification, régression, estimation de densité.
Malédiction de la dimensionalité.
Formalisation mathématique du problème de l’apprentissage. Notion de capacité.
{ {
Ensemble de données d’entrainement (training set)
“cheval”
“cheval”
“chat”
etc...
entrées: cibles:
n
Taille de l’ensemble, nombre d’exemples:
d
Dimensionalité de l’entrée:
Point de test:
X
? x =
(5.7, -27, ... , 64, 0, ...)?
entrées:
(vecteur de traits caractéristiques)
cibles:
(3.5, -2, ... , 127, 0, ...) +1
(-9.2, 32, ... , 24, 1, ...) -1
(6.8, 54, ... , 17, -3, ...) +1
etc...
X Y
X
1X
nY
1Y
nX
{
n,2prétraitement, extraction de caractéristiques
preprocessing, feature extraction
Une idée simple: découper l’espace en petits cubes...
Les algorithmes à base de quadrillages de l’espace
(de type histogramme)
(ex: )
Une idée simple pour la classification
Quadriller l’espace!
Entraînement: Compter , pour chaque case, combien de points de chaque classe y tombent (parmi les points de l’ensemble d’apprentissage).
Test: trouver la case dans laquelle tombe le point de test. Répondre la classe majoritaire tombée dans cette case.
Tout algo d’apprentissage doit pouvoir effectuer une prédiction pour n’importe quel point de test de l’espace d’entrée...
Partant de là, voici une idée simple d’algorithme: x ∈ R
dP(y|x∈case)
Classification
On suppose qu’il existe un processus inconnu qui génère des paires d’observations (x,y), ou y indique la classe (
ou)
2 0 3 1 3 0 0 2 1 4
comptes:
1 0 3/4 1/4 1 0 0 1 1/5 4/5
x
2D
1
x
21D
x
11 2 0 4 3 0
0 2
4 1 comptes
2 0 0 0
0 0
0 0
3D
x
1dD ...
x
2x
3x
y z
p(x,y,z)
x
y z
x y
!z p(x,y)
x
y z
p(x,y|z)
Régression
On suppose qu’il existe un processus inconnu qui génère des paires d’observations (x,y), avec y réel.
moyennes:
1.2 1.5 1.9 2.3 1.4
y=3.2
y=1.9 y=0.8
y=6.3
2D
x
1x
2y
3D ... dD ...
x
1D
y
E(y | x ∈ case)
1Densité de probabilité exprimée par ex. en probabilité de x/ cm
Estimation de densité
On suppose qu’il existe un processus inconnu qui génère des observations x.
2 4 3 2 5
comptes:
x
2D
1
x
21D
x
1comptes
3 4
3
2
5
2 0
0
0
3D
2/16 4/16 3/16 2/16 5/16
exprimée par ex. en probabilité de x/ cm
2
densité de
probabilité: 2/16/h 4/16/h 3/16/h 2/16/h 5/16/h
La densité de prob. doit intégrer à 1 sur tout l’espace:
h
P(y|x∈case)
!
p(x)dx = 1
P(x∈region) =!region
p(x)dx p(x)
p(x)
x
2x
3x
y z
p(x,y,z)
x
y z
x y
!z p(x,y)
x
y z
p(x,y|z)
{
Quelle dimensionalité?
exemple...
Exemple de classification
8• S ´eparer deux types de poissons (saumon et bar) sur un tapis roulant
•entr ´eedes donn ´ees (cam ´era)
•traitement d’image
•extraction des caract ´eristiques/traits (largeur, longueur, luminosit ´e, etc.)
•design d’unefonction de classification:
f:{vecteur des traits}!→{saumon,bar}
• Histogramme obtenu de l’ensemble d’entraˆınement
9• erreur d’entraˆınement
l*
0 2 4 6 8 10 12 16 18 20 22
5 10 15 20 25
saumon bar
nombre
longueur
• Histogramme obtenu de l’ensemble d’entraˆınement
9•erreur d’entraˆınement
l*
0 2 4 6 8 10 12 16 18 20 22
5 10 15 20 25
saumon bar
nombre
longueur
Nombre d’erreurs: 26+69 = 95 pour un classifieur linéaire
• Une autre variable/trait
10•co ˆutde la mauvaise classification
2 4 6 8 10
0 2 4 6 8 10 12 14
x*
saumon bar
nombre
luminosit´e
• Une autre variable/trait
10•co ˆutde la mauvaise classification
2 4 6 8 10
0 2 4 6 8 10 12 14
x*
saumon bar
nombre
luminosit´e
Nombre d’erreurs: 7+5 = 12
• Deux variables
11•vecteurs de
traits, espace de traits, fronti `ere de d ´ecision
2 4 6 8 10
14 15 16 17 18 19 20 21
22 saumon bar
largeur
luminosit´e
• Deux variables
11•vecteurs de
traits, espace de traits, fronti `ere de d ´ecision
2 4 6 8 10
14 15 16 17 18 19 20 21
22 saumon bar
largeur
luminosit´e
Nombre d’erreurs: 3+5 = 8
pour un classifieur linéaire
Plus de dimensions (traits caractéristiques) c’est (généralement) plus d’information pour prendre la bone décision.
Les classes en sont plus facilement séparables
C’est bien mais....
Malédiction (fléau) de la dimensionalité
curse of dimensionality
d=1 : 10 cases d=2 : 10x10=100 cases d=3 : 10x10x10=1000 cases d=10 : 10 =
10 000 000 000 cases Pour un quadrillage où chaque dimension est découpé en m, on a d cases.Ex: combien de cases pour un quadrillage découpé en 10 en dimension d ?
m 10
dix milliards!
d=1 :
100 000/10 = 10000 points/cased=2 :
100 000/100 = 1000points/cased=3 :
100 000/1000 = 100points/cased=10 :
100 000/10 = 10points/cased=100 :
100 000/10 = 10points/case En haute dimension, la plupart des cases (où risque d’apparaître un point de test...) vont ête vide!!!Si on a n=100 000 points
d’entrainement répartis ± uniformément
10 -5
100 -95
La “taille” de l’espace explorable à modéliser croît exponentiellemet avec
la dimensionalité !
Sensibilité à la malédiction
Les méthodes de type histogramme (quadrillage)
fonctionnent bien en faible dimension
(1, 2, voire 3)Mais sont catastrophiques en haute dimension!
La malédiction de la dimensionalité affecte ± tous
les algorithmes d’apprentissage, mais certains y
sont beaucoup plus sensible que d’autres.
Formalisation du problème de l’apprentissage
Machine d’apprentissage
16• Formellement
g(donn ´ees, observation) !→ classe
•
donn ´ees d’entraˆınement
donn ´ees=!(observation1,classe1), . . . ,(observationn,classen)"
•
algorithme de classification
ALGO(donn ´ees)!→f
•
fonction de d ´ecision/classification
f(observation)!→classe
Machine d’apprentissage
17• Attributs des algorithmes
• classe (parametris ´ee) de fonctions (lin ´eaire, m ´elange de noyaux, etc.)
• fonction d’objectif/cible/erreur (0 − 1, absolu, quadratique, etc.)
• m ´ethodes d’optimisation
(descente de gradient, EM, optimisation quadratique, etc.)
Le dilemme biais-variance
Probl `eme d’apprentissage
6• Erreurs d’estimation et d’approximation, capacit ´e
• la sortie de notre algorithme d’apprentissage: ! f (D
n) = ! f
n• la meilleure fonction dans F :
f F
∗= arg min
f∈
F R( f )
• la meilleure fonction possible (la d ´ecision/l’erreur de Bayes):
f
∗= arg min R( f )
• R( ! f
n) − R( f
∗) = (R( ! f
n) − R( f F
∗)) + (R( f F
∗) − R( f
∗)) Probl `eme d’apprentissage
6• Erreurs d’estimation et d’approximation, capacit ´e
•lasortie de notre algorithmed’apprentissage: !f(Dn) =!fn
•lameilleure fonctiondans
F
: fF∗=arg minf∈F R(f)
•lameilleure fonction possible(la d ´ecision/l’erreur deBayes):
f∗=arg minR(f)
•R(!fn)−R(f∗) = (R(!fn)−R(fF∗)) + (R(fF∗)−R(f∗))
Probl `eme d’apprentissage
6• Erreurs d’estimation et d’approximation, capacit ´e
•lasortie de notre algorithmed’apprentissage: !f(Dn) =!fn
•lameilleure fonctiondans
F
: fF∗=arg minf∈F R(f)
•lameilleure fonction possible(la d ´ecision/l’erreur deBayes):
f∗=arg minR(f)
•R(!fn)−R(f∗) = (R(f!n)−R(fF∗)) + (R(fF∗)−R(f∗))
biais
variance erreur d’approximation
erreur d’estimation Ensemble de fonction
considéré Il a une certaine taille
(ou “capacité”) Ensemble de toutes les
fonctions existantes.
F
Due au fait qu’on estime en utilisant un nombre fini n de points.
Les notions de capacité et de surapprentissage
• Deux variables
11•vecteurs de
traits, espace de traits, fronti `ere de d ´ecision
2 4 6 8 10
14 15 16 17 18 19 20 21
22 saumon bar
largeur
luminosit´e
• Deux variables
11•vecteurs de
traits, espace de traits, fronti `ere de d ´ecision
2 4 6 8 10
14 15 16 17 18 19 20 21
22 saumon bar
largeur
luminosit´e
Nombre d’erreurs d’entraînement: 3+5 = 8
pour un classifieur linéaire
• Choix de fonction
12• surapprentissage (overfitting): classe de fonctions trop riche
?
2 4 6 8 10
14 15 16 17 18 19 20 21
22
saumon bar
largeur
luminosit´e
• Choix de fonction
12•surapprentissage(overfitting): classe de fonctions trop riche
?
2 4 6 8 10
14 15 16 17 18 19 20 21
22 saumon bar
largeur
luminosit´e
Nombre d’erreurs d’entrainement: 0
• Choix de fonction
14•capacit ´e optimale
2 4 6 8 10
14 15 16 17 18 19 20 21
22 saumon bar
largeur
luminosit´e
• Choix de fonction
14• capacit ´e optimale
2 4 6 8 10
14 15 16 17 18 19 20 21
22
saumon bar
largeur
luminosit´e
Nombre d’erreurs d’entrainement: 3+6 = 9
• Choix de fonction
13• ´equilibreentre l’erreurd’entraˆınement et lecomplexit ´ede d ´ecision
•dilemmebiais-variance
•mal ´ediction de la dimensionnalit ´e
capacité de l’ensemble de fonction