quelques algorithmes usuels de classification superviséeremi.eyraud/aa/l3infoiaa...introduction...
TRANSCRIPT
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
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)
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 )
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))
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
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)
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)
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Dans R2, recherche d’une droite qui separe les classes
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
De quoi parle-t-on ?
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
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
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
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
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
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
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Le perceptron
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Initialement, imitation du fonctionnement d’un neurone
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
La machine perceptron de Rosenblatt (1958-62)
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
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〉
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〉
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
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
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...
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 !
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Les Separateurs a Vastes Marges(SVM)
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Intuition : quel est le meilleur separateur lineaire ?
Exemple de separation
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
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
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
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
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)
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 !
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
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
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
La regression logistique
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
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
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
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)
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
De la separation lineaire a la separationnon-lineaire
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 φ ?
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
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
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
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
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Le perceptron multi-couches
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
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
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
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
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
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
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
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Les arbres de decision
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
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
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
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
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)
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
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)
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Le classifieur naıf de Bayes
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
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Les k plus proches voisins
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 )
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Illustration des k -NN (1)
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Illustration des k -NN (2)
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
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)
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)
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
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)
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)
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
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)
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
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)
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
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Schema general des random forests
Source: Y. Mansiaux
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)
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
La metaphore des aveugles face a un elephant
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
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
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
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
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
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))
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Complements : comportement sur differents problemes
Chaque point = un dataset = (erreur algo1, erreur algo2)
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)
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
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)
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
Introduction Approches discriminantes Approches generatives et les inclassables Methodes ensemblistes
Exemple