23
Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Application : les données Vélib Classification supervisée Généralités Méthode des K plus proches voisins Arbre de classification Régression logistique Réseaux de neurones artificiels 57 / 114 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Application : les données Vélib Classification supervisée Généralités Méthode des K plus proches voisins Arbre de classification Régression logistique Ré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 les paramètres favorisera toujours les méthodes les plus complexes 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 les paramè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 59 / 114

Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 2: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 3: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 4: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 5: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 6: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 7: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 8: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 9: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 10: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 11: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 12: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 13: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 14: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 15: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 16: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 17: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 18: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 19: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 20: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 21: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 22: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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

Page 23: Comparaison de méthodes - Lumière University Lyon 2mediamining.univ-lyon2.fr/velcin/public/DM/Fouille-de...Comparaison de méthodes (1/3) Comment comparer différentes méthodes

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