• Aucun résultat trouvé

IFT3390/6390Fondements de l’apprentissage machine

N/A
N/A
Protected

Academic year: 2022

Partager "IFT3390/6390Fondements de l’apprentissage machine"

Copied!
26
0
0

Texte intégral

(1)

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

(2)

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é.

(3)

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

X1

Xn

Y1

Yn

X

{

n,2

prétraitement, extraction de caractéristiques

preprocessing, feature extraction

(4)

Une idée simple: découper l’espace en petits cubes...

Les algorithmes à base de quadrillages de l’espace

(de type histogramme )

(5)

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:

(ex: )

x R

d

(6)

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 P(y|x case)

x

2D

1

x

2

1D

x

1

1 2

0 4 3 0

0 2

4 1 comptes

2 0

0 0

0 0

0 0

x

3D

1

x

2

x

1

x

3

x

y

z

p(x,y,z)

x

y

z

x

y

!z p(x,y)

x

y

z

p(x,y|z)

dD ...

(7)

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: E(y|x case)

1.2 1.5 1.9 2.3 1.4

y=3.2

y=1.9

y=0.8

y=6.3

2D

x

1

x

2

y

3D ... dD ...

x

1D

y

1

(8)

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

2

1D

x

1

comptes

3

4 3

2

5 2

0

0

0

x

y

z

p(x,y,z)

x

y

z

x

y

!z p(x,y)

x

y

z

p(x,y|z)

3D

2/16 4/16 3/16 2/16 5/16 P(x case)

exprimée par ex. en probabilité de x / cm

p(x)

Densité de probabilité exprimée par ex. en probabilité de x / cm2

densité de

probabilité: p(x) 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:

! p(x)dx = 1

{

h

P(x region) = !

region

p(x)dx

(9)

Quelle dimensionalité?

exemple...

(10)

Etapes d’un projet utilisant des algorithmes d’apprentissage

Le problème à résoudre peut-il être reformulé sous la forme d’une des tâches standard de l’apprentissage?

(classification, régression, estimation de densité, partitionnement, réduction de dimensionalité, ...)

Quel coût veut-on réellement optimiser dans ce problème?

Examiner les données dont on peut disposer pour

l’entraînement/test.

Y en a-t-il suffisamment?, bien comprendre leur format, leur sémantique.

Concevoir et coder les étapes de prétraitement des

données.

Le but est de les transformer dans une forme appropriée pour les algos d’apprentissage qu’on va utiliser.

Entraîner/tester et évaluer correctement la performance

“hors échantillon”

des algorithmes considérés.

(ex: découpage entraînement/test, validation croisée, ou bootstrap).

(11)

Exemple de classification

8

• S ´eparer deux types de poissons (saumon et bar) sur un tapis roulant

entr ´ee des donn ´ees (cam ´era)

traitement d’image

extraction des caract ´eristiques/traits (largeur, longueur, luminosit ´e, etc.)

design d’une fonction de classification:

f : {vecteur des traits} !→ {saumon, bar}

(12)

• 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

(13)

• Une autre variable/trait

10

co ˆut de 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 ˆut de 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

(14)

• 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

(15)

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....

(16)

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/case

d=2 : 100 000/100 = 1000 points/case

d=3 : 100 000/1000 = 100 points/case

d=10 : 100 000/10 = 10 points/case

d=100 : 100 000/10 = 10 points/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é !

(17)

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.

(18)

Formalisation du problème

de l’apprentissage

(19)

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

(20)

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.)

(21)

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

la sortie de notre algorithme d’apprentissage: !f(Dn) = !fn

la meilleure fonction dans F :

fF = arg min

fF R(f)

la meilleure fonction possible (la d ´ecision/l’erreur de Bayes):

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

la sortie de notre algorithme d’apprentissage: !f (Dn) = !fn

la meilleure fonction dans F :

fF = arg min

fF R(f )

la meilleure fonction possible (la d ´ecision/l’erreur de Bayes):

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.

(22)

Les notions de capacité

et de surapprentissage

(23)

• 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

(24)

• 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

(25)

• 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

(26)

• Choix de fonction

13

´equilibre entre l’erreur d’entraˆınement et le complexit ´e de d ´ecision

dilemme biais-variance

mal ´ediction de la dimensionnalit ´e

capacité de l’ensemble de fonction

Références

Documents relatifs

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Lorsque la cible est une étiquette de classe, une variable catégorique (indiquant à quelle classe ou catégorie l’entrée appartient, parmi plusieurs) on dit qu’on a affaire à

Rappel des types de problème en apprentissage Méthodes à base de voisinage: k-NN et Parzen.. pour classification binaire, régression, estimation

Méthodes à base de voisinage: k-NN, Parzen pour classificaiton, régression, estimation de densité http://www.iro.umontreal.ca/~vincentp/ift3390.. Au programme

• Dans le cas de classification multiclasse ( Y indique le numéro d’une classe parmi m classes), on peut effectuer une régression multiple avec une cible codée en “un

• On peut apprendre les paramètres d’une Gaussienne à partir d’un ensemble de données de manière simple:. • Pour μ on calcule la moyenne empirique des

On dispose souvent, quand on doit faire un sondage, d’une information auxiliaire sous la forme d’une ou plusieurs variables x, connues pour tous les individus de la population U

Le directeur d’une entreprise de confection de chaussures veut estimer la longueur moyenne des pieds droits des hommes adultes d’une ville.. Soient y le caractère « lon- gueur du