Plan
Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélangesApplication : les données Vélib
Classification superviséeGénéralitésMéthode des K plus proches voisinsArbre de classificationRégression logistiqueRéseaux de neurones artificiels
57 / 114
Plan
Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélangesApplication : les données Vélib
Classification superviséeGénéralitésMéthode des K plus proches voisinsArbre de classificationRégression logistiqueRéseaux de neurones artificiels
58 / 114
Comparaison de méthodes (1/3)
Comment comparer différentes méthodes de classification supervisée ?
Les pièges à éviter⌅ erreur apparente : comparer des méthodes en terme de taux de bon
classement sur l’échantillon d’apprentissage ayant servi à estimer lesparamètres favorisera toujours les méthodes les plus complexes
⌅ erreur en généralisation : estimer la réussite du modèle sur unéchantillon de test n’ayant pas servi à estimer les paramètres
On peut même utiliser un ensemble de validation totalementindépendant des données utilisées pour entraîner et sélectionner lesmodèles.
59 / 114
Comparaison de méthodes (1/3)
Comment comparer différentes méthodes de classification supervisée ?
Les pièges à éviter⌅ erreur apparente : comparer des méthodes en terme de taux de bon
classement sur l’échantillon d’apprentissage ayant servi à estimer lesparamètres favorisera toujours les méthodes les plus complexes
⌅ erreur en généralisation : estimer la réussite du modèle sur unéchantillon de test n’ayant pas servi à estimer les paramètres
On peut même utiliser un ensemble de validation totalementindépendant des données utilisées pour entraîner et sélectionner lesmodèles.
59 / 114
Comparaison de méthodes (1/3)
Comment comparer différentes méthodes de classification supervisée ?
Les pièges à éviter⌅ erreur apparente : comparer des méthodes en terme de taux de bon
classement sur l’échantillon d’apprentissage ayant servi à estimer lesparamètres favorisera toujours les méthodes les plus complexes
⌅ erreur en généralisation : estimer la réussite du modèle sur unéchantillon de test n’ayant pas servi à estimer les paramètres
On peut même utiliser un ensemble de validation totalementindépendant des données utilisées pour entraîner et sélectionner lesmodèles.
59 / 114
Comparaison de méthodes (2/3)
Comment comparer différentes méthodes de classification supervisée ?
On utilisera⌅ un échantillon test : le taux de bon classement sera évalué sur un
échantillon test n’ayant pas servi à estimer les règles de classement(découpage éch. existant en 2/3 apprentissage 1/3 test)
⌅ la validation croisée (cross validation - CV) K-fold où l’échantillond’apprentissage est découpé en K partie, chaque partie servant tourà tour d’échantillon test
⌅ la validation croisée Leave One Out = CV avec n folds
CV =1n
nX
i=1
1Iz(i)=zi
où z(i) est la prédiction de la classe du ième individu obtenu sansutiliser cet individu pour estimer les paramètres du modèle
⌅ un critère de choix de modèles (BIC) pour les méthodes probabilistes60 / 114
Comparaison de méthodes (3/3)
⌅ Aire sous la courbe ROC (AUC) dans le cas de K = 2 classes,évaluée sur éch. test ou par CV (ici avec sensibilité vs. 1-spécificité)
prédit totalZ = 0 Z = 1
réel Z = 0 VN FP NZ = 1 FN VP P
total N P n
⇤ positif : relatif à une modalité de référence (Z = 1, malade, achat...)⇤ s : seuil tel que bZ = 1 si p(bZ = 1) � s⇤ Se(s) = VP
VP+FN : sensibilité (taux de vrais positifs)⇤ 1 � Sp(s) = 1 � VN
VN+FP : 1-spécificité (taux de faux positifs)
61 / 114
Exemple courbe ROC
62 / 114
Plan
Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélangesApplication : les données Vélib
Classification superviséeGénéralitésMéthode des K plus proches voisinsArbre de classificationRégression logistiqueRéseaux de neurones artificiels
63 / 114
K plus proches voisins (K NN)Idées :⌅ On compte parmi les K plus proches voisins d’un points x à classer le
nombre de points nk de chaque classe (1 k K ).⌅ On estime alors la probabilité que x appartienne à la classe k par :
tk (x) =nk
K
64 / 114
K plus proches voisins (K NN)
Remarques⌅ choix de K crucial : CV, AUC, éch. test...⌅ plus n est grand, plus on peut se permettre de prend un K grand
Packages⌅ knn{class}
65 / 114
Exercice
⌅ Prédire l’appartenance du point X5 = 4 à l’une des deux classessuivantes, par la méthode K NN avec différentes valeurs de K :⇤ classe 1 : X1 = 0, X2 = 2⇤ classe 2 : X3 = 6, X4 = 11
66 / 114
Plan
Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélangesApplication : les données Vélib
Classification superviséeGénéralitésMéthode des K plus proches voisinsArbre de classificationRégression logistiqueRéseaux de neurones artificiels
67 / 114
Arbre de décision
PrincipeUn arbre où chaque nœud est associé à un test sur une variable et lesfeuilles spécifient une décision sur la catégorie de l’individu observé.
68 / 114
Exemple des données sur le golf (Quinlan, 1983)
69 / 114
Apprendre un arbre
Approches⌅ générer tous les arbres possibles (combinatoire)⌅ choisir un biais : exploration ascendante ou descendante, gestion
des valeurs numériques, etc.⌅ approche descendante : choisir une variable à chaque étape
Algorithme ID3 (Quinlan, 1983)⌅ premier algorithme proposé pour construire des arbres de décision⌅ appartient à la famille TDIDT (Top Down Induction of Decision Trees)⌅ basé sur le gain d’information et le critère d’entropie :
I = �KX
k=1
pk ⇥ log pk
70 / 114
Apprendre un arbre
Approches⌅ générer tous les arbres possibles (combinatoire)⌅ choisir un biais : exploration ascendante ou descendante, gestion
des valeurs numériques, etc.⌅ approche descendante : choisir une variable à chaque étape
Algorithme ID3 (Quinlan, 1983)⌅ premier algorithme proposé pour construire des arbres de décision⌅ appartient à la famille TDIDT (Top Down Induction of Decision Trees)⌅ basé sur le gain d’information et le critère d’entropie :
I = �KX
k=1
pk ⇥ log pk
70 / 114
Gain d’information et critère d’entropie (1/2)
Mesurer l’information⌅ théorie de l’information de Shannon (1949)⌅ exprime la quantité d’information (nombre de bits) pour coder
l’information
Mesurer l’informationPrenons par exemple une urne avec des boules de deux couleurs :
71 / 114
Gain d’information et critère d’entropie (1/2)
Mesurer l’information⌅ théorie de l’information de Shannon (1949)⌅ exprime la quantité d’information (nombre de bits) pour coder
l’information
Mesurer l’informationPrenons par exemple une urne avec des boules de deux couleurs :
71 / 114
Gain d’information et critère d’entropie (2/2)
Coder l’information⌅ P bits permettent de coder 2P informations⌅ log(P) bits permettent de coder P informations⌅ connaître la couleur de la boule apporte :
log2(N)� log2(Nr ) bits
⌅ l’information acquise est donc de :
p(rouge)[log2(N)� log2(Nr )] + p(bleu)[log2(N)� log2(Nb)]
Le critère à maximiser dans l’algorithme ID3 est alors I � E(N,A), oùE(N,A) = N1
N I1 + N2N I2 + N3
N I3
72 / 114
Gain d’information et critère d’entropie (2/2)
Coder l’information⌅ P bits permettent de coder 2P informations⌅ log(P) bits permettent de coder P informations⌅ connaître la couleur de la boule apporte :
log2(N)� log2(Nr ) bits
⌅ l’information acquise est donc de :
p(rouge)[log2(N)� log2(Nr )] + p(bleu)[log2(N)� log2(Nb)]
Le critère à maximiser dans l’algorithme ID3 est alors I � E(N,A), oùE(N,A) = N1
N I1 + N2N I2 + N3
N I3
72 / 114
Illustration
Gain = I � E(N,A) = I � (N1
NI1 +
N2
NI2 +
N3
NI3)
73 / 114
Arbre binaire de classification
Principe⌅ arbre binaire de classification : succession de noeud⌅ noeud : défini par le choix d’une variable et d’une division ) partition
en 2 classes⌅ division : choix d’un seuil (variable explicative quanti.) ou d’un groupe
de modalités (variable explicative quali.)⌅ racine (noeud initial) : ensemble de l’échantillon ; la procédure est
itérée pour chacun des 2 fils du noeud init. Et ainsi de suite.
Paramétrisation de l’algorithme⌅ critère de qualité d’une division⌅ règle permettant de dire si un noeud est terminal (feuille)⌅ affectation de chaque feuille à l’une des K classes
74 / 114
Arbre binaire de classificationCritère de division⌅ D : critère d’hétérogénéité d’un noeud
⇤ critère d’entropie
D = �2nKX
k=1
nk
nlog nk
n
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
p
entropie
où n est le nombre d’éléments du noeud, nk celui de la classe k , et avecla convention 0 log 0 = 0
⇤ indice de Gini
D = �KX
k=1
nk
n
⇣1 � nk
n
⌘
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.1
0.2
0.3
0.4
0.5
p
indi
ce d
e G
ini
⌅ on retient la division qui maximise
Dnoeud � (Dfils gauche + Dfils droit)
75 / 114
Arbre binaire de classification
Règle définissant un noeud terminal⌅ si un des noeuds fils est vide⌅ si le nombre d’observation est inférieur à un seuil (entre 1 et 5)
Règle d’affectation d’un noeud à une classe⌅ la classe majoritaire⌅ la classe a posteriori la plus probable (si des probabilités a priori sont
connues)⌅ la classe la moins coûteuse (si des coûts de mauvais classements
sont connus)
76 / 114
Arbre binaire de classificationConstruction d’un arbre optimal⌅ les arbres ainsi créés sont souvent très raffinés et donc instable
(sur-ajustement)⌅ on va recherche des arbres plus parcimonieux : méthode CART
(Breinman et al. 1984)
Algorithm 4 CART1: construction de l’arbre maximal2: construction d’une séquence d’arbre emboités
⇤ on compare tous les arbres obtenus en supprimant une des dernièresdivisions (et donc une feuille) suivant un critère d’erreur de classement,et on retient le meilleur
⇤ ainsi de suite en remontant jusqu’à la racine
3: comparer les arbres obtenus via un taux de mauvais classement es-timé sur échantillon test ou par validation croisée
77 / 114
Arbre binaire de classification
Avantages⌅ règle d’affectation lisible⌅ aucune hypothèse paramétrique⌅ robuste vis-à-vis des données atypiques
Inconvenients⌅ demande des tailles d’échantillons grandes⌅ coûteux en temps de calcul⌅ parfois instable
Packages⌅ rpart{rpart}
78 / 114
Arbre binaire de classification : les Iris de Fisher
Illustration sur les données Iris
|Petal.L.< 2.45
Petal.W.< 1.75
150/50/50
150/0/0
20/50/50
20/49/5
30/1/45
79 / 114
Plan
Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélangesApplication : les données Vélib
Classification superviséeGénéralitésMéthode des K plus proches voisinsArbre de classificationRégression logistiqueRéseaux de neurones artificiels
80 / 114
Régression logistique (RL)
On se place dans le cas K = 2 (régression logistique dichotomique)
Y 2 {0, 1}
Les variables explicatives peut-être quantitatives ou qualitatives :⌅ Xj 2 R : utilisée telle quelle
⌅ Xj 2 {m1j , . . . ,m
kjj } : transformée en variables indicatrices
Xj )✓
1IXj=m1j, . . . , 1I
Xj=mkj�1j
◆
81 / 114
RL : le modèlePrincipe⌅ on cherche à modéliser de façon linéaire ln P(Y=1|X=x)
1�P(Y=1|X=x) :
lnP(Y = 1|X = x)
1 � P(Y = 1|X = x)= ln
⇡(x)
1 � ⇡(x)| {z }logit(⇡(x))
= �0 +pX
j=1
�j xj
ce modèle s’écrit aussi
⇡(x) =exp (�0 +
Ppj=1 �j xj)
1 + exp (�0 +Pp
j=1 �j xj)
82 / 114
RL : Estimation
Maximum de log-vraisemblance conditionnelle
`(�) =nX
i=1
ln P(Y = yi |X = xi) =nX
i=1
yi�txi � ln(1 + exp�t
xi)
⌅ dérivée par rapport à � non linéaire en �
@l(�)@�
=nX
i=1
yi xi � xiexp�t
xi
1 + exp�txi
=nX
i=1
xi (yi � ⇡(xi))| {z }erreur
⌅ maximisation numérique de `(�) (algo. de type Newton Raphson)
83 / 114
RL : Interprétation via les Odds Ratio
On définit deux outils d’interprétation des paramètres du modèle :⌅ odds : combien de fois on a plus de chance d’avoir Y = 1 au lieu
d’avoir Y = 0 lorsque X = x:
odds(x) =⇡(x)
1 � ⇡(x)
⌅ odds-ratio : combien de fois on a plus de chance d’avoir Y = 1 aulieu d’avoir Y = 0 lorsque X = xi au lieu de X = xj
odds-ratio(xi , xj) =odds(xi)
odds(xj)
84 / 114
RL : Exemple d’interprétation
⌅ Y : présence / absence d’un cancer des poumons,⌅ X : fumeur / non fumeur.
Exemple de données (fictives)⌅ Chez les fumeurs : P(Y = 1|X = fumeur) = 0.01 et
P(Y = 0|X = fumeur) = 0.99.⌅ ) odds(X = fumeur) = 1/99 : on a une chance sur 99 d’avoir un
cancer des poumons lorsque l’on est fumeur.⌅ Chez les non fumeurs : P(Y = 1|X = non fumeur) = 10�4
⌅ ) odds-ratio(fumeur, non fumeur) = 1/991/9999 = 101 : on a 101 fois plus
de chance d’avoir un cancer des poumons pour un fumeur que pourun non fumeur.
85 / 114
RL : PrédictionsPour une nouvelle observation x
⇤, le modèle nous prédit le score
P(Y = 1|X = x
⇤; �) =exp (�0 +
Ppj=1 �j xj)
1 + exp (�0 +Pp
j=1 �j xj)
On peut alors définir la règle de classement suivante :
y⇤s =
⇢1 si P(Y = 1|X = x
⇤; �) � s0 sinon
où s est un seuil défini par en collaboration avec le praticien.
Si s = 0.5, on obtient la règle du maximum a posteriori (MAP).
Rq : souvent le score est plus intéressant que la prédiction elle même(credit scoring, médecine...)
86 / 114
Rég. logistique polytomique ou ordinale (K > 2)
⌅ régression logistique polytomique : Y 2 {1, . . . ,K}⇤ on réalise K � 1 régressions logistiques de ⇡k (x) versus ⇡K (x) :
ln ⇡k (x)⇡K (x)
= �0k +pX
j=1
�jk xj 81 k K � 1.
où ⇡k (x) = P(Y = k |X = x).
⌅ régression logistique ordinale : Y 2 {1, . . . ,K}) les modalités 1,. . . ,K de Y sont ordonnées⇤ on modélise généralement des logits cumulatifs :
ln ⇡k+1(x) + . . .+ ⇡K (x)⇡1(x) + . . .+ ⇡k (x)
= �0k +pX
j=1
�jk xj 81 k K � 1.
87 / 114
Régression logistique
Packages⌅ glm{stat}
88 / 114
Exemple : cancer du sein bénin / malin
Cl.thickness
2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8
26
10
26
10
Cell.size
Cell.shape
26
10
26
10
Marg.adhesion
Epith.c.size
26
10
26
10
Bare.nuclei
Bl.cromatin
26
10
26
10
Normal.nucleoli
2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8
26
10
Mitoses
89 / 114
Exemple : cancer du sein bénin / malinModèle avec toutes les variables
R> glm.res <- glm(Class ⇠ ., family=binomial, data=data)R> summary(glm.res)Coefficients:
Estimate Std.Error z value Pr(>|z|)(Intercept) -9.377e+00 2.219e+00 -4.225 2.4e-05 ***Id -7.407e-07 1.648e-06 -0.449 0.6531Cl.thickness 4.299e-01 1.901e-01 2.262 0.0237 *Cell.size 6.999e-01 4.061e-01 1.724 0.0848 .Cell.shape 3.014e-01 3.881e-01 0.777 0.4374Marg.adhesion 1.544e-01 1.648e-01 0.937 0.3488Epith.c.size 1.163e-01 2.439e-01 0.477 0.6334Bare.nuclei 4.429e-01 1.419e-01 3.121 0.0018 **Bl.cromatin 3.474e-01 2.613e-01 1.329 0.1838Normal.nucleoli 1.315e-01 1.563e-01 0.842 0.4000Mitoses 3.072e-01 4.154e-01 0.740 0.4595
--
AIC: 79.24790 / 114
Plan
Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélangesApplication : les données Vélib
Classification superviséeGénéralitésMéthode des K plus proches voisinsArbre de classificationRégression logistiqueRéseaux de neurones artificiels
91 / 114
Réseaux de neurones artificiels
⌅ Modèles (lointainement) inspirés du fonctionnement de notre cerveauet de travaux en sciences cognitives et neurosciences
⌅ Notre cerveau est capable de traiter des problèmes difficiles :reconnaissance de visages, de la parole, etc.
⌅ Paradigme connexionniste, une vision parallèle et distribuée del’activité du cerveau vu comme un système de traitement del’information :⇤ chaque neurone traite l’information indépendamment des autres avant
d’en communiquer le résultat à d’autres neurones grâce aux synapses⇤ des parties du cerveau (groupes de neurones) se spécialisent dans
certaines tâches
92 / 114
Schéma d’un neurone biologique
93 / 114
Comparons les deux “machines”
http://intelligence-artificielle-tpe.e-monsite.com/pages/limites-technologiques-et-ethique-de-l-ia/cerveau-humain-et-robot.html
94 / 114
Un peu d’histoire⌅ 1943 : neurone formel de McCulloch & Pitts
“A logical calculus of the ideas immanent in nervous activities”⌅ 1948 : Von Neumann – les réseaux d’automates⌅ 1949 : Donald Hebb – hypothèse de l’efficacité synaptique, notion de
mémoire associative, premières règles locales d’apprentissage⌅ 1958 : Rosenblatt et Widrow - Perceptron et Adaline⌅ 1969 : Minsky et Papert – analyse théorique des capacités de calcul
des réseaux à base de perceptron.⌅ Début des années 70 : stagnation des recherches sur les réseaux
neuromimétiques ; report des efforts en Intelligence Artificiellesymbolique (systèmes experts. . . )
⌅ Années 70-80 : quelques avancées - perceptron multicouches (MLP),cartes auto-organisatrices (SOM), etc.
⌅ Des mécanismes d’apprentissage performant pour le perceptronmulticouches voient le jour (rétropropagation du gradient)
95 / 114
Un peu d’histoire récente
Avènement de l’apprentissage profond (deep learning) :⌅ avant 2000 : de nombreux travaux importants mais qui passent
inaperçus, tels que les machines de Boltzmann (1985) ou la mémoireà long short-term memory (LSTM) pour les réseaux récurrents (1997)
⌅ Peu à peu, des progrès importants sont faits quant à la puissance decalculs (ex. GPUs) et les architectures profonde gagnent lescompétitions
⌅ 2013 : un réseau de neurones remporte la compétition ImageNet⌅ 2015 : Google annonce des taux de reconnaissance de visage de
l’ordre de 99,63% avec FaceNet (réseau de neurones à 22 couches !)⌅ octobre 2015 : victoire d’alphaGo contre le champion européen de
Go, Fan Hui⌅ mi-mars 2016 : victoire de DeepMind contre le champion du monde
de Go, Lee Sedol (4 parties à 1)96 / 114
Le Perceptron
Objectif : associer des formes présentées en entrée du réseau à desréponses en sortieExemple : rétine 4 x 6 éléments (image d’une lettre) ; en sortie : 26éléments
97 / 114
Le Perceptron
98 / 114
Le Perceptron
Cas à un seul neurone de sortieModèle de McCulloch et Pitts :⌅ Soit x = (x1, . . . , xp) dans Rp le signal d’entrée⌅ Chaque xi est associé à un poids wi
⌅ Le vecteur w est appelé coefficients synaptiques⌅ On ajoute une constante w0 appelée le biais
Signal post-synaptiques(x) = w0 +
Ppi=1 (wi ⇥ xi)
ou, si x = (1, x1, . . . , xp) : s(x) =Pp
i=0 wixi = w.x
Fonction d’activationy
w
(x) = h(s(x)) où h peut être définie de différentes manières
99 / 114
Le Perceptron
Cas à un seul neurone de sortieModèle de McCulloch et Pitts :⌅ Soit x = (x1, . . . , xp) dans Rp le signal d’entrée⌅ Chaque xi est associé à un poids wi
⌅ Le vecteur w est appelé coefficients synaptiques⌅ On ajoute une constante w0 appelée le biais
Signal post-synaptiques(x) = w0 +
Ppi=1 (wi ⇥ xi)
ou, si x = (1, x1, . . . , xp) : s(x) =Pp
i=0 wixi = w.x
Fonction d’activationy
w
(x) = h(s(x)) où h peut être définie de différentes manières
99 / 114
Le Perceptron
Cas à un seul neurone de sortieModèle de McCulloch et Pitts :⌅ Soit x = (x1, . . . , xp) dans Rp le signal d’entrée⌅ Chaque xi est associé à un poids wi
⌅ Le vecteur w est appelé coefficients synaptiques⌅ On ajoute une constante w0 appelée le biais
Signal post-synaptiques(x) = w0 +
Ppi=1 (wi ⇥ xi)
ou, si x = (1, x1, . . . , xp) : s(x) =Pp
i=0 wixi = w.x
Fonction d’activationy
w
(x) = h(s(x)) où h peut être définie de différentes manières
99 / 114
Exemples de fonctions d’activation
100 / 114
Neurone à deux entrées
Règle d’activation linéaireSi s = w1.x1 + w2.x2 > w0 alors y=1Si s = w1.x1 + w2.x2 w0 alors y=0
GéométriquementCela signifie qu’on a divisé le plan en deux régions par une droited’équation w1.x1 + w2.x2 � w0 = 0
101 / 114
Note au sujet du biais w0
L’une des motivations initiales était de pouvoir représenter des fonctionslogiques :
102 / 114
Retour sur la RLPrincipe⌅ on cherche à modéliser de façon linéaire ln P(Y=1|X=x)
1�P(Y=1|X=x) :
lnP(Y = 1|X = x)
1 � P(Y = 1|X = x)= ln
⇡(x)
1 � ⇡(x)| {z }logit(⇡(x))
= �0 +pX
j=1
�j xj
ce modèle s’écrit aussi
⇡(x) =exp (�0 +
Ppj=1 �j xj)
1 + exp (�0 +Pp
j=1 �j xj)
103 / 114
Une autre représentation bien utile
104 / 114
Remarques sur le perceptron⌅ Sans couche cachée, on retrouve les modèles linéaires⌅ Avec la fonction sigmoïd, il s’agit d’une régression logistique et on
interprète les sorties comme des probabilités⌅ Pour le problème multiclasse, on traite q problèmes binaires
indépendants :
105 / 114
A nouveau : relations entre RL et ANN
La régression logistique polytomique est équivalente à un ANN avec qperceptrons en parallèle et des fonctions d’activation softmax :
gk (x) = h(wTk .x) =
exp(wTk .x)P
j exp(wTj .x)
Le softmax permet de garantir une probabilité en sortie.
106 / 114
Cas de la fonction booléenne “AND”
X 1 X 2 AND1 1 11 0 00 1 00 0 0
Signal post-synaptique et fonction d’Heaviside :w0 + w1X 1 + w2X 2 Q 08>><
>>:
w0 + w1 + w2 > 0w0 + w1 0w0 + w2 0w0 0
107 / 114
Cas de la fonction booléenne “AND”
X 1 X 2 AND1 1 11 0 00 1 00 0 0
Signal post-synaptique et fonction d’Heaviside :w0 + w1X 1 + w2X 2 Q 0
8>><
>>:
w0 + w1 + w2 > 0w0 + w1 0w0 + w2 0w0 0
107 / 114
Cas de la fonction booléenne “AND”
X 1 X 2 AND1 1 11 0 00 1 00 0 0
Signal post-synaptique et fonction d’Heaviside :w0 + w1X 1 + w2X 2 Q 08>><
>>:
w0 + w1 + w2 > 0w0 + w1 0w0 + w2 0w0 0
107 / 114
Cas de la fonction booléenne “AND”
X 1 X 2 AND1 1 11 0 00 1 00 0 0
Signal post-synaptique et fonction d’Heaviside :w0 + w1X 1 + w2X 2 Q 08>><
>>:
w0 + w1 + w2 > 0w0 + w1 0w0 + w2 0w0 0
107 / 114
Cas de la fonction booléenne “XOR”
X 1 X 2 XOR1 1 01 0 10 1 10 0 0
Signal post-synaptique et fonction d’Heaviside :
w0 + w1X 1 + w2X 2 Q 08>><
>>:
w0 + w1 + w2 0w0 + w1 > 0w0 + w2 > 0w0 0
Ensemble de contraintes incompatibles.
108 / 114
Cas de la fonction booléenne “XOR”
X 1 X 2 XOR1 1 01 0 10 1 10 0 0
Signal post-synaptique et fonction d’Heaviside :
w0 + w1X 1 + w2X 2 Q 0
8>><
>>:
w0 + w1 + w2 0w0 + w1 > 0w0 + w2 > 0w0 0
Ensemble de contraintes incompatibles.
108 / 114
Cas de la fonction booléenne “XOR”
X 1 X 2 XOR1 1 01 0 10 1 10 0 0
Signal post-synaptique et fonction d’Heaviside :
w0 + w1X 1 + w2X 2 Q 08>><
>>:
w0 + w1 + w2 0w0 + w1 > 0w0 + w2 > 0w0 0
Ensemble de contraintes incompatibles.
108 / 114
Cas de la fonction booléenne “XOR”
X 1 X 2 XOR1 1 01 0 10 1 10 0 0
Signal post-synaptique et fonction d’Heaviside :
w0 + w1X 1 + w2X 2 Q 08>><
>>:
w0 + w1 + w2 0w0 + w1 > 0w0 + w2 > 0w0 0
Ensemble de contraintes incompatibles.
108 / 114
Cas de la fonction booléenne “XOR”
X 1 X 2 XOR1 1 01 0 10 1 10 0 0
Signal post-synaptique et fonction d’Heaviside :
w0 + w1X 1 + w2X 2 Q 08>><
>>:
w0 + w1 + w2 0w0 + w1 > 0w0 + w2 > 0w0 0
Ensemble de contraintes incompatibles.
108 / 114
Le perceptron multicouches
⌅ Les modèles précédents définissent des modèles linéaires aveccertaines limites.
⌅ Le perceptron multicouche (“multilayer perceptron”) est unegénéralisation de ces modèles :⇤ en régression il permet de traiter les cas non linéaires de régression⇤ en classification, il permet de déterminer des fonctions de décision
textbfnon linéaire permettant de résoudre le problème “XOR” précédentpar exemple
⌅ Il consiste en l’ajout de couches de neurones dites cachées entreles données en entrée et les données en sortie.
109 / 114
Le perceptron multicouches
⌅ Les modèles précédents définissent des modèles linéaires aveccertaines limites.
⌅ Le perceptron multicouche (“multilayer perceptron”) est unegénéralisation de ces modèles :
⇤ en régression il permet de traiter les cas non linéaires de régression⇤ en classification, il permet de déterminer des fonctions de décision
textbfnon linéaire permettant de résoudre le problème “XOR” précédentpar exemple
⌅ Il consiste en l’ajout de couches de neurones dites cachées entreles données en entrée et les données en sortie.
109 / 114
Le perceptron multicouches
⌅ Les modèles précédents définissent des modèles linéaires aveccertaines limites.
⌅ Le perceptron multicouche (“multilayer perceptron”) est unegénéralisation de ces modèles :⇤ en régression il permet de traiter les cas non linéaires de régression
⇤ en classification, il permet de déterminer des fonctions de décisiontextbfnon linéaire permettant de résoudre le problème “XOR” précédentpar exemple
⌅ Il consiste en l’ajout de couches de neurones dites cachées entreles données en entrée et les données en sortie.
109 / 114
Le perceptron multicouches
⌅ Les modèles précédents définissent des modèles linéaires aveccertaines limites.
⌅ Le perceptron multicouche (“multilayer perceptron”) est unegénéralisation de ces modèles :⇤ en régression il permet de traiter les cas non linéaires de régression⇤ en classification, il permet de déterminer des fonctions de décision
textbfnon linéaire permettant de résoudre le problème “XOR” précédentpar exemple
⌅ Il consiste en l’ajout de couches de neurones dites cachées entreles données en entrée et les données en sortie.
109 / 114
Le perceptron multicouches
⌅ Les modèles précédents définissent des modèles linéaires aveccertaines limites.
⌅ Le perceptron multicouche (“multilayer perceptron”) est unegénéralisation de ces modèles :⇤ en régression il permet de traiter les cas non linéaires de régression⇤ en classification, il permet de déterminer des fonctions de décision
textbfnon linéaire permettant de résoudre le problème “XOR” précédentpar exemple
⌅ Il consiste en l’ajout de couches de neurones dites cachées entreles données en entrée et les données en sortie.
109 / 114
Le perceptron multicouches
Petite démo avec TensorFlow :http://playground.tensorflow.org
110 / 114
Le perceptron multicouches
Petite démo avec TensorFlow :http://playground.tensorflow.org
110 / 114
Perceptron - Apprentissage des poids
Sortie du neurone: y =nX
i=0
wixi
fonctiond'agrégation
fonctiond'activation
entrées
sortie
poidssynaptiques
......
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2
par
descente de gradient stochastique:�w = ⌘x(y � y)
111 / 114
Perceptron - Apprentissage des poids
Sortie du neurone: y =nX
i=0
wixi
fonctiond'agrégation
fonctiond'activation
entrées
sortie
poidssynaptiques
......
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2
par
descente de gradient stochastique:�w = ⌘x(y � y)
111 / 114
Perceptron - Apprentissage des poids
Sortie du neurone: y =nX
i=0
wixi
fonctiond'agrégation
fonctiond'activation
entrées
sortie
poidssynaptiques
......
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2
par
descente de gradient stochastique:�w = ⌘x(y � y)
�wi = �⌘@E@wi
= �⌘
2
X
x
@(y � y)2
@wi
= �⌘
2
X
x
�2@y@wi
(y � y) =X
x
⌘xi(y � y)
111 / 114
Perceptron - Apprentissage des poids
Sortie du neurone: y =nX
i=0
wixi
fonctiond'agrégation
fonctiond'activation
entrées
sortie
poidssynaptiques
......
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2 par
descente de gradient stochastique:�w = ⌘x(y � y)
111 / 114
Optimisation de E par descente du gradient stochastique :�w = ⌘x(y � y)
Propriétés⌅ Classifieur linéaire⌅ Convergence garantie si ⌘ est faible (même si les données ne sont
pas linéairement séparables)⌅ Convergence efficace (car la fonction à optimiser est quadratique)⌅ Convergence souvent plus rapide en mode en ligne mais pas
garantie comme en mode batch
112 / 114
Perceptron multi-couches - Werbos & Rumelhard(1984-1986)Sortie du neurone:
s =nX
i=0
wixi
y =1
1 + e�s
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2 par
descente de gradient stochastique:�w = ⌘x(y � y)y(1 � y)
fonctiond'agrégation
fonctiond'activation
entrées
sortie
poidssynaptiques
......
�wi = �⌘@E@wi
= �⌘@E@s
@s@wi
= ⌘X
x
@y@s
(y � y)@s@wi
=X
x
⌘y(1 � y)(y � y)xi
113 / 114
Perceptron multi-couches - Werbos & Rumelhard(1984-1986)Sortie du neurone:
s =nX
i=0
wixi
y =1
1 + e�s
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2 par
descente de gradient stochastique:�w = ⌘x(y � y)y(1 � y)
fonctiond'agrégation
fonctiond'activation
entrées
sortie
poidssynaptiques
......
�wi = �⌘@E@wi
= �⌘@E@s
@s@wi
= ⌘X
x
@y@s
(y � y)@s@wi
=X
x
⌘y(1 � y)(y � y)xi
113 / 114
Perceptron multi-couches - Werbos & Rumelhard(1984-1986)
Réseau: connectivité complète entre la couched’entrée, la(les) couche(s) cachée(s) et la couchede sortie
Apprentissage:
...
...
...
...
...j
k
i
k k k
113 / 114
Perceptron multi-couches - Werbos & Rumelhard(1984-1986)Réseau: connectivité complète entre la couched’entrée, la(les) couche(s) cachée(s) et la couchede sortie
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2 par descente de
gradient stochastique, on suppose connus les�k = � @E
@skde la couche supérieure
...
...
...
...
...j
k
i
k k k
�@E@sj
= �X
k
@E@sk
@sk
@yj
@yj
@sj
= �X
k
��k wjk yj(1 � yj)
= yj(1 � yj)X
k
�k wjk
�wij = �⌘@E@wij
= �⌘@E@sj
@sj
@wij
= ⌘�j xi
113 / 114
Perceptron multi-couches - Werbos & Rumelhard(1984-1986)Réseau: connectivité complète entre la couched’entrée, la(les) couche(s) cachée(s) et la couchede sortie
Apprentissage: On veut minimiser l’erreur
quadratique E =12
X
x
(y � y)2 par descente de
gradient stochastique, on suppose connus les�k = � @E
@skde la couche supérieure
...
...
...
...
...j
k
i
k k k
�@E@sj
= �X
k
@E@sk
@sk
@yj
@yj
@sj
= �X
k
��k wjk yj(1 � yj)
= yj(1 � yj)X
k
�k wjk
�wij = �⌘@E@wij
= �⌘@E@sj
@sj
@wij
= ⌘�j xi
113 / 114
Perceptron multi-couches - Werbos & Rumelhard(1984-1986)Réseau: connectivité complète entre la couched’entrée, la(les) couche(s) cachée(s) et la couchede sortie
Apprentissage: Pour chaque entrée reçue:1. Calculer la sortie y du réseau par propagation
(couche par couche) de l’activité2. Calculer l’erreur de la couche de sortie:
�k = yk (1 � yk )(yk � yk )
3. Rétropropager l’erreur à travers chaque couchej du réseau �j = yj(1 � yj)
X
k
�k wjk
4. Modifier chaque poids �wij = ⌘�j xi
...
...
...
...
...j
k
i
k k k
113 / 114
Perceptron multi-couches - Werbos & Rumelhard(1984-1986)Réseau: connectivité complète entre la couched’entrée, la(les) couche(s) cachée(s) et la couchede sortie
Apprentissage: Pour chaque entrée reçue:1. Calculer la sortie y du réseau par propagation
(couche par couche) de l’activité2. Calculer l’erreur de la couche de sortie:
�k = yk (1 � yk )(yk � yk )
3. Rétropropager l’erreur à travers chaque couchej du réseau �j = yj(1 � yj)
X
k
�k wjk
4. Modifier chaque poids �wij = ⌘�j xi
...
...
...
...
...j
k
i
k k k
Propriétés⌅ Approximateur universel (avec fonction d’activation sigmoïde ou
gaussienne)⌅ Convergence potentiellement peu efficace (non convexe et gradient
evanescent)
113 / 114
Bref aperçu de l’apprentissage profond (deeplearning)
⌅ Perceptron / Multi-layer perceptron...
...
...
...
...j
k
i
k k k
⌅ Auto-encoder / Stacked auto-encoder⌅ Restricted Boltzmann machine / Deep belief network⌅ Convolutional neural network⌅ Recurrent neural network⌅ Long Short Term Memory
114 / 114
Bref aperçu de l’apprentissage profond (deeplearning)⌅ Perceptron / Multi-layer perceptron⌅ Auto-encoder / Stacked auto-encoder
⌅ Restricted Boltzmann machine / Deep belief network⌅ Convolutional neural network⌅ Recurrent neural network⌅ Long Short Term Memory
114 / 114
Bref aperçu de l’apprentissage profond (deeplearning)
⌅ Perceptron / Multi-layer perceptron⌅ Auto-encoder / Stacked auto-encoder⌅ Restricted Boltzmann machine / Deep belief network
⌅ Convolutional neural network⌅ Recurrent neural network⌅ Long Short Term Memory
114 / 114
Bref aperçu de l’apprentissage profond (deeplearning)
⌅ Perceptron / Multi-layer perceptron⌅ Auto-encoder / Stacked auto-encoder⌅ Restricted Boltzmann machine / Deep belief network⌅ Convolutional neural network
⌅ Recurrent neural network⌅ Long Short Term Memory
114 / 114
Bref aperçu de l’apprentissage profond (deeplearning)
⌅ Perceptron / Multi-layer perceptron⌅ Auto-encoder / Stacked auto-encoder⌅ Restricted Boltzmann machine / Deep belief network⌅ Convolutional neural network⌅ Recurrent neural network
⌅ Long Short Term Memory
114 / 114
Bref aperçu de l’apprentissage profond (deeplearning)
⌅ Perceptron / Multi-layer perceptron⌅ Auto-encoder / Stacked auto-encoder⌅ Restricted Boltzmann machine / Deep belief network⌅ Convolutional neural network⌅ Recurrent neural network⌅ Long Short Term Memory
114 / 114