0% ont trouvé ce document utile (0 vote)
57 vues65 pages

04 Classification Lineaire 2pages

Transféré par

lalaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
57 vues65 pages

04 Classification Lineaire 2pages

Transféré par

lalaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Techniques d’apprentissage

IFT 603-712

Classification linéaire
Par
Pierre-Marc Jodoin
/
Hugo Larochelle

Classification supervisée (illustrée)


Entraînement


Soient des données de 2 classes et Le but est de trouver une function y w  x  telle que
(ici dans un espace 2D)
yw  = classe 1
yw  = classe 2
2

1
Classification supervisée (illustrée)
Entraînement avec plus de 2 classes


Soient des données de 3 classes , et Le but est de trouver une function y w  x  telle que
(ici dans un espace 2D)
yw  = classe 1
y w  = classe 2
yw  = classe 3 3

Notation
  
Ensemble d’entraînement: D   x1 , t1 ,  x2 , t 2 ,..., x N , t N 

xn  d vecteur de données du n-ème élement
t n  c1 , c2 ,..., cK 
étiquette de classe du i-ème élément

Fonctions: avec D, on doit apprendre une fonction de classification



yw x  : d  c1 , c1 ,, ck 

qui nous informe à quelle classe appartient le vecteur x.

2
Au menu : 5 méthodes

Régression Émettent l’hypothèse que les données sont gaussiennes


Modèles génératifs
Solution de type « closed form » (inversion de matrice)
Discriminant de Fisher

Perceptron Aucune hypothèse quant à la distribution des données


Régression logistique Solution obtenue grâce à une descente de gradient.

Introduction à la classification linéaire

Au tableau !!!

3
Séparation linéaire
(2D et 2 classes)
biais poids


y w ( x )  w0  w1 x1  w2 x2
 
x2 yw ( x )  0 y w ( x )  0  
 w0  wT x
 
 w' T x '

y w ( x )  0   
y w ( x )  wT x
 x1
w
2 grands advantages. Une fois l’entraînement terminé,
1. Plus besoin de données d’entraînement
2. Classification est très rapide (produit scalaire entre 2 vecteurs)
8

Séparation linéaire
biais poids
Exemple jouet

wT  2.2,5.5,4.4  
 xa est en FACE du plan
w

x2 xa  3,7  1 
yW ( xa )  wT xa  2.2,5.5,4.4 3  16.5
  
 
7
1 
yW ( xb )  wT xb  2.2,5.5,4.4 6  26.4
  

xb  6,1 1
x1

xb est DERRIÈRE le plan

4
10

10

Régression
Émettent l’hypothèque que les données sont gaussiennes
Modèles génératifs
Solution de type « closed form » (inversion de matrice)
Discriminant de Fisher

Perceptron Émettent aucune hypothèse quant à la distribution des


données
Régression logistique
Solution obtenue grâce à une descente de gradient.

11

11

5
Régression par les moindres carrés
(section 4.1.3, Bishop)

12

12

Régression par les moindres carrés


Cas 2 classes

On peut classifier des données en utilisant une approche de


régression comme celle vue au chapitre précédent.

• On pourrait prédire directement la valeur de la cible (t=1.0 vs t=-1.0)



• Si y w  x   0 on classifie dans Classe1 sinon dans Classe2

13

13

6
Régression par moindres carrés RAPPEL

On a vu qu’on peut utiliser une fonction d’erreur par moindres carrés


N
  2
  t n  y w ( xn ) 
Maximum de vraisemblance w  arg min 
w
n 1


ED w

N
  2 T 
Maximum a posteriori   t n  y w ( xn )   w w
w  arg min 
w
n 1


E D w

On peut prendre la même


approche pour la classification
14

14

Régression par les moindres carrés


Cas 2 classes RAPPEL
N
  2
Maximum de vraisemblance   t n  y w ( xn ) 
w  arg min 
w
n 1


wMV  X T X  1
X TT

N
  2 T 
Maximum a posteriori   t n  y w ( xn )   w w
w  arg min 
w
n 1



wMAP  X T X  I  1
X TT
Ces fonctions de coût s’appuient sur
15
l’hypothèse de données gaussiennes

15

7
Régression par moindres carrés

Régression logistique (à voir plus loin)


Moindres carrés (maximum de vraisemblance)

Données
gaussiennes Données
Non-gaussiennes

16

16

Régression par les moindres carrés


Cas K>2 classes

On va traiter le cas K classes comme une régression multiple

• Cible : vecteur à K dim. indiquant a quelle classe appartient l’entrée

• Exemple : Pour K=5 classes et une entrée associée à la classe 2

t n   1 1  1  1  1
T

• Classification: On classifie dans la classe k une donnée dont la valeur



de yw ,k ( x ) est la plus élevée.

17

17

8
Régression par les moindres carrés
Cas K>2 classes
Le modèle doit maintenant prédire un vecteur
 
yW x   W T x

où W est une matrice K x d

   
Chaque ligne de W peut être vue comme un vecteur w k du modèle y w  x   w Tk x
e k
pour la k cible

18

18


Cas K=3 classes 
y w ,0 ( x ) est max
y w ,1 ( x ) est max

Example

(1.1, -2.0)

y w , 2 ( x ) est max

 .6  .49 .4   1   1.9 Classe 0


   
.24   1.1    .43

y W ( x )  Wx   .4 .41 Classe 1

 .2 .05  .36  2.0  .58  Classe 2

19

19

9
20

20

Régression
Émettent l’hypothèque que les données sont gaussiennes
Modèles génératifs
Solution de type « closed form » (inversion de matrice)
Discriminant de Fisher

Perceptron Émettent aucune hypothèse quant à la distribution des


données
Régression logistique
Solution obtenue grâce à une descente de gradient.

21

21

10
Modèles probabilistes génératifs
(section 4.2, Bishop)

22

22

Prenons le cas 1D, 2 Classes


Ex: examen de statistiques avec des étudiants en math et en informatique

P (x ) P ( x, info)  P (info) P ( x | info)

P ( x, math )  P ( math ) P ( x | math )

0 100 x
T
T est le seuil qui minimise l’erreur de classification

P (info ) P ( x  T | info )  P ( math ) P ( x  T | math )


info

P (info ) P ( x | info ) P ( math ) P ( x | math )


math
23

23

11
info
P (info ) P ( x | info ) P ( math ) P ( x | math )
math

est équivalent à un maximum a posteriori


Inconnue Connue

t  arg max P  t | x  où t  math,info


t

= 
 arg max P (t ) P  x | t 
t
24

24

Prenons le cas 1D, 2 Classes


Ex: examen de math avec étudiant en math et en informatique

info

P (info ) P ( x | info ) P ( math ) P ( x | math )


math

Si on suppose que la vraisemblance de chaque classe est gaussienne:

1  x   info 2 
P ( x | info)  exp  

2  info  2 info
2

1  x   math 2 
P ( x | math )  exp  

2  math  2 math
2


 math : moyenne des étudiants de math .
 math : écart - type des étudiants de math.

25

25

12
Prenons le cas 1D, 2 Classes
Ex: examen de math avec étudiant en math et en informatique

info

P (info ) P ( x | info ) P ( math ) P ( x | math )


math

Si on suppose que la vraisemblance de chaque classe est gaussienne:

1  x   info 2 
P ( x | info)  exp  

2  info  2 info
2

1  x   math 2 
P ( x | math )  exp  

2  math  2 math
2

et que
nb étudiants info (Proportion des étudiants en info)
P (info ) 
nb tot étudiants
nb étudiants math (Proportion des étudiants en math)
P ( math ) 
nb tot étudiants 26

26

Modèle probabiliste génératif


Algorithme du seuil « optimal »
1 1
info   xn , math  N t 
Ninfo tn info
xn
math n math

1 1
 info  xn  info  ,  math  xn  math 
2 2
2
 2

Ninfo tn info N math tn math
N math Ninfo
Pmath  , Pinfo 
Ninfo  N math Ninfo  N math

POUR CHAQUE note x FAIRE


P (info)   x   info 2 
Pi  exp   

2  info  2 info
2

P ( math )   x   math 2 
Pm  exp   

2  math  2 math
2

SI Pi  Pm ALORS
t 1 /* étudiant « info » */
SINON
t0 /* étudiant « math » */ 27

27

13
L’algorithme de la page précédente
revient à un classificateur quadratique

y w  x   w2 x 2  w1 x  w0  0

28

28

Modèle probabiliste génératif


Classificateur quadratique, cas 1D, 2 Classes

P (info) P ( x | info)  P ( math ) P ( x | math )


P (info)  x   info 2  P ( math )   x   math 2 
exp    exp  
2  info  2 info 
2
2  math 
 2 math
2 

On peut facilement démontrer que

y w x   w2 x 2  w1 x  w0  0
 math
2
  info
2
w2 
2
w1  math info
2
 info math
2

info
2
 math
2
math
2
 info
2
  P(info) 
w0     info
2
 math
2
ln math 
2 2   info P(math)  29

29

14
Modèle probabiliste génératif
Classificateur linéaire, cas 1D, 2 Classes
Si on suppose que  info   math  

P (info ) P ( x | info )  P ( math ) P ( x | math )


P (info )   x   info 2  P ( math )   x   math 2 
exp    exp   
2   2 2  2   2 2 
   

yw x   w1 x  w0  0

w1 
math  info 
2
info
2
2  P (info) 
w0   math2  ln 
2 2
2  P(math )  30

30

Modèle probabiliste génératif


Classificateur linéaire, cas d-D, 2 Classes

  
yw x   w T x  w0  0

  
w   1 1   2 
   
 2T  1 2 1T  11  P (C 2 ) 
w0    ln 
2 2  P ( C )
1 

31

31

15
Tel que mentionné au chapitre 4.2.2, lorsque les 2 classes n’ont pas la même
variance-covariance, on peut utiliser le modèle linéaire mais avec la matrice

  P (C1 )1  P(C 2 ) 2

32

32

Modèle probabiliste génératif


Classificateur linéaire, cas 1D, 2 Classes
Maximum de
Si on suppose que P (info)  P (math ) vraisemblance
P (info ) P ( x | info )  P ( math ) P ( x | math )
P (info )   x   info 2  P ( math )   x   math 2 
exp    exp   
2   2 2  2   2 2 
   

yw x   w1 x  w0  0

w1 
math  info 
2
info
2
2  P (info) 
w0   math2  ln 
2 2
2  P(math )  33

33

16
Modèle probabiliste génératif
Classificateur linéaire, cas d-D, K Classes

On peut généraliser au cas à plusieurs classes

 Voir fin des sections 4.2 et 4.2.1

34

34

35

35

17
Régression
Émettent l’hypothèque que les données sont gaussiennes
Modèles génératifs
Solution de type « closed form » (inversion de matrice)
Discriminant de Fisher

Perceptron Émettent aucune hypothèse quant à la distribution des


données
Régression logistique
Solution obtenue grâce à une descente de gradient.

36

36

Discriminant linéaire de Fisher


(section 4.1.4, Bishop)

37

37

18
Classification linéaire = Projection 1D
  
(2D et 2 classes) yw ( x )  w0  w T x
 
x2 y w ( x )  0 y w ( x )  0 biais poids


y w ( x )  0

x1

Tel que vu en classe, une


classification linéaire revient
à une projection vers un
 espace 1D.
y w ( x )
38

38

Classification linéaire = Projection 1D


  
(2D et 2 classes) yw ( x )  w0  wT x

 
x2 yw ( x )  0 y w ( x )  0

1


2

y w ( x )  0

x1

   Hypothèse gaussienne…
1  w T 1  w0

  
 2  w T  2  w0 
y w (x )
39

39

19
Classification linéaire = Projection 1D
  
(2D et 2 classes) yw ( x )  w0  wT x

 
x2 y w ( x )  0 y w ( x )  0

1


Intuitivement, une bonne solution y w (x )

2

y w ( x )  0

x1
en est une pour laquelle la distance entre
les moyennes projetées est grande.
  
1  w T 1  w0

  
w  arg max 1   2
  
 2  w T  2  w0 
y w (x ) 
w
   
 arg max
 wT 1  w0  wT  2  w0
w
  
 arg max
 wT 1   2 
w

40

40

Classification linéaire = Projection 1D


  
(2D et 2 classes) yw ( x )  w0  wT x

   
w  arg max
 wT 1   2 
w

Ce problème est mal posé car il suffit


d’augmenter W infiniment pour maximiser
cette fonction.

41

41

20
Classification linéaire = Projection 1D
  
(2D et 2 classes) yw ( x )  w0  wT x

   
w  arg max
 wT 1   2 
w

Par contre si on impose que la norme de w = 1

on obtient que

  
w  1   2 
(preuve au tableau) 42

42

Discriminant linéaire
Une fois w calculé, il faut trouver le biais w0

 Un choix fréquent lorsque les classes sont balancées


   
wT 1  wT  2
w0  
2
 Sinon
  N1  N2  
w0   wT  1   2 
N
 1  N 2 N 1  N 2 

où N1 et N2 sont le nombre d’éléments dans chaque classe.

43

43

21
Discriminant linéaire
(2D et 2 classes) 
y w ( x )  0

y w ( x )  0
x2 
1


2

y w ( x )  0

x1

  
1  w T 1  w0

  
 2  w T  2  w0 
y w (x )

Les 2 gaussiennes projetées:


     
1  wT 1  w0  2  wT  2  w0
     
 12  wT 1w  22  wT  2 w 44

44

Discriminant linéaire de Fisher


(2D et 2 classes)
 
x2 yW ( x )  0 yW ( x )  0

1


2

yW ( x )  0
Critère de Fisher
  x1
1 , 12
 

w  arg max
 1   2 2
 
 12   22
 
 2 ,  22 
yW (x ) 
w

On obtient le meilleur 𝑤 en forçant le gradient à 0


  2

 1
  2 
0
 
 12   22
w
45

45

22
Discriminant linéaire de Fisher
(2D et 2 classes)
 
x2 yW ( x )  0 yW ( x )  0

1


2

yW ( x )  0
Critère de Fisher
  x1 Maximiser la
1 , 12
distance inter-classe
 

w  arg max
 1   2 2
 
 12   22
 
 2 ,  22 
yW (x ) 
w
Minimiser la
variance intra-classe

On obtient le meilleur 𝑤 en forçant le gradient à 0


  2

 1
  2 
0
 
 12   22
w
46

46

Discriminant linéaire de Fisher


(2D et 2 classes)
 
x2 yW ( x )  0 yW ( x )  0

1


2

yW ( x )  0
Critère de Fisher
  x1
1 , 12
 

w  arg max
 1   2 2
 
 12   22
 
 2 ,  22 
yW (x ) 
w
Preuve en
classe ou
en devoir
  
 w  Σ w 1 1   2 
    T     T
 Σ w   xn  1  xn  1    x n   2  xn   2 
t n  C1 t n C2

47

47

23
Discriminant linéaire de Fisher
(2D et 2 classes)

  
w  1   2 
  
w  Σ w 1 1   2 
48

48

Discriminant linéaire de Fisher


Algorithme 2-Classes, entraînement
 
Calculer 1, 2
    T     T
Σ w   xn  1 xn  1    x n   2 xn   2 
t n C1 t n C 2
  
w  Σ w 1 1   2 
   
wT 1  wT  2    N1  N2   
 ou w0   wT  
w0  
2   N  N 1  N  N  2  
  1 2 1 2 

Algorithme 2-Classes, généralisation


POUR CHAQUE donnée test x FAIRE
  
t  y w  x   w T x  w0
SI t < 0 ALORS
t=1
SINON
t=2
49

49

24
Discriminant linéaire de Fisher

• On peut voir l’analyse discriminante linéaire comme un cas


particulier des moindres carrés
 voir section 4.1.5

• Il est possible de généraliser au cas à plus de 2 classes


 voir section 4.1.6

50

50

51

51

25
Régression
Émettent l’hypothèque que les données sont gaussiennes
Modèles génératifs
Solution de type « closed form » (inversion de matrice)
Discriminant de Fisher

Perceptron Émettent aucune hypothèse quant à la distribution des


données
Régression logistique
Solution obtenue grâce à une descente de gradient.

52

52

Perceptron
(section 4.1.7, Bishop)

53

53

26
Perceptron (2 classes)
Contrairement aux approches précédentes, le perceptron n’émet pas l’hypothèse
que les données sont gaussiennes

Le perceptron part de la definition brute de la classification binaire par hyperplan


 
yw  x   sign wT x 
 signw0  w1 x1  w2 x2  ...  wd xd 

biais poids

54

54

Perceptron
(2D et 2 classes)

yw ( x )  0 
 y w ( x )  0
x2 w
x1 w1

w2   
x2 wT x y w (x )

y w ( x )  0
w0
1

x1

y w ( x )  w0  w1 x1  w2 x1
 
 wT x
 
 w' T x '
 
 wT x 55

55

27
Perceptron 
y w ( x )  0


y w ( x )  0
(2D et 2 classes) x2 w

x1 w1

yw ( x )  0
w2   
x2 wT x sign yw ( x) {1,1}

w0 x1
1

Fonction d’activation
  
yw  x   sign wT x  
56

56

Perceptron 
(2D et 2 classes) yw ( x )  0  
w y w ( x )  0
x2
x1 w1

y w ( x )  0
x2
w2  
wT x sg


 

yw  x   sign wT x   1,1

w0
1
x1

Neurone
Produit scalaire + fonction d’activation

57

57

28
Perceptron Example 3D
(N-D and 2-class case)

y w ( x )  1
x1
w1
x2
w2  
x3 w wT x sg
3 
  

yw  x   sign wT x   1,1
(...)
w0
1


yw ( x )  1

58

58

Nouvelle fonction de coût pour apprendre W


  
Le but: avec des données d’entraînement D   x1 , t1 , x2 , t2 ,..., xN , t N  , estimer 𝑤
afin que:

yw  xn   t n n

En d’autres mots, minimiser l’erreur d’entraînement


N
 1 
E D w    l  y x , t 

w n n
N n 1

où l(.,.) est une fonction de perte (loss function en anglais).

Trouver la bonne fonction de perte et le bon algorithme d’optimisation est un


sujet central en apprentissage machine.

59

59

29
Régression et classification RAPPEL

Vous vous souvenez de la régression?

Maximum de vraisemblance  N
tn  yw ( xn ) 2
 
w  arg min
w
n 1 2

E D w

N
  2 T 
Maximum a posteriori   t n  y w ( xn )   w w
w  arg min 
w
n 1


E D w

C’est un peu la même idée pour le Perceptron


mais avec une nouvelle fonction de coût. 60

60

Fonction de perte

 
ED  yw x   0

ED  yw x   0 ED  yw x   0

61

30
Nouvelle fonction de coût pour apprendre W
Une function simple et indépendante de la distribution des données serait de compter 1 pour chaque
donnée mal classée et 0 sinon

E D w   1 où M est l' ensemble des données mal classées

xi M

Exemple:

ED w  15

Ainsi, la meilleure solution serait celle pour laquelle on aurait aucune donnée mal classée.

Malheureusement, cette function n’est pas dérivable partout et  w ED w  0pour des solutions non-optimales

62


ED  yw  x 

w1
w2

63

63

31
Perceptron

Question: comment trouver la meilleure solution?  w ED  y w  x   0

 Initialisation aléatoire
ED  yw  x  [w1,w2]=np.random.randn(2)

w1
w2
64

64

Gradient descent


Question: how to find the best solution? ED  yw  x   0

 w  ηED  yw [k] x 


 [k 1 ]  [k] 
w
Gradient de la perte
Taux d’apprentissage
(Learning rate)

65

65

32
Critère du perceptron (perte)
Observation
Une donnée mal classée survient lorsque
 
wT xn  0 et tn  1
ou
 
wT xn  0 et tn  1.
T 
DONC  w xnt n est TOUJOURS positif pour des données mal classés

66

66

Critère du perceptron
Le critère du perception est une function qui pénalise les données mal classées
 T 
E D w   w xn t n où M est l' ensemble des données mal classées

xn M


ED w  464.15

67

67

33
Perceptron

Question: comment trouver la meilleure solution w avec cette function de perte?

Réponse: une solution frequente est la descente de gradient.

 
 

w[k 1 ]  w[k]  ηED w[k]

Gradient de la function de coût

Taux d’apprentissage (learning rate).

Descente de gradient de base



Initialiser w
k=0
FAIRE k=k+1  
w  w  ηED w
JUSQU’À ce que toutes les données soient bien classées
68

68

E w 

Perceptron
Pour le critère du Perceptron
 
ED w  t x n n w2
 w1
xn M
[Duda-Hart-Stork]

Batch optimization


Initialiser w
k=0
DO k=k+1
    
w  w  η   tn xn 
 xnM 

UNTIL toutes les données sont bien classées

NOTE importante sur le taux d’apprentissage h:

• Trop faible => convergence lente


• Trop grand => peut ne pas converger (et même diverger)
• Peut décroître à chaque itération (e.g.h [ k ]  cst / k )
69

69

34
Perceptron
Une autre version de l’algorithme consiste à analyser une donnée par itération.

Descente de gradient stochastique


Initialiser w
k=0
DO k=k+1
FOR n = 1 to N
IF wT xntn  0 THEN /* donnée mal classée */
  
w  w  ht n xn

UNTIL toutes les données sont bien classées.

70

70

Critère du perceptron
Fonctions d’énergie similaires au critère du Perceptron dont le gradient est le même

 T 
E D w   w xn t n où M est l' ensemble des données mal classées

x n M

 
N
  
ED w   max 0,  tn wT xn
n1

 N

 
ED w  max 0,1 tn wT xn  “Hinge Loss” or “SVM” Loss
n1

Chapitre 6

71

71

35

Perceptron Multiclasse 
y w ,0 ( x ) est max
y w ,1 ( x ) est max

(2D et 3 classes)

x1 w0 ,1
w1,1   
w0T x y w , 2 ( x ) est max
w2,1

w0 , 2 w 
1, 2
 
w1T x arg max yW ,i  x 
x2 i
w2 , 2
 
w2T x
w0 ,0 w1,0

1 w2 , 0   
yw ,0(x)  w0T x  w0 ,0  w0 ,1 x1  w0 ,2 x2
  
yw ,1(x)  w1T x  w1,0  w1,1 x1  w1,2 x2
  
yw ,2(x)  w2T x  w2 ,0  w2 ,1 x1  w2 ,2 x2
72

72


Perceptron Multiclasse 
y w ,0 ( x ) est max
y w ,1 ( x ) est max

(2D et 3 classes)

x1 w0 ,1
w1,1   
w0T x y w , 2 ( x ) est max
w2,1

w0 , 2 w 
1, 2
 
w1T x arg max yW ,i  x 
x2 i
w2 , 2
 
w2T x
w0 ,0 w1,0

1 w2 , 0  
yW ( x )  W T x
 w0, 0 w0,1 w0, 2   1 
  
yW ( x )   w1, 0 w1,1 w1, 2   x1 
 w2, 0 w2,1 w2, 2   x2 

73

36

Perceptron Multiclasse 
yw ,0 ( x ) est max
yw ,1 ( x ) est max

Exemple

(1.1, -2.0)

y w , 2 ( x ) est max

 2  3.6 0.5   1   6.9 Classe 0


 
yW (x )   4 2.4 4.1  1.1   9.6 Classe 1

  6 4  4.9  2  8.2  Classe 2

74

74

 w0, 0 w0,1 w0, 2   1 


  
yW ( x )   w1, 0 w1,1 w1, 2   x1 
 w2, 0 w2,1 w2, 2   x2 

Tel qu’illustré ici, chaque


ligne de la matrice W contient
les paramètres (normale + biais)
du plan de séparation linéaire
de chaque classe.

75
http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/

75

37
 w0, 0 w0,1 w0, 2   1 
  
yW ( x )   w1, 0 w1,1 w1, 2   x1 
 w2, 0 w2,1 w2, 2   x2 

La zone bleue est la zone pour


laquelle le score de la classe 0
est le plus élevé.

76

76

 w0, 0 w0,1 w0, 2   1 


  
yW ( x )   w1, 0 w1,1 w1, 2   x1 
 w2, 0 w2,1 w2, 2   x2 

La zone verte est la zone pour


laquelle le score de la classe 1
est le plus élevé.

77

77

38
 w0, 0 w0,1 w0, 2   1 
  
yW ( x )   w1, 0 w1,1 w1, 2   x1 
 w2, 0 w2,1 w2, 2   x2 

La zone rouge est la zone pour


laquelle le score de la classe 2
est le plus élevé.

78

78

Perceptron Multiclasse
Fonction de coût

w x 
T   
ED W   j n  wtTn xn

xn M

Somme sur l’ensemble des


Score de la bonne classe
données mal classées

Score de la mauvaise classe


ED W  n
x

xn M
79

79

39
Perceptron Multiclasse

Descente de gradient stochastique

Initialiser W
k=0, i=0
DO k=k+1
FOR n = 1 to N

j  arg max WT xn
IF j  t i THEN /* donnée mal classée*/
  
w j  w j  hxn
  
wtn  wtn  hxn

UNTIL toutes les données sont bien classées.

80

80

Perceptron Multiclasse
Exemple d’entraînement (h=1)

xn  0.4,1, t n  0

  2 3 .6 0.5   1  1.6 Classe 0

yW (x )    4 2.4 4.1  0.4    7.1



Classe 1

  6 4  4.9    1   0.5  Classe 2

FAUX!

81

81

40
Perceptron Multiclasse
Exemple d’entraînement (h=1)

xn  0.4,1.0, t n  0

  2 .0   1    1 .0 
    3 .6    0 .4    4 .0 
w0  w0  xn      
 0.5    1   0.5

  6 .0   1    7 .0 
  
w2  w2  xn  4 .0    0 .4    3 .6 
     
 4.9   1   3.9
82

82

En résumé
2 classes
 T 
E D w  t w n xn où M est l' ensemble des données mal classées

x n M

 
N
  
ED w   max 0,  tn wT xn
n1

 
N
  
ED w   max 0,1 tn wT xn “Hinge Loss” or “SVM” Loss
n1

K classes
 w 
T  T 
E D W   j xn  wt n xn où M est l' ensemble des données mal classées

xn M

 
N
   
ED W    max 0,wTj xn  wtTn xn
n1 j

 
N
   
ED W    max 0,1  wTj xn  wtTn xn “Hinge Loss” or “SVM” Loss
83
n1 j

83

41
84

84

Perceptron
Advantages:
• Très simple
• Ne suppose pas que les données sont gaussiennes.
• Si les données sont linéairement séparables, le Perceptron est garanti(!)
de converger en un nombre fini d’itérations (voir Duda-Hart-Stork pour
la preuve)

Limitations:
• Gradient nul pour plusieurs solutions => plusieurs solutions “optimales”
• Les données doivent être linéairement séparables

Plusieurs solutions Ne fonctionne


“optimales” Solution sous-optimale
pas sans modification

85

85

42
Perceptron
Advantages:
• Très simple
• Ne suppose pas que les données sont gaussiennes.
• Si les données sont linéairement séparables, le Perceptron est garanti (!)
de converger en un nombre fini d’iterations (see Duda-Hart-Stork for
proof)

Limitations:
• Gradient nul pour plusieurs solutions => plusieurs solutions “optimales”
• Les données doivent être linéairement séparables

Plusieurs solutions “optimales”

86

86

Comment améliorer le Perceptron?

Trois façons d’améliorer le Perceptron

1. Nouvelle fonction d’activation + nouvelle fonction de coût

Régression logistique
2. Utiliser des fonctions de base

Méthodes à noyau (chap. 5-6)


3. Nouveau réseau

Réseaux de neurones multicouches (chap. 7)

87

87

43
Régression logistique
(Sections 4.2.0, 4.3.2, 5.2.0 –Bishop)

88

88

Amélioration du Perceptron
(2D, 2 classes)
Nouvelle fonction d’activation : sigmoïde logistique

1
x1 w1  v  
1  e v
w2  
x2 wT x  
yw ( x) [0,1]

w0
1

Fonction d’activation sigmoïdale

  
y w (x )  σ wT x    1
 
 wT x
1 e 89

89

44
Amélioration du Perceptron
(2D, 2 classes)
Nouvelle fonction d’activation : sigmoïde logistique

1
x1 w1  t  
1  e t
w2   
x2 wT x  yw ( x) [0,1]

w0
1

Neurone

  
y w (x )  σ wT x    1
 
 wT x
1 e 90

90

Amélioration du Perceptron
(2D, 2 classes)
Nouvelle fonction d’activation : sigmoïde logistique

y w ( x )  1 
 yw ( x )  0.5
x2 w
x1 w1

w2   
x2 wT x  yw ( x) [0,1]

y w ( x )  0
w0
1

x1
Neurone
  
y w ( x )   wT x 

91

91

45
Amélioration du Perceptron
(N-D, 2 classes)
Nouvelle fonction d’activation : sigmoïde logistique
Example 3D
x1
w1  
y w ( x )  0.5 y w ( x )  1
x2 w2
  
x3 w3
wT x  yw ( x) [0,1]

(...)
w0
1

Neurone 
y w ( x )  0

92

92

Amélioration du Perceptron
(N-D, 2 classes)
Exemple
 
xn  0.4,1.0 , w  2.0,3.6,0.5

 
1 wT xn  2  3.6 * 0.4  0.5  1.94
2

0.4  3.6
   1
wT x  yw ( x)    1.94   0.125
1  e1.94

1 0. 5


Puisque 0.125 est inférieur à 0.5, xn est derrière le plan.

93

93

46
Amélioration du Perceptron
(N-D, 2 classes)

Avec une sigmoïde, on peut simuler une probabilité conditionnelle



sur c1 étant donné x
yw ( x )   wT x   Pc1 | x 
   

Preuve:

 Px | c1 Pc1 
Pc1 | x     (Bayes)
P x | c0 Pc0   Px | c1 Pc1 

1
 
Px | c0 Pc0 
1 
P x | c1 Pc1 

1  Px | c Pc0  
 où a  ln   0 
1  e a  P x | c1 Pc1  
  a 
94

94

Amélioration du Perceptron
(N-D, 2 classes)

En d’autres mots, si on entraîne correctement un réseau logistique,


on finit par apprendre la probabilité conditionnelle de la classe c1.
x1
w1
x2 w2
x3 w3
 
wT x 

 
   
yw ( x )   wT x  Pc1 | w, x 
    
(...)  Pc0 | w, x   1  Pc1 | w, x   1  yw ( x)
w0
1

Quelle est la function de coût


d’un réseau logistique? 95

95

47
Fonction de coût d’un réseau logistique?
(2 classes)

Dans le cas d’un réseau logistique nous avons


  
Ensemble d’entraînement : D  x1 , t1 , x2 , t2 ,...,  xn , tn 
Sortie du réseau: yw ( x)   w T x   Pc1 | w , x 

N
   t   1t
PD | w   Pc1 | w, xn  n 1  Pc1 | w, xn  n
n 1
N
 t  1t
  yw  xn  n 1  yw xn  n
n 1

101

101

Fonction de coût d’un réseau logistique?


(2 classes)
N
  t  1t
PD | w   yw  xn  n 1  yw  xn  n
n 1

Solution : Maximum de vraisemblance

W  arg max P( D | W )
W
N
 t  1tn
= arg max  yW  xn  n 1  yW  xn  
W
n 1
N
 t  1tn
 arg min   ln  yW  xn  n 1  yW  xn   
W
n 1
 
N
 
 arg min   tn ln  yW  xn    1  tn  ln 1  yW  xn  
W
n 1

ED w
102

102

48
Fonction de coût d’un réseau logistique?
(2 classes)
N
  t  1t
PD | w   yw  xn  n 1  yw xn  n
n1

La fonction de coût est


N
–ln de la vraisemblance
  
ED w  tn ln yw  xn   1  tn ln1 yw xn 
n1

Entropie croisée
On peut également démontrer que (Cross entropy)
N
  
w ED w   yw  xn   tn xn
n1

Contrairement au Perceptron
Preuve en classe le gradient ne depend pas seulement
ou en devoir des données mal classées
103

103

Optimisation d’un réseau logistique


Optimisation par batch

Initialiser w
k=0, i=0
DO k=k+1

dED w N  
   yw xn   tn xn
dw n1

  dE w
w  w -h D
dw
UNTIL K==K_MAX.

Descente de gradient stochastique



Initialiser w
k=0, i=0
DO k=k+1
FOR n = 1 to N
   
w  w h yw xn   tn xn
UNTIL K==K_MAX. 104

104

49
Réseau logistique
Advantages:
• Plus stable que le Perceptron
• Fonctionne mieux avec des données non séparables
Perceptron
Réseau logistique

105

105

Réseau logistique
Advantages:
• Plus stable que le Perceptron
• Fonctionne mieux avec des données non séparables

106

106

50
Et pour K>2 classes?
Nouvelle fonction d’activation : Softmax

x1 w0,1

w2,1
w1,1  
w0T x exp yw 0 ( x)  Pc0 | W , x 

norm
w0 , 2 w  
1, 2
 
w1T x exp yw1 ( x)  Pc1 | W , x 
x2
w2 , 2 
 
w2T x exp yw 2 ( x)  Pc2 | W , x 
w0 ,0 w1,0

1 w2 , 0

T 
 ewi x
ywi ( x) 
  
c
e wcT x

107

107

Et pour K>2 classes?


Nouvelle fonction d’activation : Softmax

x1 w0,1

w2,1
w1,1  
w0T x exp yw 0 ( x)  Pc0 | W , x 
norm

w0 , 2 w  
1, 2
 
w1T x exp yw1 ( x)  Pc1 | W , x 
x2
w2 , 2 
 
w2T x exp yw 2 ( x)  Pc2 | W , x 
w0 ,0 w1,0

1 w2 , 0

Softmax

108

108

51
Et pour K>2 classes?
'airplane'  t  1000000000 
'automobile'  t   0100000000 
'bird'  t   0010000000 
'cat'  t   0001000000 
'deer'  t   0000100000 
'dog'  t   0000010000 
'frog'  t   0000001000 
'horse'  t   0000000100 
'ship'  t  0000000010 
'truck'  t   0000000001

Étiquettes de classe : one-hot vector 109

109

Et pour K>2 classes?


N K
 t
PD | W    Ptn | W , xn  nk
n1 k 1
Entropie croisée (cross entropy)
N K

ED W   lnP(D | W )  tkn ln Ptn | W , xn 
n1 k 1

 
Puisqu’on veut que la sortie du réseau yW xn  soit égale à Ptn | W , xn 

N K

ED  W  tkn ln yWk  xn 
n1 k 1

110

110

52
Et pour K>2 classes? En general, on ajoute
1/N pour normaliser
le calcul de la loss

1 N K 
ED W   tkn ln yW  xn 
N n1 k 1
On peut montrer que

1 N  
W ED W   xn  yW  xn   tkn 
N n1

111

111

Optimisation d’un réseau logistique multiclasse


Optimisation par batch
Initialiser W
k=0, i=0
DO k=k+1
1 N  
W EW   yW xn   tn xn
N n1
W  W -hW EW

UNTIL K==K_MAX.

Descente de gradient stochastique


Initialiser W
k=0, i=0
DO k=k+1
FOR n = 1 to N
 
W  W h yW xn   tn xn
UNTIL K==K_MAX. 112

112

53
Wow! Beaucoup d’information…

Résumons…

113

113

Réseaux de neurones
2 classes

x1 x1
w1 w1
x2 x2
w2   w2
wT x    
x3 w sg  wT x  yw ( x)  Pc1 | x 
3 y w  x    1,1 x3 w
3

(...) (...)
w0 Sign activation w0 sigmoid activation
1 1

114

114

54
Réseaux de neurones
K classes x1 w0,1
w1,1 
w2,1 w T0 x

w0 , 2 w  
1, 2 w1T x arg max yWi x 
x2 i
w2, 2

w T2 x
w0 ,0 w1,0

1 w2,0

x1 w0,1

w2,1
w1,1  
w0T x exp yw0 (x)  Pc0 | x 

norm
w0, 2 w   
1, 2 w1T x exp yw1 (x)  Pc1 | x 
x2
w2, 2 
 
w2T x exp yw2 (x)  Pc2 | x 
w0,0 w1,0

1 w2,0
Softmax activation 115

115

Fonctions de coûts
2 classes
 T 
ED w   t w x
n n où M est l' ensembledes donnéesmal classées

xn M

 
N
  
ED w   max 0,tn wT xn
n1

 
N
  
ED w   max 0,1  tn wT xn “Hinge Loss” ou “SVM” Loss
n1
N
  
ED w  tn ln yw xn   1 tn  ln1 yw xn  Entropie croisée
n1
(ou cross entropy)

116

116

55
Fonctions de coûts
K classes

 W 
 
E D W   T
x  WtTn xn
j n où M est l' ensemble des données mal classées

x n M

 
M
 
ED W  max 0, WTj xn  WtTn xn
n1 j

 
N
 
ED W   max 0,1  WTj xn  WtTn xn “Hinge Loss” ou “SVM” Loss
n1 j
N K

ED  W  tkn ln yW ,k  xn  Entropie croisée avec « one hot vector »
n1 k 1 (ou cross entropy)

117

117

Optimisation
Descente de gradient
 
w[ k 1]  w[ k ] h [ k ]E
Gradient de la function de coût

Taux d’apprentissage ou “learning rate”.

Optimisation par Batch Descente de gradient stochastique

 
Initialiser w Initialiser w
k=0 k=0
FAIRE k=k+1 FAIRE k=k+1
   FOR n = 1 to N
w  w  h [ k ]  E xi    
i w  w h [ k ]E  xn 
JUSQU’À ce que toutes les données JUSQU’À ce que toutes les données
sont bien classées ou k==MAX_ITER sont bien classées ou k== MAX_ITER

Parfois h [ k ]  cst / k 118

118

56
Régularisation

119

119

Régularisation
Différents poids peuvent donner le même score


x  1.0,1.0,1.0

w1  1,0,0

w2  1 3 ,1 3 ,1 3 Solution:
Maximum a
   
w1 x  w2 x  1 posteriori

120

120

57
Maximum a posteriori
Régularisation

Maximum de vraisemblance
W  argmaxP(D | W )
W


N

 argmin ln P(tn | xn ,W )
W
n1

ED W 
Maximum a posteriori
W  argmax P(W | D)
W


N

 argmin  ln P(tn | xn ,W )  RW 
W
n1

ED W 
121

121

Note :
il est fréquent de combiner différentes
fonctions de coût avec différentes
fonctions de régularisation

123

123

58
Maximum a posteriori
Constante

N
E W    l  yW xn , t n   R W 

n 1

Fonction de perte

Regularisation

Rθ   W 1
ou W 2

124

124

Maximum a posteriori
Exemple : Hinge loss + régularisation L2

 
N

Ew   max 0,1  tn wT xn   w
2

n1

D

W Ew   n n  wd
 t x  2

xn M d 0

125

125

59
Maximum a posteriori
Exemple : entropie croisée + régularisation L2

arg min lnP( D | W )    W


2

W
N d
 
arg min  tn ln yW  xn   1  tn  ln1  yW  xn     wi 
2
W
n 0 i 1

N D
 
W Ew   yW  xn   tn xn  2 wd
n1 d 0

126

126

Exemples
from sklearn.linear_model import SGDClassifier

C = SGDClassifier(loss='perceptron',learning_rate='constant',
eta0=1, n_iter=1000)

C = SGDClassifier(loss='log', learning_rate ='constant',


eta0=1, n_iter=1000)

C = SGDClassifier(loss=‘hinge',penalty=‘l2’,alpha=0.01,
learning_rate ='invscaling', eta0=1, n_iter=1000)

127

127

60
128

128

Mieux comprendre

Entropie croisée vs Hinge loss

129

129

61
Entropie croisée vs Hinge Loss
Dépendamment de la loss utilisée, la sortie du réseau sera différente

• Hinge loss : sortie multiplication matrice-vecteur


• Entropie croisée : sortie softmax

x1 w0 ,1
   x1 w0,1
w1,1
w2,1 W0T x yW0  xn  w1,1  
exp

yW0  xn 
w2,1 W0T x

norm
w0 , 2 w    w0, 2 w   
yW2  xn 
1, 2 W1T x yW2  xn  x2
1, 2 W1T x exp
x2
w2 , 2 w2, 2

yW2  xn 
 
   W2T x exp
W2T x yW2  xn  w0,0 w1,0
w0 ,0 w1,0
1 w2, 0
T
w2 , 0
1
 eWi x
   yWi  xn  
yWi  xn   Wi T x
 


W jT x
e 130

130

 15  Hinge loss


 22 

x  ,t  2 Score
max  0, 2.85  0.28  1 
 44 
  2.85 max  0, 0.86  0.28  1
 56   0.86  
 
max  0, 2.13  max  0,1.58 
 0.28  
 1  1.58
 
 0.0 0.01 0.05 0.1 0.05 15
 0.2 0.7 0.2 0.05 0.16  22 
   Entropie croisée
0.3 0.0 0.45 0.2 0.03 44
Score
 56 
W 2.85 0.06 0.02  ln 0.35
  0.86  exp 2.36 norm 0.63  
x       
 0.28  1.32 0.35 0.452
(Softmax)

131

131

62
 15  Hinge loss
 22 

x  ,t  2 Score
max  0, 2.85  0.28  1 
 44 
  2.85 max  0, 0.86  0.28  1
 56   0.86  
 
 0.28  max  0, 2.13  max  0,1.58 

 1  1.58
 
 0.0 0.01 0.05 0.1 0.05 15
 0.2 0.7 0.2 0.05 0.16  22 
   Entropie croisée
0.3 0.0 0.45 0.2 0.03 44
Score
 56 
2.85 0.06 0.02  ln 0.35
 0.86  exp 2.36 norm 0.63  
      
 0.28  1.32 0.35 0.452
Q1: Qu’arrive-t-il si le score de la classe
0 (donc -2.85) change un peu? (Softmax)

132

132

 15  Hinge loss


 22 

x  ,t  2 Score
max  0, 2.85  0.28  1 
 44 
  2.85 max  0, 0.86  0.28  1
 56   0.86  
 
max  0, 2.13  max  0,1.58 
 0.28  
 1  1.58
 
 0.0 0.01 0.05 0.1 0.05 15
 0.2 0.7 0.2 0.05 0.16  22 
   Entropie croisée
0.3 0.0 0.45 0.2 0.03 44
Score
 56 
2.85 0.06 0.02  ln 0.35
 0.86  exp 2.36 norm 0.63  
      
 0.28  1.32 0.35 0.452
Q2: Qu’arrive-t-il si le score de la classe
1 (donc 0.86) augmente? (Softmax)

133

133

63
 15  Hinge loss
 22 

x  ,t  2 Score
max  0, 2.85  0.28  1 
 44 
  2.85 max  0, 0.86  0.28  1
 56   0.86  
 
 0.28  max  0, 2.13  max  0,1.58 

 1  1.58
 
 0.0 0.01 0.05 0.1 0.05 15
 0.2 0.7 0.2 0.05 0.16  22 
   Entropie croisée
0.3 0.0 0.45 0.2 0.03 44
Score
 56 
2.85 0.06 0.02  ln 0.35
 0.86  exp 2.36 norm 0.63  
      
 0.28  1.32 0.35 0.452
Q3: quelles sont les valeurs MIN/MAX
de ces deux loss? (Softmax)

134

134

 15  Hinge loss


 22 

x  ,t  2 Score
max  0, 2.85  0.28  1 
 44 
  2.85 max  0, 0.86  0.28  1
 56   0.86  
 
max  0, 2.13  max  0,1.58 
 0.28  
 1  1.58
 
 0.0 0.01 0.05 0.1 0.05 15
 0.2 0.7 0.2 0.05 0.16  22 
   Entropie croisée
0.3 0.0 0.45 0.2 0.03 44
Score
 56 
2.85 0.06 0.02  ln 0.35
 0.86  exp 2.36 norm 0.63  
      
 0.28  1.32 0.35 0.452
Q4: quelle serait la loss totale si on devait
ajouter un terme de régularisation L2? (Softmax)

135

135

64
Superbe système en ligne de Stanford pour illustrer la
classification multiclasses

http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/

136

65

Vous aimerez peut-être aussi