a2di: régression logistique

125
A2DI: Régression logistique John Klein Université de Lille - CRIStAL UMR CNRS 9189 John Klein (Lille1) A2DI 1 / 50

Upload: others

Post on 19-Jun-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A2DI: Régression logistique

A2DI: Régression logistique

John Klein

Université de Lille - CRIStAL UMR CNRS 9189

John Klein (Lille1) A2DI 1 / 50

Page 2: A2DI: Régression logistique

Où en est-on dans notre problème d’apprentissage supervisé ?En théorie on veut minimiser Erresp.En pratique on minimisera Errtrain tout en s’assurant que Errtrain nedévie pas de Erresp.Les solutions minimisant Errtrain au sens de la théorie de la décisionpour des fonctions de perte classiques tournent autour de solutionsprobabilistes reposant sur la connaissance de la distribution pY |X

Si, on cherche directement pY |X , on parle de modèle discriminatif.

John Klein (Lille1) A2DI 2 / 50

Page 3: A2DI: Régression logistique

Où en est-on dans notre problème d’apprentissage supervisé ?En théorie on veut minimiser Erresp.En pratique on minimisera Errtrain tout en s’assurant que Errtrain nedévie pas de Erresp.Les solutions minimisant Errtrain au sens de la théorie de la décisionpour des fonctions de perte classiques tournent autour de solutionsprobabilistes reposant sur la connaissance de la distribution pY |X

Si, on cherche directement pY |X , on parle de modèle discriminatif.

La régression logistique offre une solution de cette nature pour unproblème de classification.

John Klein (Lille1) A2DI 2 / 50

Page 4: A2DI: Régression logistique

Origines du modèle

Plan du chapitre

1 Origines du modèle

2 Descente de gradient

3 Descente de gradient stochastique

4 Conclusions

John Klein (Lille1) A2DI 3 / 50

Page 5: A2DI: Régression logistique

Origines du modèle

Reprenons un exemple habituel :Soit un problème de classification avec Y = {0; 1} où 0 représentel’hypothèse qu’un crédit n’est pas accordé et 1 qu’un crédit estaccordé.

John Klein (Lille1) A2DI 4 / 50

Page 6: A2DI: Régression logistique

Origines du modèle

Reprenons un exemple habituel :Soit un problème de classification avec Y = {0; 1} où 0 représentel’hypothèse qu’un crédit n’est pas accordé et 1 qu’un crédit estaccordé.

Soit X l’espace des attributs brutes où chaque dimension xj est unnombre réel représentant un information du style : salaire, découvertmax, endettement, etc.

John Klein (Lille1) A2DI 4 / 50

Page 7: A2DI: Régression logistique

Origines du modèle

Reprenons un exemple habituel :Soit un problème de classification avec Y = {0; 1} où 0 représentel’hypothèse qu’un crédit n’est pas accordé et 1 qu’un crédit estaccordé.

Soit X l’espace des attributs brutes où chaque dimension xj est unnombre réel représentant un information du style : salaire, découvertmax, endettement, etc.

On se doute qu’un score du style :

score = w1 × salaire + w2 × decouvert + w3 × endettement + b

est pertinent pour décider de l’attribution du crédit..

John Klein (Lille1) A2DI 4 / 50

Page 8: A2DI: Régression logistique

Origines du modèle

Reprenons un exemple habituel :Soit un problème de classification avec Y = {0; 1} où 0 représentel’hypothèse qu’un crédit n’est pas accordé et 1 qu’un crédit estaccordé.

Soit X l’espace des attributs brutes où chaque dimension xj est unnombre réel représentant un information du style : salaire, découvertmax, endettement, etc.

On se doute qu’un score du style :

score = w1 × salaire + w2 × decouvert + w3 × endettement + b

est pertinent pour décider de l’attribution du crédit.. à condition queles paramètres w1, w2, w3, et b soient bien réglés !

John Klein (Lille1) A2DI 4 / 50

Page 9: A2DI: Régression logistique

Origines du modèle

Partir sur cette idée revient à choisir un modèle linéaire... mais, le score n’est ni une classe, ni une probabilité d’appartenanceà une classe.Avec le perceptron, on avait décidé d’appliquer la fonction sign auscore :

John Klein (Lille1) A2DI 5 / 50

Page 10: A2DI: Régression logistique

Origines du modèle

Le perceptron :fournit directement une classe sans passer par la case proba,repose sur l’hypothèse de séparabilité linéaire qui n’est pas réaliste enpratique.

John Klein (Lille1) A2DI 6 / 50

Page 11: A2DI: Régression logistique

Origines du modèle

Adoptons une solution plus réaliste :y n’est pas directement déductible de score (x).On autorise donc des réponses bruitées et on cherche pY |score(x).Comme Y |X = x est binaire, on sait que Y |X = x ∼ Ber (µ (x)) avecµ ∈ [0; 1].Pourquoi ne pas faire en sorte que le score soit la probabilitéd’appartenance à la classe 1 ?

score (x) = µ (x) . (1)

Il suffit de faire en sorte que score (x) ∈ [0; 1] !

John Klein (Lille1) A2DI 7 / 50

Page 12: A2DI: Régression logistique

Origines du modèle

Une fonction qui permet d’obtenir cela est la fonction sigmoïde.

John Klein (Lille1) A2DI 8 / 50

Page 13: A2DI: Régression logistique

Origines du modèle

Une fonction qui permet d’obtenir cela est la fonction sigmoïde.La fonction sigmoïde sgm est une fonction continue de R dans [0; 1],telle que

sgm (z) = 11 + e−z . (2)

John Klein (Lille1) A2DI 8 / 50

Page 14: A2DI: Régression logistique

Origines du modèle

Une fonction qui permet d’obtenir cela est la fonction sigmoïde.La fonction sigmoïde sgm est une fonction continue de R dans [0; 1],telle que

sgm (z) = 11 + e−z . (2)

Voici le graphe de la fonction sigmoïde :

-1 1

1

z

sgm (z)

John Klein (Lille1) A2DI 8 / 50

Page 15: A2DI: Régression logistique

Origines du modèle

Le modèle complet de la régression logistique est :

Y |X = x ∼ Ber (sgm (score (x))) , (3)⇔ Y |X = x ∼ Ber

(sgm

(wT · x + b

))(4)

John Klein (Lille1) A2DI 9 / 50

Page 16: A2DI: Régression logistique

Origines du modèle

Soit θ le vecteur qui contient tous les paramètres du modèle :

θ =

w1...wdb

(5)

John Klein (Lille1) A2DI 10 / 50

Page 17: A2DI: Régression logistique

Origines du modèle

Soit θ le vecteur qui contient tous les paramètres du modèle :

θ =

w1...wdb

(5)

Selon le modèle de la régression logistique, quelle valeur de θ explique lemieux l’observation d’un couple

(x(i), c(i)

)?

John Klein (Lille1) A2DI 10 / 50

Page 18: A2DI: Régression logistique

Origines du modèle

Soit θ le vecteur qui contient tous les paramètres du modèle :

θ =

w1...wdb

(5)

Selon le modèle de la régression logistique, quelle valeur de θ explique lemieux l’observation d’un couple

(x(i), c(i)

)?

−→ Celle qui maximise

pY |X=x(i);θ

(c(i))

=

sgm(wT · x + b

)si c(i) = 1

1− sgm(wT · x + b

)si c(i) = 0

. (6)

John Klein (Lille1) A2DI 10 / 50

Page 19: A2DI: Régression logistique

Origines du modèle

Reformulons sous une forme plus compacte :

pY |X=x(i);θ

(c(i))

= sgm(wT · x(i) + b

)c(i)

×(1− sgm

(wT · x(i) + b

))1−c(i)

.

(7)

John Klein (Lille1) A2DI 11 / 50

Page 20: A2DI: Régression logistique

Origines du modèle

Reformulons sous une forme plus compacte :

pY |X=x(i);θ

(c(i))

= sgm(wT · x(i) + b

)c(i)

×(1− sgm

(wT · x(i) + b

))1−c(i)

.

(7)

Selon le modèle de la régression logistique, quelle valeur de θ explique lemieux tout mon ensemble d’apprentissage ?

John Klein (Lille1) A2DI 11 / 50

Page 21: A2DI: Régression logistique

Origines du modèle

Reformulons sous une forme plus compacte :

pY |X=x(i);θ

(c(i))

= sgm(wT · x(i) + b

)c(i)

×(1− sgm

(wT · x(i) + b

))1−c(i)

.

(7)

Selon le modèle de la régression logistique, quelle valeur de θ explique lemieux tout mon ensemble d’apprentissage ?−→ Celle qui maximise la vraisemblance :

John Klein (Lille1) A2DI 11 / 50

Page 22: A2DI: Régression logistique

Origines du modèle

Reformulons sous une forme plus compacte :

pY |X=x(i);θ

(c(i))

= sgm(wT · x(i) + b

)c(i)

×(1− sgm

(wT · x(i) + b

))1−c(i)

.

(7)

Selon le modèle de la régression logistique, quelle valeur de θ explique lemieux tout mon ensemble d’apprentissage ?−→ Celle qui maximise la vraisemblance :

L (θ) =n∏

i=1sgm

(wT · x(i) + b

)c(i)

×(1− sgm

(wT · x(i) + b

))1−c(i)

(8)

John Klein (Lille1) A2DI 11 / 50

Page 23: A2DI: Régression logistique

Origines du modèle

Passons à la NLL (θ) =

−n∑

i=1c(i) log sgm

(wT · x(i) + b

)+(1− c(i)

)log(1− sgm

(wT · x(i) + b

)).

(9)

John Klein (Lille1) A2DI 12 / 50

Page 24: A2DI: Régression logistique

Origines du modèle

Passons à la NLL (θ) =

−n∑

i=1c(i) log sgm

(wT · x(i) + b

)+(1− c(i)

)log(1− sgm

(wT · x(i) + b

)).

(9)Cette équation peut s’interprêter comme l’entropie croisée moyenne entre :

la distribution empirique des classes pour le seul échantillon c(i) :p̂(i) (c) = Ic(i) (c) et

John Klein (Lille1) A2DI 12 / 50

Page 25: A2DI: Régression logistique

Origines du modèle

Passons à la NLL (θ) =

−n∑

i=1c(i) log sgm

(wT · x(i) + b

)+(1− c(i)

)log(1− sgm

(wT · x(i) + b

)).

(9)Cette équation peut s’interprêter comme l’entropie croisée moyenne entre :

la distribution empirique des classes pour le seul échantillon c(i) :p̂(i) (c) = Ic(i) (c) etla distribution prédite par notre modèlepY |X=x(i);θ (c) = Ber

(fθ(x(i)))

.

John Klein (Lille1) A2DI 12 / 50

Page 26: A2DI: Régression logistique

Origines du modèle

Passons à la NLL (θ) =

−n∑

i=1c(i) log sgm

(wT · x(i) + b

)+(1− c(i)

)log(1− sgm

(wT · x(i) + b

)).

(9)Cette équation peut s’interprêter comme l’entropie croisée moyenne entre :

la distribution empirique des classes pour le seul échantillon c(i) :p̂(i) (c) = Ic(i) (c) etla distribution prédite par notre modèlepY |X=x(i);θ (c) = Ber

(fθ(x(i)))

.

NLL (θ) =n∑

i=1H(p̂(i) , pY |X=x(i);θ

), (10)

= n × Errtrain (11)

John Klein (Lille1) A2DI 12 / 50

Page 27: A2DI: Régression logistique

Origines du modèle

Passons à la NLL (θ) =

−n∑

i=1c(i) log sgm

(wT · x(i) + b

)+(1− c(i)

)log(1− sgm

(wT · x(i) + b

)).

(12)Posons :

x(i)+ =

x (i)

1...

x (i)d1

(13)

On a NLL (θ)

= −n∑

i=1c(i) log

(1

1 + e−θT ·x(i)+

)+(1− c(i)

)log(1− 1

1 + e−θT ·x(i)+

).

(14)

John Klein (Lille1) A2DI 13 / 50

Page 28: A2DI: Régression logistique

Origines du modèle

On continues et NLL (θ) =

n∑i=1

c(i) log(1 + e−θT ·x(i)

+

)−(1− c(i)

)log

e−θT ·x(i)+

1 + e−θT ·x(i)+

. (15)

John Klein (Lille1) A2DI 14 / 50

Page 29: A2DI: Régression logistique

Origines du modèle

Au final,

NLL (θ) =n∑

i=1

(1− c(i)

) (θT · x(i)

+

)− log sgm

(θT · x(i)

+

). (16)

John Klein (Lille1) A2DI 15 / 50

Page 30: A2DI: Régression logistique

Origines du modèle

Au final,

NLL (θ) =n∑

i=1

(1− c(i)

) (θT · x(i)

+

)− log sgm

(θT · x(i)

+

). (16)

Cette fonction est convexe mais il n’y pas de solution explicite au problèmede minimisation :

arg minθ

NLL (θ) .

John Klein (Lille1) A2DI 15 / 50

Page 31: A2DI: Régression logistique

Origines du modèle

Au final,

NLL (θ) =n∑

i=1

(1− c(i)

) (θT · x(i)

+

)− log sgm

(θT · x(i)

+

). (16)

Cette fonction est convexe mais il n’y pas de solution explicite au problèmede minimisation :

arg minθ

NLL (θ) .

On va donc devoir utiliser un algorithme d’optimisation.

John Klein (Lille1) A2DI 15 / 50

Page 32: A2DI: Régression logistique

Origines du modèle

Modèles linéaires : bilan

John Klein (Lille1) A2DI 16 / 50

Page 33: A2DI: Régression logistique

Origines du modèle

Modèles linéaires : bilan

Régression Linéaire Perceptron Régression Logistique

John Klein (Lille1) A2DI 16 / 50

Page 34: A2DI: Régression logistique

Origines du modèle

Modèles linéaires : bilan

Régression Linéaire Perceptron Régression Logistiquefθ (x) wT · x + b sign

(wT · x + b

)sgm

(wT vx + b

)Pred.

John Klein (Lille1) A2DI 16 / 50

Page 35: A2DI: Régression logistique

Origines du modèle

Modèles linéaires : bilan

Régression Linéaire Perceptron Régression Logistiquefθ (x) wT · x + b sign

(wT · x + b

)sgm

(wT vx + b

)Pred.

Tâche Régression Classification Classification

John Klein (Lille1) A2DI 16 / 50

Page 36: A2DI: Régression logistique

Origines du modèle

Modèles linéaires : bilan

Régression Linéaire Perceptron Régression Logistiquefθ (x) wT · x + b sign

(wT · x + b

)sgm

(wT vx + b

)Pred.

Tâche Régression Classification Classification

Sortie valeur classe proba de classe

John Klein (Lille1) A2DI 16 / 50

Page 37: A2DI: Régression logistique

Origines du modèle

Modèles linéaires : bilan

Régression Linéaire Perceptron Régression Logistiquefθ (x) wT · x + b sign

(wT · x + b

)sgm

(wT vx + b

)Pred.

Tâche Régression Classification Classification

Sortie valeur classe proba de classe

Perte Quadratique 0-1 Entropie croisée

John Klein (Lille1) A2DI 16 / 50

Page 38: A2DI: Régression logistique

Origines du modèle

Modèles linéaires : bilan

Régression Linéaire Perceptron Régression Logistique

John Klein (Lille1) A2DI 17 / 50

Page 39: A2DI: Régression logistique

Descente de gradient

Plan du chapitre

1 Origines du modèle

2 Descente de gradient

3 Descente de gradient stochastique

4 Conclusions

John Klein (Lille1) A2DI 18 / 50

Page 40: A2DI: Régression logistique

Descente de gradient

Retour à la régression logistique :Prochain défi : minimiser la NLL

Impossible de calculer le MLE analytiquement.

John Klein (Lille1) A2DI 19 / 50

Page 41: A2DI: Régression logistique

Descente de gradient

Retour à la régression logistique :Prochain défi : minimiser la NLL

Impossible de calculer le MLE analytiquement.On va utiliser une descente de gradient.

John Klein (Lille1) A2DI 19 / 50

Page 42: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient

Pause Optim !

John Klein (Lille1) A2DI 20 / 50

Page 43: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient

Pause Optim !Cet algorithme repose sur une mise à jour itérative de θ selon :

θt+1 ←− θt − η ×ddθNLL (θ) ,

John Klein (Lille1) A2DI 20 / 50

Page 44: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient

Pause Optim !Cet algorithme repose sur une mise à jour itérative de θ selon :

θt+1 ←− θt − η ×ddθNLL (θ) ,

avec η un paramètre de convergence, appelé learning rate.

John Klein (Lille1) A2DI 20 / 50

Page 45: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !

John Klein (Lille1) A2DI 21 / 50

Page 46: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Quand η est bien choisi, l’algorithme fonctionne ainsi :

John Klein (Lille1) A2DI 21 / 50

Page 47: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Quand η est bien choisi, l’algorithme fonctionne ainsi :

John Klein (Lille1) A2DI 21 / 50

Page 48: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !

John Klein (Lille1) A2DI 22 / 50

Page 49: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Quand η est choisi trop petit :

John Klein (Lille1) A2DI 22 / 50

Page 50: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Quand η est choisi trop petit :

John Klein (Lille1) A2DI 22 / 50

Page 51: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !

John Klein (Lille1) A2DI 23 / 50

Page 52: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Quand η est choisi trop grand :

John Klein (Lille1) A2DI 23 / 50

Page 53: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Quand η est choisi trop grand :

John Klein (Lille1) A2DI 23 / 50

Page 54: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim ! Même explication en 2D

John Klein (Lille1) A2DI 24 / 50

Page 55: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !

John Klein (Lille1) A2DI 25 / 50

Page 56: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !N’y a-t-il pas un moyen intelligent de choisir η ?

John Klein (Lille1) A2DI 25 / 50

Page 57: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !N’y a-t-il pas un moyen intelligent de choisir η ?Oui, en le rendant itératif selon :

ηt = ηd2

dθ2 NLL (θt)(17)

John Klein (Lille1) A2DI 25 / 50

Page 58: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !

ηt = η ×(

d2

dθ2 NLL (θt))−1

(18)

John Klein (Lille1) A2DI 26 / 50

Page 59: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Cette façon de calculer ηt est appelée méthode de Newton.

John Klein (Lille1) A2DI 27 / 50

Page 60: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Cette façon de calculer ηt est appelée méthode de Newton.

Le scalaire η est en général fixé à 1.

John Klein (Lille1) A2DI 27 / 50

Page 61: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Cette façon de calculer ηt est appelée méthode de Newton.

Le scalaire η est en général fixé à 1.

d2

dθ2 NLL (θt) est en général une matrice dite Hessienne.

John Klein (Lille1) A2DI 27 / 50

Page 62: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Cette façon de calculer ηt est appelée méthode de Newton.

Le scalaire η est en général fixé à 1.

d2

dθ2 NLL (θt) est en général une matrice dite Hessienne.

Elle peut converger vers un max si la fonction n’est pas convexe.

John Klein (Lille1) A2DI 27 / 50

Page 63: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Cette façon de calculer ηt est appelée méthode de Newton.

Le scalaire η est en général fixé à 1.

d2

dθ2 NLL (θt) est en général une matrice dite Hessienne.

Elle peut converger vers un max si la fonction n’est pas convexe.

L’inversion et le calcul du Hessien peut être couteux.

John Klein (Lille1) A2DI 27 / 50

Page 64: A2DI: Régression logistique

Descente de gradient

Minimisation de la NLL par descente de gradient : principe graphique

Pause Optim !Cette façon de calculer ηt est appelée méthode de Newton.

Le scalaire η est en général fixé à 1.

d2

dθ2 NLL (θt) est en général une matrice dite Hessienne.

Elle peut converger vers un max si la fonction n’est pas convexe.

L’inversion et le calcul du Hessien peut être couteux.

Ca peut déraper si les dérivées secondes sont trop approximatives(matrice non définie).

John Klein (Lille1) A2DI 27 / 50

Page 65: A2DI: Régression logistique

Descente de gradient

Retour à la régression logistique : minimisation la NLL par la méthode deNewtonLa logreg est le cas idéal pour Newton :

Les dérivées 1ères et 2ndes sont faciles à calculer. item La NLL estconvexe donc la convergence est assurée.

John Klein (Lille1) A2DI 28 / 50

Page 66: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de NewtonCalcul des dérivées 1ères (gradient) :On avait obtenu

NLL (θ) =n∑

i=1

(1− c(i)

) (θT · x(i)

+

)− log sgm

(θT · x(i)

+

). (19)

On montre alors que

∂wjNLL (θ) = −

n∑i=1

x (i)j

(c(i) − sgm

(θT · x(i)

+

)), (20)

∂bNLL (θ) = −n∑

i=1

(c(i) − sgm

(θT · x(i)

+

))(21)

John Klein (Lille1) A2DI 29 / 50

Page 67: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de NewtonCalcul des dérivées 1ères (gradient) sous forme matricielle :

John Klein (Lille1) A2DI 30 / 50

Page 68: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de NewtonCalcul des dérivées 1ères (gradient) sous forme matricielle :Soit err le vecteur rassemblant les écarts entre prédiction et réalité pourtous les éléments de D :

err =

sgm

(θT · x(1)

+

)− c(1)

...sgm

(θT · x(n)

+

)− c(n)

. (22)

John Klein (Lille1) A2DI 30 / 50

Page 69: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de NewtonCalcul des dérivées 1ères (gradient) sous forme matricielle :Soit err le vecteur rassemblant les écarts entre prédiction et réalité pourtous les éléments de D :

err =

sgm

(θT · x(1)

+

)− c(1)

...sgm

(θT · x(n)

+

)− c(n)

. (22)

Introduisons également une matrice X qui aggrège tous les vecteursd’exemple d’apprentissage en y ajoutant une ligne de ”1“ à la fin :

X =

x(1)

· · ·

x(n)

1 · · · 1

. (23)

John Klein (Lille1) A2DI 30 / 50

Page 70: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de NewtonCalcul des dérivées 1ères (gradient) sous forme matricielle :

ddθNLL (θ) = X · err . (24)

John Klein (Lille1) A2DI 31 / 50

Page 71: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de NewtonCalcul des dérivées 1ères (gradient) sous forme matricielle :

ddθNLL (θ) = X · err . (24)

Pour les dérivées 2ndes, on a :

d2

dθ2 NLL (θ) = X · S · XT , (25)

John Klein (Lille1) A2DI 31 / 50

Page 72: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de NewtonCalcul des dérivées 1ères (gradient) sous forme matricielle :

ddθNLL (θ) = X · err . (24)

Pour les dérivées 2ndes, on a :

d2

dθ2 NLL (θ) = X · S · XT , (25)

avec

S =

fθ(x(1)

) (1− fθ

(x(1)

))0

. . .0 fθ

(x(n)

) (1− fθ

(x(n)

)) (26)

John Klein (Lille1) A2DI 31 / 50

Page 73: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de Newton

Bilan sous forme matricielle : la màj se fait selon

θt+1 ←− θt −(XSXT

)−1X · err . (27)

John Klein (Lille1) A2DI 32 / 50

Page 74: A2DI: Régression logistique

Descente de gradient

Régression logistique : minimisation la NLL par la méthode de Newton

Bilan sous forme matricielle : la màj se fait selon

θt+1 ←− θt −(XSXT

)−1X · err . (27)

Cette approche est équivalente à une autre appelée IRLS (iterativelyreweighted least squares).

John Klein (Lille1) A2DI 32 / 50

Page 75: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Supposons à présent un problème à plus de 2 classes : ]C = ` ≥ 3.

John Klein (Lille1) A2DI 33 / 50

Page 76: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Supposons à présent un problème à plus de 2 classes : ]C = ` ≥ 3.Exemple : autorisation de carte bancaire

C = {refus, electron, standard , gold}

John Klein (Lille1) A2DI 33 / 50

Page 77: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Supposons à présent un problème à plus de 2 classes : ]C = ` ≥ 3.Exemple : autorisation de carte bancaire

C = {refus, electron, standard , gold}

Le modèle Y |X = x ∼ Ber (score (x)) ne convient plus !

John Klein (Lille1) A2DI 33 / 50

Page 78: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Supposons à présent un problème à plus de 2 classes : ]C = ` ≥ 3.Exemple : autorisation de carte bancaire

C = {refus, electron, standard , gold}

Le modèle Y |X = x ∼ Ber (score (x)) ne convient plus !On doit passer à Y |X = x ∼ Cat (π (x)) avec

π (x) = F

score1 (x)

...score` (x)

(28)

John Klein (Lille1) A2DI 33 / 50

Page 79: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Supposons à présent un problème à plus de 2 classes : ]C = ` ≥ 3.Exemple : autorisation de carte bancaire

C = {refus, electron, standard , gold}

Le modèle Y |X = x ∼ Ber (score (x)) ne convient plus !On doit passer à Y |X = x ∼ Cat (π (x)) avec

π (x) = F

score1 (x)

...score` (x)

(28)

etscorei (x) = wT

i · x + bi . (29)

John Klein (Lille1) A2DI 33 / 50

Page 80: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Quelle fonction F peut envoyer les scores wTi · x + bi vers un vecteur

π contenant des probabilités ?

John Klein (Lille1) A2DI 34 / 50

Page 81: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Quelle fonction F peut envoyer les scores wTi · x + bi vers un vecteur

π contenant des probabilités ?→ la fonction smax softmax peut faire cela :

smax (x; Θ) =

exp wT

1 ·x+b1∑`

k=1 exp(wTk ·x+bk)

...exp wT

` ·x+b`∑`

k=1 exp(wTk ·x+bk)

(30)

John Klein (Lille1) A2DI 34 / 50

Page 82: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Quelle fonction F peut envoyer les scores wTi · x + bi vers un vecteur

π contenant des probabilités ?→ la fonction smax softmax peut faire cela :

smax (x; Θ) =

exp wT

1 ·x+b1∑`

k=1 exp(wTk ·x+bk)

...exp wT

` ·x+b`∑`

k=1 exp(wTk ·x+bk)

(30)

Θ est une matrice rassemblant tous les paramètres.

John Klein (Lille1) A2DI 34 / 50

Page 83: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Quelle fonction F peut envoyer les scores wTi · x + bi vers un vecteur

π contenant des probabilités ?→ la fonction smax softmax peut faire cela :

smax (x; Θ) =

exp wT

1 ·x+b1∑`

k=1 exp(wTk ·x+bk)

...exp wT

` ·x+b`∑`

k=1 exp(wTk ·x+bk)

(30)

Θ est une matrice rassemblant tous les paramètres.Elle généralise la sigmoïde.

John Klein (Lille1) A2DI 34 / 50

Page 84: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Quelle fonction F peut envoyer les scores wTi · x + bi vers un vecteur

π contenant des probabilités ?→ la fonction smax softmax peut faire cela :

smax (x; Θ) =

exp wT

1 ·x+b1∑`

k=1 exp(wTk ·x+bk)

...exp wT

` ·x+b`∑`

k=1 exp(wTk ·x+bk)

(30)

Θ est une matrice rassemblant tous les paramètres.Elle généralise la sigmoïde.Elle appartient à la famille des distributions de Boltzmann.

John Klein (Lille1) A2DI 34 / 50

Page 85: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

D’où vient le nom softmax ?

John Klein (Lille1) A2DI 35 / 50

Page 86: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

D’où vient le nom softmax ?Supposons ` = 3 et

wT1 · x + b1 = 0.1 (31)

wT2 · x + b2 = 0.1 (32)

wT3 · x + b3 = 100 (33)

John Klein (Lille1) A2DI 35 / 50

Page 87: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

D’où vient le nom softmax ?Supposons ` = 3 et

wT1 · x + b1 = 0.1 (31)

wT2 · x + b2 = 0.1 (32)

wT3 · x + b3 = 100 (33)

On aurait alors :

smax (x; W) ≈

001

(34)

John Klein (Lille1) A2DI 35 / 50

Page 88: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

D’où vient le nom softmax ?Supposons ` = 3 et

wT1 · x + b1 = 0.1 (31)

wT2 · x + b2 = 0.1 (32)

wT3 · x + b3 = 100 (33)

On aurait alors :

smax (x; W) ≈

001

(34)

En conclusion, quand une classe i a un gros score pour l’exemple x laproba que y = i est proche de 1.

John Klein (Lille1) A2DI 35 / 50

Page 89: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Schématiquement, ça donne :

John Klein (Lille1) A2DI 36 / 50

Page 90: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ?

John Klein (Lille1) A2DI 37 / 50

Page 91: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ?

John Klein (Lille1) A2DI 37 / 50

Page 92: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ?

John Klein (Lille1) A2DI 38 / 50

Page 93: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ?

John Klein (Lille1) A2DI 39 / 50

Page 94: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ?

John Klein (Lille1) A2DI 39 / 50

Page 95: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ?

Donc Θ =

John Klein (Lille1) A2DI 39 / 50

Page 96: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ? Regardons de plus près ...

John Klein (Lille1) A2DI 40 / 50

Page 97: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ? Regardons de plus près ...

John Klein (Lille1) A2DI 40 / 50

Page 98: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ? Regardons de plus près ...

C’est comme si une des sorties du softmax de servait à rien !

John Klein (Lille1) A2DI 40 / 50

Page 99: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ? Regardons de plus près ...On peut montrer que pour tout vecteur ψ de même taille que les θi ,si la matrice Θ∗ minimise la NLL alors, la matrice suivant aussi :

Θ∗ −

ψ

. . . ψ

(35)

Par convention, on choisit ψ = θ` et on supprime la dernière colonnede Θ dans le problème de minimisation de la NLL.

John Klein (Lille1) A2DI 41 / 50

Page 100: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ? Regardons de plus près ...On peut montrer que pour tout vecteur ψ de même taille que les θi ,si la matrice Θ∗ minimise la NLL alors, la matrice suivant aussi :

Θ∗ −

ψ

. . . ψ

(35)

Par convention, on choisit ψ = θ` et on supprime la dernière colonnede Θ dans le problème de minimisation de la NLL.

John Klein (Lille1) A2DI 41 / 50

Page 101: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il des paramètres ? Regardons de plus près ...On peut montrer que pour tout vecteur ψ de même taille que les θi ,si la matrice Θ∗ minimise la NLL alors, la matrice suivant aussi :

Θ∗ −

ψ

. . . ψ

(35)

Par convention, on choisit ψ = θ` et on supprime la dernière colonnede Θ dans le problème de minimisation de la NLL.

John Klein (Lille1) A2DI 41 / 50

Page 102: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il de la descente de gradient ?

John Klein (Lille1) A2DI 42 / 50

Page 103: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il de la descente de gradient ?La même approche reste valable, mais les dérivées sont plusnombreuses.

John Klein (Lille1) A2DI 42 / 50

Page 104: A2DI: Régression logistique

Descente de gradient

Régression logistique : extension multi-classes

Qu’advient-il de la descente de gradient ?La même approche reste valable, mais les dérivées sont plusnombreuses.Le plus simple est de calculer à chaque itération t, les dérivéesséparemment pour chaque vecteur θi selon :

∂θiNLL (Θ) = −

n∑j=1

x(j)(Ii(y (j)

)− πi

)(36)

John Klein (Lille1) A2DI 42 / 50

Page 105: A2DI: Régression logistique

Descente de gradient stochastique

Plan du chapitre

1 Origines du modèle

2 Descente de gradient

3 Descente de gradient stochastique

4 Conclusions

John Klein (Lille1) A2DI 43 / 50

Page 106: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

John Klein (Lille1) A2DI 44 / 50

Page 107: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Imaginons que n = 109 (ex : nombre d’utilisateurs de Facebook).

John Klein (Lille1) A2DI 44 / 50

Page 108: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Imaginons que n = 109 (ex : nombre d’utilisateurs de Facebook).Pour une itération de la descente de gradient, je dois calculer :

ddθNLL (θ) = X · err . (37)

John Klein (Lille1) A2DI 44 / 50

Page 109: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Imaginons que n = 109 (ex : nombre d’utilisateurs de Facebook).Pour une itération de la descente de gradient, je dois calculer :

ddθNLL (θ) = X · err . (37)

Problème : la matrice X ne tient pas sur ma mémoire :

X =

x(1)

. . . . . . . . .

x(109)

(38)

John Klein (Lille1) A2DI 44 / 50

Page 110: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Reformulons ce calcul matriciel :

ddθNLL (θ) = X · err =

n∑i=1

erri × x(i). (39)

John Klein (Lille1) A2DI 45 / 50

Page 111: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Reformulons ce calcul matriciel :

ddθNLL (θ) = X · err =

n∑i=1

erri × x(i). (39)

Bonne nouvelle : je n’ai pas besoin de charger en mémoire tous mesexemples d’un coup !

John Klein (Lille1) A2DI 45 / 50

Page 112: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Reformulons ce calcul matriciel :

ddθNLL (θ) = X · err =

n∑i=1

erri × x(i). (39)

Bonne nouvelle : je n’ai pas besoin de charger en mémoire tous mesexemples d’un coup !mais finalement... pourquoi attendre d’avoir vu tous mes exemplespour mettre à jour θ ?

John Klein (Lille1) A2DI 45 / 50

Page 113: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Reformulons ce calcul matriciel :

ddθNLL (θ) = X · err =

n∑i=1

erri × x(i). (39)

Bonne nouvelle : je n’ai pas besoin de charger en mémoire tous mesexemples d’un coup !mais finalement... pourquoi attendre d’avoir vu tous mes exemplespour mettre à jour θ ?Peut on faire la màj exemple par exemple selon :

θt+1 ←− θt − ηt × erri × x(i) ? (40)

John Klein (Lille1) A2DI 45 / 50

Page 114: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data

Reformulons ce calcul matriciel :

ddθNLL (θ) = X · err =

n∑i=1

erri × x(i). (39)

Bonne nouvelle : je n’ai pas besoin de charger en mémoire tous mesexemples d’un coup !mais finalement... pourquoi attendre d’avoir vu tous mes exemplespour mettre à jour θ ?Peut on faire la màj exemple par exemple selon :

θt+1 ←− θt − ηt × erri × x(i) ? (40)

→ Oui, ça s’appelle faire une descente de gradient stochastique.

John Klein (Lille1) A2DI 45 / 50

Page 115: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiquePourquoi stochastique ?

John Klein (Lille1) A2DI 46 / 50

Page 116: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiquePourquoi stochastique ?Imaginons tirer U ∼ U{1;n} uniformément afin de choisir au hasardune de nos données x(U).

John Klein (Lille1) A2DI 46 / 50

Page 117: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiquePourquoi stochastique ?Imaginons tirer U ∼ U{1;n} uniformément afin de choisir au hasardune de nos données x(U).Le gradient de l’erreur pour cet exemple est donc

g (U) = errU × x(U). (41)

John Klein (Lille1) A2DI 46 / 50

Page 118: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiquePourquoi stochastique ?Imaginons tirer U ∼ U{1;n} uniformément afin de choisir au hasardune de nos données x(U).Le gradient de l’erreur pour cet exemple est donc

g (U) = errU × x(U). (41)

Prenons l’espérance sous la loi de U :

EU [g ] =n∑

u=1erru × x(u)pU (u) , (42)

==

John Klein (Lille1) A2DI 46 / 50

Page 119: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiquePourquoi stochastique ?Imaginons tirer U ∼ U{1;n} uniformément afin de choisir au hasardune de nos données x(U).Le gradient de l’erreur pour cet exemple est donc

g (U) = errU × x(U). (41)

Prenons l’espérance sous la loi de U :

EU [g ] =n∑

u=1erru × x(u)pU (u) , (42)

==

Le gradient qu’on cherche est l’espérance de celui pris sur un exempleau hasard.John Klein (Lille1) A2DI 46 / 50

Page 120: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiqueEst-ce que ça converge vers θ∗ = arg min

θNLL (θ) ?

John Klein (Lille1) A2DI 47 / 50

Page 121: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiqueEst-ce que ça converge vers θ∗ = arg min

θNLL (θ) ?

J’ai :

E [màj] = cible (43)

⇔ EU[gradient pour x(U) seul

]= d

dθNLL (θ) . (44)

John Klein (Lille1) A2DI 47 / 50

Page 122: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastiqueEst-ce que ça converge vers θ∗ = arg min

θNLL (θ) ?

J’ai :

E [màj] = cible (43)

⇔ EU[gradient pour x(U) seul

]= d

dθNLL (θ) . (44)

Je peux alors invoquer le résultat suivant :

Conditions de Robbins-MonroeSi la suite ηt des learning rates est telle que

∑t≥0

ηt =∞ et∑t≥0

η2t <∞

alors l’algorithme du gradient stochastique converge vers l’optimum θ∗.

John Klein (Lille1) A2DI 47 / 50

Page 123: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : gradient stochastique / Procédure

SGDInitialiser θ0 et η0.while pas convergé do

if (i multiple de n) Mélanger les données aléatoirement (Shuffle).Calculer le gradient sur l’exemple x(i) : g← erri × x(i).Mettre à jour les paramètres : θt+1 ←− θt − ηt × g.Mettre à jour le learning rate : ηt+1 ←− a

t+bi ← i + 1

end while

John Klein (Lille1) A2DI 48 / 50

Page 124: A2DI: Régression logistique

Descente de gradient stochastique

Régression logistique et Big Data : grad. stoch. / 4 situations en pratique

John Klein (Lille1) A2DI 49 / 50

Page 125: A2DI: Régression logistique

Conclusions

Messages importants du chapitre :

La régression logistique offre une estimation de pY |X ;θ à partir desdonnées. C’est donc un modèle discriminatif.Elle fonctionne pour une perte L appelée entropie croisée.Avec cette perte, la NLL de la régression logistique est l’erreur Errtrain.La NLL doit être minimisée par rapport aux paramètres θ du modèlede la régression logistique.Puisqu’il n’y a pas de solution analytique, on utilise la descente degradient.Quand le dataset est grand, on préfère la descente de gradientstochastique.

John Klein (Lille1) A2DI 50 / 50