A2DI: Régression logistique
John Klein
Université de Lille - CRIStAL UMR CNRS 9189
John Klein (Lille1) A2DI 1 / 50
dévie pas deErresp.
Les solutions minimisantErrtrain au sens de la théorie de la décision pour desfonctions de perte classiques tournent autour desolutions probabilistes reposant sur la connaissance de la distributionpY|X Si, on cherche directement pY|X, on parle de modèlediscriminatif.
John Klein (Lille1) A2DI 2 / 50
En théorie on veut minimiser Erresp.
En pratique on minimiseraErrtrain tout en s’assurant que Errtrain ne dévie pas deErresp.
Les solutions minimisantErrtrain au sens de la théorie de la décision pour desfonctions de perte classiques tournent autour desolutions probabilistes reposant sur la connaissance de la distributionpY|X Si, on cherche directement pY|X, on parle de modèlediscriminatif.
La régression logistiqueoffre une solution de cette nature pour un problème de classification.
John Klein (Lille1) A2DI 2 / 50
1 Origines du modèle
2 Descente de gradient
3 Descente de gradient stochastique
4 Conclusions
John Klein (Lille1) A2DI 3 / 50
Reprenons un exemplehabituel :
Soit un problème de classification avecY={0; 1}où 0 représente l’hypothèse qu’uncrédit n’est pas accordé et 1 qu’un crédit est accordé.
John Klein (Lille1) A2DI 4 / 50
l’hypothèse qu’uncrédit n’est pas accordé et 1 qu’un crédit est accordé.
Soit Xl’espace des attributs brutes où chaque dimensionxj est un nombre réel représentant un information du style : salaire,découvert max,endettement, etc.
John Klein (Lille1) A2DI 4 / 50
Reprenons un exemplehabituel :
Soit un problème de classification avecY={0; 1}où 0 représente l’hypothèse qu’uncrédit n’est pas accordé et 1 qu’un crédit est accordé.
Soit Xl’espace des attributs brutes où chaque dimensionxj est un nombre réel représentant un information du style : salaire,découvert max,endettement, etc.
On se doute qu’un scoredu 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
l’hypothèse qu’uncrédit n’est pas accordé et 1 qu’un crédit est accordé.
Soit Xl’espace des attributs brutes où chaque dimensionxj est un nombre réel représentant un information du style : salaire,découvert max,endettement, etc.
On se doute qu’un scoredu style :
score=w1×salaire+w2×decouvert+w3×endettement+b est pertinent pour décider de l’attribution du crédit.. à condition que les paramètresw1,w2,w3, et b soient bien réglés !
John Klein (Lille1) A2DI 4 / 50
Partir sur cette idée revient à choisir unmodèle linéaire.
.. mais, lescore n’est ni uneclasse, ni une probabilité d’appartenance à une classe.
Avec le perceptron, on avait décidé d’appliquer la fonctionsignau score :
John Klein (Lille1) A2DI 5 / 50
repose sur l’hypothèse deséparabilité linéairequi n’est pas réaliste en pratique.
John Klein (Lille1) A2DI 6 / 50
Adoptons une solution plus réaliste :
y n’est pas directement déductible de score(x).
On autorise donc des réponsesbruitées et on cherchepY|score(x). CommeY|X=xest binaire, on sait queY|X=x∼Ber(µ(x)) avec µ∈[0; 1].
Pourquoi ne pas faire en sorte que le scoresoit 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
John Klein (Lille1) A2DI 8 / 50
Une fonction qui permet d’obtenir cela est la fonction sigmoïde.
La fonctionsigmoïde sgmest une fonction continue de R dans [0; 1], telle que
sgm(z) = 1
1 +e−z. (2)
John Klein (Lille1) A2DI 8 / 50
telle que
sgm(z) = 1
1 +e−z. (2)
Voici le graphe de la fonctionsigmoïde :
-1 1
1
z sgm(z)
John Klein (Lille1) A2DI 8 / 50
Le modèle complet de la régression logistiqueest :
Y|X=x ∼ Ber(sgm(score(x))), (3)
⇔Y|X=x ∼ BersgmwT·x+b (4)
John Klein (Lille1) A2DI 9 / 50
θ=
w1
... wd
b
(5)
John Klein (Lille1) A2DI 10 / 50
Soit θ le vecteur qui contienttous les paramètresdu modèle :
θ=
w1
... wd
b
(5)
Selon le modèle de la régression logistique, quelle valeur deθexplique le mieux l’observation d’un couple x(i),c(i)?
John Klein (Lille1) A2DI 10 / 50
θ=
w1
... wd
b
(5)
Selon le modèle de la régression logistique, quelle valeur deθexplique le mieux l’observation d’un couple x(i),c(i)?
−→ Celle qui maximise pY|X=x(i);θ
c(i)=
sgmwT ·x+b sic(i)= 1
1−sgmwT ·x+b sic(i)= 0. (6)
John Klein (Lille1) A2DI 10 / 50
Reformulons sous une forme plus compacte : pY|X=x(i);θ
c(i)=sgmwT ·x(i)+bc
(i)
×1−sgmwT·x(i)+b1−c
(i)
. (7)
John Klein (Lille1) A2DI 11 / 50
pY|X=x(i);θ c(i) =sgm wT ·x(i)+b × 1−sgm wT·x(i)+b . (7)
Selon le modèle de la régression logistique, quelle valeur deθexplique le mieux tout mon ensemble d’apprentissage ?
John Klein (Lille1) A2DI 11 / 50
Reformulons sous une forme plus compacte : pY|X=x(i);θ
c(i)=sgmwT ·x(i)+bc
(i)
×1−sgmwT·x(i)+b1−c
(i)
. (7)
Selon le modèle de la régression logistique, quelle valeur deθexplique le mieux tout mon ensemble d’apprentissage ?
−→ Celle qui maximise la vraisemblance :
John Klein (Lille1) A2DI 11 / 50
pY|X=x(i);θ c(i) =sgm wT ·x(i)+b × 1−sgm wT·x(i)+b . (7)
Selon le modèle de la régression logistique, quelle valeur deθexplique le mieux tout mon ensemble d’apprentissage ?
−→ Celle qui maximise la vraisemblance : L(θ) =
n
Y
i=1
sgmwT·x(i)+bc
(i)
×1−sgmwT ·x(i)+b1−c
(i)
(8)
John Klein (Lille1) A2DI 11 / 50
Passons à la NLL(θ) =
−
n
X
i=1
c(i)logsgmwT·x(i)+b+1−c(i)log1−sgmwT ·x(i)+b. (9)
John Klein (Lille1) A2DI 12 / 50
−X
i=1
c(i)logsgmwT·x(i)+b+1−c(i)log1−sgmwT ·x(i)+b. (9) Cette équation peut s’interprêter comme l’entropie croiséemoyenne 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
Passons à la NLL(θ) =
−
n
X
i=1
c(i)logsgmwT·x(i)+b+1−c(i)log1−sgmwT ·x(i)+b. (9) Cette équation peut s’interprêter comme l’entropie croiséemoyenne entre :
la distribution empirique des classes pour le seul échantillon c(i) : ˆ
p(i)(c) =Ic(i)(c) et
la distributionprédite par notre modèle pY|X=x(i);θ(c) =Berfθx(i).
John Klein (Lille1) A2DI 12 / 50
−X
i=1
c(i)logsgmwT·x(i)+b+1−c(i)log1−sgmwT ·x(i)+b. (9) Cette équation peut s’interprêter comme l’entropie croiséemoyenne entre :
la distribution empirique des classes pour le seul échantillon c(i) : ˆ
p(i)(c) =Ic(i)(c) et
la distributionprédite par notre modèle pY|X=x(i);θ(c) =Berfθx(i).
NLL(θ) =
n
X
i=1
Hpˆ(i), pY|X=x(i);θ
, (10)
= n×Errtrain (11)
John Klein (Lille1) A2DI 12 / 50
Passons à la NLL(θ) =
−
n
X
i=1
c(i)logsgmwT·x(i)+b+1−c(i)log1−sgmwT ·x(i)+b. (12) Posons :
x(i)+ =
x1(i)
... xd(i)
1
(13)
On a NLL(θ)
=−
n
X
i=1
c(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
n
X
i=1
c(i)log
1 +e−θT·x(i)+
−1−c(i)log
e−θ ·x+ 1 +e−θT·x(i+)
. (15)
John Klein (Lille1) A2DI 14 / 50
Au final,
NLL(θ) =
n
X
i=1
1−c(i) θT ·x(i)+−logsgmθT·x(i)+. (16)
John Klein (Lille1) A2DI 15 / 50
NLL(θ) =X
i=1
1−c(i) θT ·x(i)+−logsgmθT·x(i)+. (16) Cette fonction estconvexemais il n’y pas de solution explicite au problème de minimisation :
arg min
θ
NLL(θ).
John Klein (Lille1) A2DI 15 / 50
Au final,
NLL(θ) =
n
X
i=1
1−c(i) θT ·x(i)+−logsgmθT·x(i)+. (16) Cette fonction estconvexemais il n’y pas de solution explicite au problème de minimisation :
arg min
θ
NLL(θ).
On va donc devoir utiliser unalgorithme d’optimisation.
John Klein (Lille1) A2DI 15 / 50
John Klein (Lille1) A2DI 16 / 50
Modèles linéaires :bilan
Régression Linéaire Perceptron Régression Logistique
John Klein (Lille1) A2DI 16 / 50
Régression Linéaire Perceptron Régression Logistique fθ(x) wT·x+b signwT·x+b sgmwTvx+b Pred.
John Klein (Lille1) A2DI 16 / 50
Modèles linéaires :bilan
Régression Linéaire Perceptron Régression Logistique fθ(x) wT ·x+b signwT ·x+b sgmwTvx+b Pred.
Tâche Régression Classification Classification
John Klein (Lille1) A2DI 16 / 50
Régression Linéaire Perceptron Régression Logistique fθ(x) wT ·x+b signwT ·x+b sgmwTvx+b Pred.
Tâche Régression Classification Classification
Sortie valeur classe proba de classe
John Klein (Lille1) A2DI 16 / 50
Modèles linéaires :bilan
Régression Linéaire Perceptron Régression Logistique fθ(x) wT ·x+b signwT ·x+b sgmwTvx+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
Régression Linéaire Perceptron Régression Logistique
John Klein (Lille1) A2DI 17 / 50
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
Impossible de calculer le MLE analytiquement.
John Klein (Lille1) A2DI 19 / 50
Retour à larégression logistique : Prochain défi :minimiser la NLL
Impossible de calculer le MLE analytiquement.
On va utiliser unedescente de gradient.
John Klein (Lille1) A2DI 19 / 50
Pause Optim!
John Klein (Lille1) A2DI 20 / 50
Minimisation de la NLL pardescente de gradient
Pause Optim!
Cet algorithme repose sur une mise à jouritérative deθ selon : θt+1 ←−θt−η× d
dθNLL(θ),
John Klein (Lille1) A2DI 20 / 50
Pause Optim!
Cet algorithme repose sur une mise à jouritérative deθ selon : θt+1 ←−θt−η× d
dθNLL(θ), avecη un paramètre de convergence, appelélearning rate.
John Klein (Lille1) A2DI 20 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
John Klein (Lille1) A2DI 21 / 50
Pause Optim!
Quand η est bien choisi, l’algorithme fonctionne ainsi :
John Klein (Lille1) A2DI 21 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
Quand η est bien choisi, l’algorithme fonctionne ainsi :
John Klein (Lille1) A2DI 21 / 50
Pause Optim!
John Klein (Lille1) A2DI 22 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
Quand η est choisitrop petit:
John Klein (Lille1) A2DI 22 / 50
Pause Optim!
Quand η est choisitrop petit:
John Klein (Lille1) A2DI 22 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
John Klein (Lille1) A2DI 23 / 50
Pause Optim!
Quand η est choisitrop grand :
John Klein (Lille1) A2DI 23 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
Quand η est choisitrop grand :
John Klein (Lille1) A2DI 23 / 50
Pause Optim! Même explication en2D
John Klein (Lille1) A2DI 24 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
John Klein (Lille1) A2DI 25 / 50
Pause Optim!
N’y a-t-il pas un moyen intelligent de choisirη?
John Klein (Lille1) A2DI 25 / 50
Minimisation de la NLL pardescente 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θ2NLL(θt) (17)
John Klein (Lille1) A2DI 25 / 50
Pause Optim!
ηt=η× d2
dθ2NLL(θt)
!−1
(18)
John Klein (Lille1) A2DI 26 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
Cette façon de calculer ηt est appeléeméthode de Newton.
John Klein (Lille1) A2DI 27 / 50
Pause Optim!
Cette façon de calculer ηt est appeléeméthode de Newton.
Le scalaireη est en général fixé à 1.
John Klein (Lille1) A2DI 27 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
Cette façon de calculer ηt est appeléeméthode de Newton.
Le scalaireη est en général fixé à 1.
d2
dθ2NLL(θt) est en général une matrice dite Hessienne.
John Klein (Lille1) A2DI 27 / 50
Pause Optim!
Cette façon de calculer ηt est appeléeméthode de Newton.
Le scalaireη est en général fixé à 1.
d2
dθ2NLL(θt) est en général une matrice dite Hessienne.
Elle peut converger vers un max si la fonction n’estpas convexe.
John Klein (Lille1) A2DI 27 / 50
Minimisation de la NLL pardescente de gradient : principe graphique
Pause Optim!
Cette façon de calculer ηt est appeléeméthode de Newton.
Le scalaireη est en général fixé à 1.
d2
dθ2NLL(θt) est en général une matrice dite Hessienne.
Elle peut converger vers un max si la fonction n’estpas convexe.
L’inversion et le calcul du Hessien peut êtrecouteux.
John Klein (Lille1) A2DI 27 / 50
Pause Optim!
Cette façon de calculer ηt est appeléeméthode de Newton.
Le scalaireη est en général fixé à 1.
d2
dθ2NLL(θt) est en général une matrice dite Hessienne.
Elle peut converger vers un max si la fonction n’estpas convexe.
L’inversion et le calcul du Hessien peut êtrecouteux.
Ca peut déraper si les dérivées secondes sont trop approximatives (matrice non définie).
John Klein (Lille1) A2DI 27 / 50
Retour à larégression logistique :minimisationla NLL par la méthode de Newton
La logregest le cas idéal pour Newton :
Les dérivées1ères et 2ndes sontfaciles à calculer. item La NLL est convexedonc la convergence est assurée.
John Klein (Lille1) A2DI 28 / 50
On avait obtenu NLL(θ) =
n
X
i=1
1−c(i) θT ·x(i)+−logsgmθT·x(i)+. (19) On montre alors que
∂
∂wj
NLL(θ) = −
n
X
i=1
xj(i)c(i)−sgmθT·x(i)+, (20)
∂
∂bNLL(θ) = −
n
X
i=1
c(i)−sgmθT·x(i)+ (21)
John Klein (Lille1) A2DI 29 / 50
Régression logistique :minimisationla NLL par la méthode de Newton Calcul des dérivées1ères (gradient) sous forme matricielle:
John Klein (Lille1) A2DI 30 / 50
Soit errle vecteur rassemblant les écarts entre prédiction et réalité pour tous 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
Régression logistique :minimisationla NLL par la méthode de Newton Calcul des dérivées1ères (gradient) sous forme matricielle:
Soit errle vecteur rassemblant les écarts entre prédiction et réalité pour tous les éléments de D:
err=
sgmθT ·x(1)+ −c(1) ...
sgmθT ·x(n)+ −c(n)
. (22)
Introduisons également une matriceX qui aggrègetous les vecteurs d’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
d
dθNLL(θ) =X·err. (24)
John Klein (Lille1) A2DI 31 / 50
Régression logistique :minimisationla NLL par la méthode de Newton Calcul des dérivées1ères (gradient) sous forme matricielle:
d
dθNLL(θ) =X·err. (24)
Pour les dérivées2ndes, on a : d2
dθ2NLL(θ) =X·S·XT , (25)
John Klein (Lille1) A2DI 31 / 50
d
dθNLL(θ) =X·err. (24)
Pour les dérivées2ndes, on a : d2
dθ2NLL(θ) =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
Régression logistique :minimisationla 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
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 (iteratively reweighted least squares).
John Klein (Lille1) A2DI 32 / 50
Régression logistique : extensionmulti-classes
Supposons à présent un problème à plus de 2 classes :]C=`≥3.
John Klein (Lille1) A2DI 33 / 50
Exemple : autorisation de carte bancaire
C={refus,electron,standard,gold}
John Klein (Lille1) A2DI 33 / 50
Régression logistique : extensionmulti-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
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
Régression logistique : extensionmulti-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) et
scorei(x) =wTi ·x+bi. (29)
John Klein (Lille1) A2DI 33 / 50
i
π contenant des probabilités?
John Klein (Lille1) A2DI 34 / 50
Régression logistique : extensionmulti-classes
Quelle fonctionF peut envoyer les scoreswTi ·x+bi vers un vecteur π contenant des probabilités?
→ la fonctionsmaxsoftmax peut faire cela :
smax(x;Θ) =
expwT1·x+b1
P`
k=1exp(wTk·x+bk) ...
expwT`·x+b`
P`
k=1exp(wTk·x+bk)
(30)
John Klein (Lille1) A2DI 34 / 50
i
π contenant des probabilités?
→ la fonctionsmaxsoftmax peut faire cela :
smax(x;Θ) =
expwT1·x+b1
P`
k=1exp(wTk·x+bk) ...
expwT`·x+b`
P`
k=1exp(wTk·x+bk)
(30)
Θ est une matrice rassemblant tous lesparamètres.
John Klein (Lille1) A2DI 34 / 50
Régression logistique : extensionmulti-classes
Quelle fonctionF peut envoyer les scoreswTi ·x+bi vers un vecteur π contenant des probabilités?
→ la fonctionsmaxsoftmax peut faire cela :
smax(x;Θ) =
expwT1·x+b1
P`
k=1exp(wTk·x+bk) ...
expwT`·x+b`
P`
k=1exp(wTk·x+bk)
(30)
Θ est une matrice rassemblant tous lesparamètres.
Elle généralise lasigmoïde.
John Klein (Lille1) A2DI 34 / 50
i
π contenant des probabilités?
→ la fonctionsmaxsoftmax peut faire cela :
smax(x;Θ) =
expwT1·x+b1
P`
k=1exp(wTk·x+bk) ...
expwT`·x+b`
P`
k=1exp(wTk·x+bk)
(30)
Θ est une matrice rassemblant tous lesparamètres.
Elle généralise lasigmoïde.
Elle appartient à la famille des distributions de Boltzmann.
John Klein (Lille1) A2DI 34 / 50
Régression logistique : extensionmulti-classes D’où vient le nom softmax?
John Klein (Lille1) A2DI 35 / 50
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
Régression logistique : extensionmulti-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)≈
0 0 1
(34)
John Klein (Lille1) A2DI 35 / 50
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)≈
0 0 1
(34)
En conclusion, quand une classei a un gros score pour l’exemplex la proba quey =i est proche de 1.
John Klein (Lille1) A2DI 35 / 50
Régression logistique : extensionmulti-classes Schématiquement, ça donne :
John Klein (Lille1) A2DI 36 / 50
John Klein (Lille1) A2DI 37 / 50
Régression logistique : extensionmulti-classes Qu’advient-il des paramètres?
John Klein (Lille1) A2DI 37 / 50
John Klein (Lille1) A2DI 38 / 50
Régression logistique : extensionmulti-classes Qu’advient-il des paramètres?
John Klein (Lille1) A2DI 39 / 50
John Klein (Lille1) A2DI 39 / 50
Régression logistique : extensionmulti-classes Qu’advient-il des paramètres?
DoncΘ=
John Klein (Lille1) A2DI 39 / 50
John Klein (Lille1) A2DI 40 / 50
Régression logistique : extensionmulti-classes
Qu’advient-il des paramètres? Regardons de plus près ...
John Klein (Lille1) A2DI 40 / 50
C’est comme si une des sorties du softmax de servait à rien !
John Klein (Lille1) A2DI 40 / 50
Régression logistique : extensionmulti-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 colonne deΘ dans le problème de minimisation de la NLL.
John Klein (Lille1) A2DI 41 / 50
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 colonne deΘ dans le problème de minimisation de la NLL.
John Klein (Lille1) A2DI 41 / 50
Régression logistique : extensionmulti-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 colonne deΘ dans le problème de minimisation de la NLL.
John Klein (Lille1) A2DI 41 / 50
John Klein (Lille1) A2DI 42 / 50
Régression logistique : extensionmulti-classes Qu’advient-il de la descente de gradient?
La même approche reste valable, mais les dérivées sont plus nombreuses.
John Klein (Lille1) A2DI 42 / 50
La même approche reste valable, mais les dérivées sont plus nombreuses.
Le plus simple est de calculer à chaque itération t, les dérivées séparemment pour chaque vecteurθi selon :
∂
∂θi
NLL(Θ) =−
n
X
j=1
x(j)Ii
y(j)−πi (36)
John Klein (Lille1) A2DI 42 / 50
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
John Klein (Lille1) A2DI 44 / 50
Régression logistique etBig Data
Imaginons que n=109 (ex : nombre d’utilisateurs de Facebook).
John Klein (Lille1) A2DI 44 / 50
Pour une itération de ladescente de gradient, je dois calculer : d
dθNLL(θ) =X·err. (37)
John Klein (Lille1) A2DI 44 / 50
Régression logistique etBig Data
Imaginons que n=109 (ex : nombre d’utilisateurs de Facebook).
Pour une itération de ladescente de gradient, je dois calculer : d
dθNLL(θ) =X·err. (37)
Problème : la matriceX ne tient pas sur ma mémoire :
X=
x(1)
. . . .
x(109)
(38)
John Klein (Lille1) A2DI 44 / 50
d
dθNLL(θ) =X·err=
n
X
i=1
erri ×x(i). (39)
John Klein (Lille1) A2DI 45 / 50
Régression logistique etBig Data Reformulons ce calcul matriciel :
d
dθNLL(θ) =X·err=
n
X
i=1
erri ×x(i). (39) Bonne nouvelle: je n’ai pas besoinde charger en mémoiretous mes exemples d’un coup !
John Klein (Lille1) A2DI 45 / 50
d
dθNLL(θ) =X·err=
n
X
i=1
erri ×x(i). (39) Bonne nouvelle: je n’ai pas besoinde charger en mémoiretous mes exemples d’un coup !
mais finalement... pourquoi attendred’avoir vu tous mes exemples pour mettre à jourθ?
John Klein (Lille1) A2DI 45 / 50
Régression logistique etBig Data Reformulons ce calcul matriciel :
d
dθNLL(θ) =X·err=
n
X
i=1
erri ×x(i). (39) Bonne nouvelle: je n’ai pas besoinde charger en mémoiretous mes exemples d’un coup !
mais finalement... pourquoi attendred’avoir vu tous mes exemples pour 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
d
dθNLL(θ) =X·err=
n
X
i=1
erri ×x(i). (39) Bonne nouvelle: je n’ai pas besoinde charger en mémoiretous mes exemples d’un coup !
mais finalement... pourquoi attendred’avoir vu tous mes exemples pour 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 unedescente de gradient stochastique.
John Klein (Lille1) A2DI 45 / 50
Régression logistique etBig Data :gradient stochastique Pourquoi stochastique?
John Klein (Lille1) A2DI 46 / 50
Imaginons tirerU ∼ U{1;n} uniformément afin de choisir au hasard une de nos donnéesx(U).
John Klein (Lille1) A2DI 46 / 50
Régression logistique etBig Data :gradient stochastique Pourquoi stochastique?
Imaginons tirerU ∼ U{1;n} uniformément afin de choisir au hasard une de nos donnéesx(U).
Le gradient de l’erreur pour cet exemple est donc
g(U) =errU×x(U). (41)
John Klein (Lille1) A2DI 46 / 50
Imaginons tirerU ∼ U{1;n} uniformément afin de choisir au hasard une de nos donnéesx(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
X
u=1
erru×x(u)pU(u), (42)
=
=
John Klein (Lille1) A2DI 46 / 50
Régression logistique etBig Data :gradient stochastique Pourquoi stochastique?
Imaginons tirerU ∼ U{1;n} uniformément afin de choisir au hasard une de nos donnéesx(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
X
u=1
erru×x(u)pU(u), (42)
=
=
Le gradientqu’on cherche est l’espérance de celui pris sur un exemple au hasard.
John Klein (Lille1) A2DI 46 / 50
θ
John Klein (Lille1) A2DI 47 / 50