102
Introduction Approches discriminantes Approches g ´ en´ eratives et les inclassables ethodes ensemblis Quelques algorithmes usuels de classification supervis ´ ee ecile Capponi, R ´ emi Eyraud, Sebastien Delecraz [email protected] Universit ´ e d’Aix-Marseille L3 Informatique – UFR Sciences Introduction ` a l’Apprentissage Automatique

Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Quelques algorithmes usuels declassification supervisee

Cecile Capponi, Remi Eyraud, Sebastien [email protected]

Universite d’Aix-Marseille

L3 Informatique – UFR SciencesIntroduction a l’Apprentissage Automatique

Page 2: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 3: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Rappel de la problematique : classification binaire supervisee

Apprentissage automatique = apprendre un modele formel a partir dedonnees observees

Classification supervisee – formalisation

X espace d’entree, Y espace des cibles (fini en classification)

Une variable aleatoire Z = (X ,Y ) a valeurs dans X × YLes exemples sont des couples (x , y) ∈ X × Y tires selon la distributionjointe P(Z = (x , y)) egale a P(X = x)P(Y = y |X = x) si P(X = x) 6= 0.

D distribution sur Z = X × YStrain = {(xi , yi)}n

i=1 echantillon de n v.a. Independamment etIdentiquement Distribuees (IID) suivant D

A partir de Strain trouver f : X → Y telle que h∗ = argminh R(h) ouR(h) = PX ,Y∼D(h(X ) 6= Y )

Page 4: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Rappel de la problematique : classification binaire supervisee

Apprentissage automatique = apprendre un modele formel a partir dedonnees observees

distributioninconnue

p(y|x)

etiquetage

y

soit la plus petite possible.

x

S = {(x1, y1), . . . , (xl, yl)} tire selon p(x, y) = p(x)p(y|x)

z

non deterministep(x)

X : domaine des descriptions Y : ensemble des classes

Objectif : trouver f : X → Y dont l’erreur R(f) = P (y 6= f(x))

Page 5: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Classification grossiere des approches en classification supervisee

Les approches discriminantes (extrait)

Approches fondees sur l’apprentissage d’un modele discriminatif = modelede la probabilite conditionnelle de la cible Y etant donnee une observationX : modelisation de P(Y |X = x) ; seuil de decision.

Regression logistique, Arbres de decisions

Perceptron, SVM et Reseaux de neurones

Les approches generatives (extrait)

A partir d’une variable observee X et d’une variable cible Y , un modelegeneratif est un modele statistique de la distribution jointe P(X ,Y ).

Classification naıve de Bayes

Analyse lineaire discriminante

Quelques cas particuliers (extrait)

Les k -plus-proches voisins – pas de modele

Methodes ensemblistes (e.g. boosting) – melanges de modeles

Page 6: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 7: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 8: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Dans R2, recherche d’une droite qui separe les classes

Page 9: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

De quoi parle-t-on ?

Page 10: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Notations

Du cas 1 dimension au cas d dimensions : chez les informaticiens

x un scalaire, x = 5.07824

x un vecteur, x =

x1

x2

· · ·xd

, transpose : xT = (x1, x2, · · · , xd)

M une matrice, M =

x1,1 x1,2 · · · x1,d

x2,1 x2,2 · · · x2,d

· · · · · · · · · · · ·xn,1 xn,2 · · · xn,d

Page 11: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Rappels : espaces vectoriels

u, v,w, c sont des vecteurs

w = u− v (vecteurs rouges)

c = 12 (u + v) (en bleu)

Ici, 0 < λ < 1

Page 12: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Rappels : produit scalaire

Soit deux vecteurs u et v de l’espace X = Rd .

〈u, v〉 = u.v =d∑

i=1

uivi

Proprietes inherentes produit scalaire

Peut etre vu comme une similarite

Munit l’espace X d’une structure !

Definit une norme ||.|| sur X : ||u|| =√〈u,u〉

Proprietes algebriques du produit scalaire

Symmetrique : 〈u, v〉 = 〈v,u〉Bilineaire :〈α1u1 + α2u2, v〉 = α1〈u1, v〉+ α2〈u2, v〉Positif : 〈u,u〉 ≥ 0

Defini : 〈u,u〉 = 0⇒ u = 0

Page 13: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Rappels : produit scalaire (suite)

Produit scalaire et orientation de vecteurs

〈u− v, e〉 > 0: u− v et e vont dans le meme sens

〈u− v, f〉 = 0: u− v et f sont orthogonaux

〈u− v,g〉 < 0: u− v et g vont dans des sens opposes

Page 14: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Un simple classifieur lineaire

Centres de gravite des classes

c+ = 1n+∑

i:yi=+1 xi

c− = 1n−∑

i:yi=−1 xi

c = 12 (c

+ + c−)w = c+ − c−

Fonction de decision

Elle classe chaque x dans la classe qui a le centre le plus proche

Pour x ∈ X , il suffit de prendre le signe du produit scalaire entre w etx− cSi h(x) = 〈w, x− c〉, on a le classifieur f (x) = sign(h(x))Hyper-plan en pointilles (H), de vecteur normal w, est la surface dedecision

Page 15: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Apprentissage de discriminants lineaires : bilan

Quelle expressivite ? Observons le cas de deux classes (binaire)

Apparemment peu d’expressivite, mais on remarque que :

2 points de R1 sont toujours lineairement separables

3 points (ou moins) de R2 sont toujours lineairement separables

4 points (ou moins) de R3 sont toujours lineairement separables

n (ou moins) points de Rn−1 sont toujours lineairement separables

Validite de l’approche dans des espaces de grandes dimensions

(Un peu) moins de points que de dimensions decrivant ces points

Renforcee par methodes a noyaux dans autres cas

Page 16: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Le perceptron

Page 17: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Initialement, imitation du fonctionnement d’un neurone

Page 18: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

La machine perceptron de Rosenblatt (1958-62)

Page 19: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Perceptron = un algorithme d’apprentissage de discriminant lineaire,cas binaire

Hypothese : les donnees sont lineairement separables

Algorithme iteratif par correction d’erreurs

https://www.youtube.com/watch?v=d3J9FbwkG24

Page 20: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Un perceptron = un neurone (ici, X = R5)

Apprendre une fonction f : X → Y

selon le cote de l’hyperplan ou le point se trouve (west le vecteur normal de cet hyperplan)

fw(x) = g(x1 ∗w1 + x2 ∗w2 + x3 ∗w3 + x4 ∗w4 + x5 ∗w5)

Quid de g ?

Binaire : sig(x) ≥ θ alors +1sinon −1

Reelle : g(x) = xet fw(x) = 〈x,w〉

Page 21: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Un perceptron = un neurone (ici, X = R5)

Apprendre une fonction f : X → Y

selon le cote de l’hyperplan ou le point se trouve (west le vecteur normal de cet hyperplan)

fw(x) = g(1∗w0+x1∗w1+x2∗w2+x3∗w3+x4∗w4+x5∗w5)

Quid de g ?

Binaire : sig(x) ≥ θ alors +1sinon −1

Reelle : g(x) = xet fw(x) = 〈x,w〉

Page 22: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Algorithme d’apprentissage du Perceptron (Rosenblatt, 1958)

Entree

S = SP ∪ SN ⊂ Rd+1 × {−1, 1} un echantillon complete lineairementseparable.

Principe de l’algorithme

Mise a jour iterative des coefficients w definissant un cote de l’hyperplanseparateur (w=classifieur lineaire)

Si (x, y) ∈ SP est mal classe, 〈w, x〉 < 0 et il faudrait augmenter 〈w, x〉,si (x, y) ∈ SN est mal classe, 〈w, x〉 ≥ 0 et il faudrait diminuer 〈w, x〉,

Idee : prendre wnew = w + xy , et ainsi :

dans le premier cas, on a 〈wnew , x〉 = 〈w, x〉+ ||x||2

dans le second cas, on a 〈wnew , x〉 = 〈w, x〉 − ||x||2

Page 23: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Algorithme d’apprentissage du Perceptron

Algorithme d’apprentissage du Perceptron (forme primale)

ENTREE : S = {(x1, y1), . . . , (xn, yn)}, un echantillon complete supposelineairement separable de Rd+1 × {−1, 1}w0 = 0 ∈ Rd+1, k = 0REPETER

POUR i = 1A nSI yi〈wk , xi〉 ≤ 0 (mal classe) ALORS

wk+1 = wk + yixi

k = k + 1FINPOUR

JUSQU’A ce qu’il n’y ait plus d’erreursSORTIE : wk+1

Page 24: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Forme duale de l’algorithme du perceptron

Dual de l’algorithme du perceptron (quasi-equivalent au primal)

ENTREE : S = {(x1, y1), . . . , (xn, yn)}, complete lin. separableα = 0 ∈ Rn

REPETERPOUR i = 1A n

SI yi(∑n

j=1 αjyj〈xj , xi〉) ≤ 0 ALORS

αi = αi + 1FINSI

FINPOURJUSQU’A ce qu’il n’y ait plus d’erreursSORTIE : α

αi > 0 = nombre de fois qu’un exemple a ete mal classe

Fonction de decision : f (x) = sign(∑n

j=1 αjyj〈xj , xi〉)

Tiens, seuls les produits scalaires entre exemples sont utilises...

Page 25: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Perceptron : conclusion

Proprietes

Excessivement simple, mais l’echantillon doit etre lineairementseparable

Converge seulement si lineairement separable (pire des cas horrible), etcorrect si converge

Adapte aux methodes a noyaux (version duale)

Sous sklearn : etudions les parametres

https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Perceptron.html

Un vieux truc qui a bien evolue (1958–2012→∼ 50 ans)

Association de plein de perceptrons agglomeres en couches de perceptronsindependants, associees a d’autres telles couches anterieures etposterieures, de tailles diverses : les reseaux de neurones ! Le deeplearning !

Page 26: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Les Separateurs a Vastes Marges(SVM)

Page 27: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 28: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 29: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 30: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 31: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 32: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 33: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 34: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 35: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Page 36: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Intuition : quel est le meilleur separateur lineaire ?

Exemple de separation

Quelques problemes

L’espace d’hypotheses peut etre infini

Bonnes performances en generalisation

Qualite de l’echantillon a considerer

Page 37: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

La revolution avant celle du deep learning [Isa Guyon, Vapnik, 1992]

SVM = Support Vector Machines, Separateurs a Vaste Marge

Cadre de la classification lineaire

Espace d’entrees X muni du produit scalaire (par exemple X = Rd )

Espace des cibles Y = {−1,+1}Un echantillon S = {(xi , yi)}n

i=1 suppose lineairement separable

Objectif : trouver l’hyper-plan optimal au sens de la marge

Un SVM cherche a maximiser la marge : que la distance au plus proche despoints de S soit maximale

Page 38: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Cela se ramene a un probleme d’optimisation convexe

Formulation du probleme primal d’optimisation

Maximiser la marge = minimiser la norme de w

argminw,b

12||w||2

en respectant les contraintes lineaires suivantes :

w.xi + b ≥ +1 si yi = +1

w.xi + b ≤ −1 si yi = −1

Page 39: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Cela se ramene a un probleme d’optimisation convexe

Formulation du probleme primal d’optimisation

Maximiser la marge = minimiser la norme de w

argminw,b

12||w||2

en respectant les contraintes lineaires suivantes :

w.xi + b ≥ +1 si yi = +1

w.xi + b ≤ −1 si yi = −1

Equivalentes a, pour tout i :

yi(w.xi + b) ≥ +1

Page 40: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Cela se ramene a un probleme d’optimisation convexe

Formulation du probleme primal d’optimisation

Maximiser la marge = minimiser la norme de w

argminw,b

12||w||2

en respectant les contraintes lineaires suivantes :

w.xi + b ≥ +1 si yi = +1

w.xi + b ≤ −1 si yi = −1

Equivalentes a, pour tout i :

yi(w.xi + b) ≥ +1

Pas toujours facile a resoudre

Contrainte penible, pas de solution analytique, la galere...

Taille de la solution = dimension du probleme, quid si trop grande...

Le Lagrangien est ton ami, passage au dual (M1)

Page 41: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Formulation duale et vecteurs supports

Programme quadratique convexe

maxα

n∑i=1

αi −12

n∑i,j=1

yiyjαiαjxi · xj

s.t.n∑

i=1

αiyi = 0 et α ≥ 0

Remarque

Autant de parametres a apprendre que d’exemples d’apprentissage !

Seuls des produits scalaires apparaissent ! b∗ facile a obtenir

w∗ =∑n

i=1 α∗i yixi , f (x) =

∑ni=1 α

∗i yixi · x + b∗ : presque comme le dual

du perceptron !

Page 42: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Formulation duale et vecteurs supports

Remarque

Autant de parametres a apprendre que d’exemples d’apprentissage !

Seuls des produits scalaires apparaissent ! b∗ facile a obtenir

w∗ =∑n

i=1 α∗i yixi , f (x) =

∑ni=1 α

∗i yixi · x + b∗ : presque comme le dual

du perceptron !

Vecteurs supports

support vectors

margin = 2 / ||w||

w.x + b = 0

Les vecteurs supports sont ces points (exemples) qui supportent la marge

Page 43: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Formulation duale et vecteurs supports

Remarque

Autant de parametres a apprendre que d’exemples d’apprentissage !

Seuls des produits scalaires apparaissent ! b∗ facile a obtenir

w∗ =∑n

i=1 α∗i yixi , f (x) =

∑ni=1 α

∗i yixi · x + b∗ : presque comme le dual

du perceptron !

Solution a base de vecteurs supports : remarques essentielles

La solution (le classifieur !) ne repose que sur les vecteurs (exemples) isitues pres de l’hyperplan separateur

Ce sont les exemples de S les plus difficiles a classer

Ajouter ou supprimer des exemples faciles dans S ne change pas lasolution !

Variantes avec marges douces : tolerance de quelques points malclasses selon hyper-parametre C

Bonne resistance au bruit

Page 44: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

La regression logistique

Page 45: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Regression logistique : separation lineaire

A la recherche d’un hyperplan separateur

Bien adapte aux representations vectorielles reelles

Hypothese d’un modele probabiliste pour p(Y = 1|X = x) reposant surhyperplan separateur

P(Y = 1|X = x) =1

1 + exp(−w.x− b), avec w ∈ Rd , b ∈ R

Comportement

w.x + b = 0, p(Y = 1|X = x) = 0.5w.x + b → +∞, p(Y = 1|X = x)→ 1w.x + b → −∞, p(Y = 1|X = x)→ 0

Page 46: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Regression logistique : apprentissage

Maximisation de la vraisemblance

Soit des donnees etiquetees S == {(x1, y1), . . . , (xn, yn)} iid

Soit L la vraisemblance des donnees :

L(S;w;b) = p(y1, . . . , yn|x1, . . . , xn;w, b)p(x1, . . . , xn)=

∏ni=1 p(yi |xi ;w, b)× α

Trouver w, b = argmaxw,bL

On montre (cas binaire)

w, b = argmaxw,b∑n

i=1 yi log1

1+exp(−(w.xi+b))

+(1− yi) log1

1+exp(w.xi+b)

Optimisation par descente de gradient

Page 47: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Regression logistique : bilan

Que des avantages ?

Classification lineaire simple

Interpretation probabiliste

sklearn :https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html

Non...

Minima locaux

Cela reste de la separation lineaire

Page 48: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 49: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

De la separation lineaire a la separationnon-lineaire

Page 50: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

L’astuce du noyau (kernel trick)

Classification lineaire dans l’espace des caracteristiquesfeature spa e Hinput spa e X �Implementer un algorithme lineaire connu (perceptron, SVM) dans H :

h(x) =∑

i=1,...,n

αi〈φ(xi), φ(x)〉H + b

Comment trouver cette transformation φ ?

Page 51: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

L’astuce du noyau (kernel trick)

separating surfaceone possible separating hyperplaneno separating hyperplane

input spa e X input spa e Xfeature spa e H�La recette de l’astuce du noyau

Choisir un algorithme de classification lineaire (exprime en termes deproduits scalaires 〈·, ·〉)Remplacer chaque occurence de 〈·, ·〉 par un noyau k(·, ·)

Classifieur obtenu :

f (x) = sign

∑i=1,...,n

αik(xi , x) + b

Page 52: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Illustration sur le classifieur kernelise, cas du noyau gaussien

Noyau RBF (gaussien)

k(u, v) = exp(− ‖u−v‖2

2σ2

), σ2 > 0

Page 53: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Illustration sur le classifieur kernelise, cas du noyau gaussien

σ = 0.05, 0.1, 0.2

Page 54: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Cas des SVM a noyaux : bilan

Performants sur des jeux de donnees de dimension raisonnable

Separation lineaire tolerante au bruit (marges douces)

Adaptes a l’astuce du noyau (SVM originaux = SVM lineaire = SVM anoyau k(x , x ′) = 〈x , x ′〉)Quelques hyper-parametres a regler

Il existe des fonctions noyaux bien connues, mais (presque) pas derecette pour choisir la bonne...

Sous sklearn

https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html

Page 55: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Le perceptron multi-couches

Page 56: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Un neurone tout seul ne fait pas grand chose

Organisation en reseaux de neurones connectes

Architecture basique de reseau de perceptrons : le multi-couches

Page 57: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Multi Layer Perceptron (MLP) – PMC

Structure

Organisation en couches successives

Couche d’entreeCouche(s) cachee(s)Couche de sortie

Full connected

Fonction implementee par un MLP

g(Wo.g(Wh.x))

Inference: propagation en avant del’entree vers la sortie

Page 58: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Multi Layer Perceptron (MLP) – PMC

Structure

Organisation en couches successives

Couche d’entreeCouche(s) cachee(s)Couche de sortie

Full connected

Fonction implementee par un MLP

g(Wo.g(Wh.x))

Inference: propagation en avant del’entree vers la sortie

Page 59: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Qu’est-ce que calcule un MLP ?

Ce que fait un neurone isole

Division en deux del’espace en entree

En combinant plusieursneurones caches

Identification de zonescomplexes de l’espace enentree

Nouvelle representation(distribuee) de l’entree

Page 60: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Apprendre un MLP

Apprendre les poids des synapses = un probleme d’optimisation

Fonction objectif de parametres l’ensemble w pour un echantillondonnee T

C(w) =F (w) + R(w)

=∑

(x,y)∈T

Lw (x , y ,w) + ||w ||2

Optimisation par descente de gradient w = w − ε ∂C(w)∂w

Retro-propagation du gradient

Utilisation de la chain rule pourcalculer les derivees de lafonction de perte a chaque poids(coefficient) du reseau deneurones

Page 61: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Artillerie d’astuces pour obtenir une convergence

Initialisation des poids

Pas du gradient

Architecture adaptee

...

⇒ Difficile pour des non-experts

https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html

Page 62: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Deep learning = apprentissage profond

Plusieurs couches cachees (≥ 3) : profondeur

Apprentissage de representations abstraites des donnees

De nombreux parametres a apprendre pour obtenir un modelenon-lineaire

De nombreuses architectures, PMC = cas particulier

Page 63: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Les arbres de decision

Page 64: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Arbres de decision : modele a base de regles

Definition

Arbre de regles portant sur des tests effectues sur les attributs des donnees

Page 65: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Arbres de decision : modele a base de regles

Definition

Arbre de regles portant sur des tests effectues sur les attributs des donnees

Page 66: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Arbres de decision : modele a base de regles

Definition

Arbre de regles portant sur des tests effectues sur les attributs des donnees

Page 67: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Structure generique de l’algorithme

Require: echantillon S1: Initialiser l’arbre courant a vide : racine = noeud courant2: repeat3: Decider si le noeud courant est terminal4: if noeud terminal then5: Lui affecter une classe6: else7: Selectionner un test et creer autant de nouveaux noeuds qu’il y a

de reponses possibles au tests8: end if9: Passer au noeud suivant non-explore (s’il existe)

10: until Plus de noeud sans classe11: return Arbre de decision A

Page 68: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Structure generique de l’algorithme (cont’d)

Noeud terminal ?

Lorsque (presque) tous les exemples de S en ce noeud sont dans lameme classe,

Lorsqu’il n’y a plus d’attributs a tester a ce niveau

Quelle classe a un noeud terminal ?

Classe majoritaire

Classe la plus representee, si egalite

Selection d’un test ?

Choix de l’attribut qui fait le mieux progresser la discrimination des donneesde S : gain en information.

Indice de Gini (CART)

Critere d’entropie (C4.5)

Page 69: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Arbres de decision, bilan

Principe general

Construction top-down, gloutonne et recursive, d’un petit arbre consistantavec la plupart des donnees

Remarques

Instabilite

Sur-apprentissage si arbres trop profonds

Interpretabilite

Efficace sur donnees symboliques, adaptation necessaire sur colonnescontinues

sklearn : https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html

Page 70: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 71: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Le classifieur naıf de Bayes

Page 72: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Rappel : algorithme du classifieur naıf de Bayes

Algorithme d’apprentissage, cas des attributs discrets

A partir de l’echantillon d’apprentissage, si K est le nombre de classes :

pour tout attribut x j , estimer P(x j |y) par des calculs de frequences

estimer p(y) par la frequence de chaque classe possible

retourner {P(x j |yk )}d,Kj=1,k=1, et {P(yk )}K

k=1

Fonction de decision

Pour tout nouvel exemple xq = [x1q , x2

q , . . . , xdq ], pour toute classe yk possible,

calculer la probabilite

πk = P(xq |yk )P(yk ) = P(yk )d∏

j=1

P(x jq |yk )

Renvoyer la classe yk pour laquelle πk est la plus grande

Page 73: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Les k plus proches voisins

Page 74: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Un premier algorithme d’apprentissage les k -plus proches voisins

Methode de classification supervisee, avec la definition d’une distance entreles points d : X → R+ (ex. distance euclidienne)

Intuition de la methode, soit l’echantillon S = {(xi , yi)}ni=1

Pour chaque nouvel exemple x ∈ X , calculer ses k plus proches voisins dansS selon une distance d a definir, et choisir pour x l’etiquette majoritaire parmices k voisins.

Algorithme en O(n)

En parcourant chaque xi ∈ X , extraire Vk (x) = {r1, · · · , rk} = les indices idans S des k plus proches voisins de x

Calculer f (x) = argmaxy∈Y

k∑j=1

I(y = yrj )

Page 75: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Illustration des k -NN (1)

Page 76: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Illustration des k -NN (2)

Page 77: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Pro’s and con’s des k -NN

Avantages

Simple, non-parametrique

Choix de k facile, par validation croisee

Sous sklearn : https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html

Inconvenients

Overfitting si k est grand, underfitting si k petit

Forte dependance a la distance choisie

Pas un vrai modele

Page 78: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 79: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 80: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Motivations des methodes ensemblistes

Exploiter la diversite de plusieurs modeles

Apprendre plusieurs modeles sur la base du meme echantillon ou desvariantes, et les combiner pour obtenir un modele unique final

Combinaison (vote pondere ou moyenne) des avis d’experts

Exploration originale de l’espace d’entree

No-free-lunch theorem

Il n’existe pas d’algorithme d’apprentissage qui fasse mieux que les autresdans tous les cas

En pratique, on teste...

differents algorithmes, hyper-parametres

differents sous-echantillons et espaces de description

Ensemble learning = combiner differents modeles (base learners) pouraugmenter les performances globales

Page 81: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 82: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Bagging = Boostrap AGGregatING

Combiner des modeles et decorreler les erreurs

Chaque modele est appris sur un sous-echantillon de S

Extraire aleatoirement T sous-echantillons

Sur chaque echantillon St , apprendre une hypothese ht avec l’apprenantde son choix

Combiner les hypotheses par vote majoritaire (somme initialement, ouautre dans variantes)

Page 83: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Bagging: details

Raisons d’un succes

Chaque sous-hypothese est instable (biais fort mais variance faible),mais leur combinaison est stable (erreurs non-correlees)

Preferable avec hypothese de base de type arbre de decision, reseau deneurones, etc.

A eviter avec modeles de base stables

En pratique

Le bootstrap est effectue avec remise

Sous-echantillon constitue d’environ 60% des exemples de S

Variantes : Pasting (tirage sans remise), Random Subspaces (tirage desous-ensemble d’attributs), Random Patches = Bagging+RS

Sous sk-learn :https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.BaggingClassifier.html

Page 84: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 85: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Apprentissage par selection aleatoire de sous-espaces

Random subspaces : principe proche de celui du Bagging

Plusieurs modeles appris sur des sous-ensembles d’attributs

Algorithme d’apprentissage de F = {ft(.)}Tt=1 sur S = {(xi , yi)}n

i=1

Avec xi ∈ Rd , yi ∈ Y, T la taille de l’ensemble de classifieurs, nt < n lenombre d’attributs a selectionner pour apprendre le modele t

1 Pour chaque modele t de l’ensemble, creer un sous-echantillond’apprentissage St constitue des n exemples de S decrits selon nt

attributs choisis aleatoirement avec remise.

2 Pour chaque sous-echantillon St , apprendre un classifieur ft(x)3 Decision finale f (x) =

∑Tt=1 ft(x)/T (ou autre combinaison)

En pratique

Pallier la seule focalisation sur les attributs hautement predictifs

Favorable quand d >> n (small data)

sklearn : meme classe que le bagging

Page 86: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 87: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Forets aleatoires (random forests) : un bagging + RS sur arbres

Principe : decorreler les arbres de l’ensemble

Pour decorreler leurs erreurs

Chaque arbre est appris sur un sous-ensemble de l’echantillon initial S(en pratique, boostrap 66% avec remise)

Lors de l’apprentissage de chaque arbre, chaque test est selectionnesur la base de k attributs tires aleatoirement parmi les d de l’espace dedescription, souvent k =

√d

La prediction finale est issue du vote des arbres

En pratique

https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html

Fonctionne sur CART : memes hyper-parametres + nombre T d’arbres

Un estimateur consistant sous certaines contraintes fortes

Tres populaire, malgre une convergence moins rapide que beaucoupd’autres methodes

Interpretabilite limitee

Page 88: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Schema general des random forests

Source: Y. Mansiaux

Page 89: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 90: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

La metaphore des aveugles face a un elephant

Page 91: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

ADABOOST [Freund et.al, 1996]

Principe du boosting et d’AdaBoost

Apprendre une regle de classification forte a partir d’un vote pondere deregles faibles globalement (a peine mieux que le hasard), maisattendues expertes localement

Un algorithme iteratif avec changement progressif de la distribution del’echantillon d’apprentissage : inciter l’iteration suivante a se focaliser surles exemples difficiles

Illustration

Page 92: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

ADABOOST [Freund et.al, 1996]

Principe du boosting et d’AdaBoost

Apprendre une regle de classification forte a partir d’un vote pondere deregles faibles globalement (a peine mieux que le hasard), maisattendues expertes localement

Un algorithme iteratif avec changement progressif de la distribution del’echantillon d’apprentissage : inciter l’iteration suivante a se focaliser surles exemples difficiles

Illustration

Page 93: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

ADABOOST [Freund et.al, 1996]

Principe du boosting et d’AdaBoost

Apprendre une regle de classification forte a partir d’un vote pondere deregles faibles globalement (a peine mieux que le hasard), maisattendues expertes localement

Un algorithme iteratif avec changement progressif de la distribution del’echantillon d’apprentissage : inciter l’iteration suivante a se focaliser surles exemples difficiles

Illustration

Page 94: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

ADABOOST [Freund et.al, 1996]

Principe du boosting et d’AdaBoost

Apprendre une regle de classification forte a partir d’un vote pondere deregles faibles globalement (a peine mieux que le hasard), maisattendues expertes localement

Un algorithme iteratif avec changement progressif de la distribution del’echantillon d’apprentissage : inciter l’iteration suivante a se focaliser surles exemples difficiles

Illustration

Page 95: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

ADABOOST [Freund et.al, 1996]

Principe du boosting et d’AdaBoost

Apprendre une regle de classification forte a partir d’un vote pondere deregles faibles globalement (a peine mieux que le hasard), maisattendues expertes localement

Un algorithme iteratif avec changement progressif de la distribution del’echantillon d’apprentissage : inciter l’iteration suivante a se focaliser surles exemples difficiles

Illustration

Page 96: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

AdaBoost : cadre supervise

AdaBoost [Freund et al. 1996]

Donnees : S = {(x1, y1), ..., (xn, yn)} ou xi ∈ X , yi ∈ {−1,+1}Initialiser D1(i) = 1/nPour t = 1...T :

1 Extraire aleatoirement de S un sous-echantillon St i.i.d. selon Dt

2 Apprendre ht : X → {−1,+1} sur St ,Dt avec erreur

εt =n∑

i=1

Dt(i)I(ht(xi 6= yi)

3 Choisir αt =12 ln( 1−εt

εt)

4 Mise a jour de la distribution :

Dt+1(i) =Dt(i)exp(−αtytht(xi))

Zt

ou Zt est un coefficient de normalisation

Sortie : H(x) = sign(∑T

t=1 αtht(x))

Page 97: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Complements : comportement sur differents problemes

Chaque point = un dataset = (erreur algo1, erreur algo2)

Page 98: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Autres omplements

Proprietes

the good bonnes proprietes de generalisation, rarement desur-apprentissage, pas d’hyper-parametre trop complique aajuster, calculable, facile a implementer, jolies garantiestheoriques

the bad mauvaise tolerance au bruit, necessite pas mal de donnees,necessite des apprenants faibles un peu instables

and the crazy Fonctionne aussi sur classifieurs forts, mais pas toujours

Variantes

Des centaines de variantes

Gradient Boosting : autres fonctions de perte (M1)

Ca marche grace a la marge (cf. SVM)

Page 99: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Boosting : bilan

A retenir

Prediction finale issue d’une combinaison lineaire de predictions(locales)

Methode iterative, gloutonne

Chaque classifieur depend des precedents (pas d’independance commedans bagging)

Astuce de la reponderation des exemples

Bonnes garanties de generalisation

Sous sklearn

https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html

Page 100: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Outline

1 Introduction

2 Approches discriminantesLes approches par separation lineaire

De quoi parle-t-on ?Le perceptronLes Separateurs a Vastes MargesLa regression logistique

Approches non lineairesDe la separation lineaire a la separation non-lineaireLe perceptron multi-couchesLes arbres de decision

3 Approches generatives et les inclassablesClassifieur naıf de BayesLes k plus proches voisins

4 Methodes ensemblistesMotivationsLe BaggingRandom subspacesForets aleatoiresUn cas particulier : le boostingCombinaison de noyaux (MKL)

Page 101: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Multiple Kernel Learning (MKL)

Principe compare avec approches classiques a noyaux

Combinaison lineaire de fonctions de decision issues de noyaux differents

Selection de caracteristiques (selection de noyaux)

Methode ensembliste

sklearn compatible :https://github.com/IvanoLauriola/MKLpy

f (x) = sign

(∑m

βmfm(x)

)+ b

Page 102: Quelques algorithmes usuels de classification superviséeremi.eyraud/AA/L3InfoIAA...Introduction Approches discriminantes Approches gen´ ´eratives et les inclassables M´ethodes

Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes

Exemple