Régression logistique Gilles Gasso. INSA Rouen -Département ASI Laboratoire LITIS Régression logistique p. 1
Introduction Objectifs Le classifieur de Bayes est basé sur la comparaison des probabilités a posteriori càd le point x est affecté à la classe de plus forte probabilité a posteriori D(x) = argmax y Y Pr(y /x) Cas d une classification binaire Y = {C1, C 2 }. La règle de décision est D(x) = ( C 1 C 2 si autrement Pr(C 1 /x) Pr(C 2 /x) > 1 La règle nécessite uniquement la connaissance du rapport des probabilités a posteriori Pr(C 1/x) Pr(C 2 /x). D après la loi de Bayes, on a Pr(C 1/x) Pr(C 2 /x) = Pr(C 1)p(x/C 1 ) Pr(C 2 )p(x/c 2 ) Pour construire la fonction de décision D(x), il faut déterminer les lois conditionnelles p(x/c k ) et les probabilités a priori Pr(C k ) desquelles on déduit le rapport des probabilités a posteriori. Régression logistique p. 2
Introduction Objectifs Autre solution : estimer directement le rapport des probabilités a posteriori. Dans ce cours, on explore cette solution en utilisant la régression logistique. Objectif de la régression logistique : trouver une modélisation du rapport des probabilités a posteriori. f(x) = Pr(C j/x) Pr(C k /x) En réalité on cherche une modélisation de Pr(C log 1 /x) Pr(C 2. Ceci n influe pas la /x) règle de décision car la fonction log est monotone. On se limitera au cas de la classification binaire Y = {C1, C 2 } ou Y = {1,2}. Position du problème On considère l ensemble des données étiquettées D = {(x i, y i ) X Y, i = 1,,N} avec Y = {C 1, C 2 } et X R d On cherche une modélisation de log f(x) Régression logistique p. 3
Modèle pour la régression logistique On modélise le log du rapport des probabilités a posteriori par des modèles linéaires log Pr(C 1/x) Pr(C 2 /x) = [1 x ]θ = φ θ Comme Pr(C1 /x) + Pr(C 2 /x) = 1, on a les relations suivantes Pr(C 1 /x) Pr(C 2 /x) = exp φ θ Pr(C 1 /x) = et Pr(C 2 /x) = exp φ θ 1 + exp φ θ 1 1 + exp φ θ Remarque : x R d, on a par conséquent θ et φ R d+1 Régression logistique p. 4
Régression logistique Illustration Probabilité a posteriori Pr 1 = expφ θ 1+exp φ θ Probabilité a posteriori Pr 2 = 1 1+exp φ θ 1 1 P Y/X (Y=1/X=x) 0.8 0.6 0.4 0.2 P Y/X (Y=2/X=x) 0.8 0.6 0.4 0.2 0 10 5 0 5 10 x T a θ 0 10 5 0 5 10 T x a θ Estimation des paramètres Paramètres : vecteur θ Optimisation des paramètres : maximisation de la vraisemblance à partir des données D = {(x i,y i )},,N Régression logistique p. 5
Critère Vraisemblance Supposons des données {xi },,N i.i.d. Vraisemblance Λ(x 1,,x N ) = Λ(θ; x 1,,x N ) = Log-Vraisemblance NY P(y i, x i ) NY Pr(y i /x i ; θ) p X (x i ) d après Bayes L(θ; x 1,, x N ) = NX log(pr(y i /x i ; θ)) + NX log(p X (x i )) Le 2 e terme de la log-vraisemblance étant indépendante de θ, on détermine θ par maximisation de J = P N log(pr(y i/x i ; θ)) Régression logistique p. 6
Critère Pour simplifier les notations, posons pi = Pr(y i = C 1 /x i ; θ). On remarquera que Pr(y i = C 2 /x i ; θ) = 1 p i Soit la variable z telle que zi = 1 si y i = C 1 et z i = 0 si y i = C 2 Le critère J peut s écrire alors J = NX z i log(p i ) + (1 z i ) log(1 p i ) Or pi = expφ i θ 1+exp φ i θ. On a alors J = J = NX z i φ i θ z i log(1 + exp φ i θ ) (1 z i ) log(1 + exp φ i θ ) NX z i φ i θ log(1 + exp φ i θ ) avec θ R d+1 Régression logistique p. 7
Estimation des paramètres Condition d optimalité Critère J = NX z i φ i θ log(1 + exp φ i θ ) Annulation de la dérivée de J θ J = 0 NX exp φ i θ z i φ i φ i 1 + exp φ i θ = 0 Problème : la solution de cette équation n est pas analytique Il faut faire appel à des techniques d optimisation non-linéaires Régression logistique p. 8
Introduction à l optimisation non-linéaire Principe Soit le problème d optimisation suivant min θ J(θ) où J est une fonction non-linéaire du vecteur de paramètres θ. Approche itérative : déterminer itérativement la solution θ t+1 = θ t + ρ t d t avec ρ t > 0 telle que à chaque étape, on s assure que J(θ t+1 ) < J(θ t ) dt est appelé direction de descente et le paramètre ρ t est le pas dans la direction d t On va voir deux algorithmes basés sur ce prinicipe : la méthode du gradient et la méthode de Newton Régression logistique p. 9
Introduction à l optimisation non-linéaire Illustration La direction de descente d t est celle de la décroissance du critère J localement autour de θ t. Le pas est déterminé de façon à avoir J(θ t+1 ) < J(θ t ) Régression logistique p. 10
Méthode du gradient La direction de descente est obtenue à partir du gradient du critère par d t = θ J(θ t ) Algorithme Initialiser θ 0 t = 0 Répéter Calculer la direction de descente d t = θ J(θ t ) Déterminer le pas optimal ρ t par " line search" θ t+1 = θ t + ρ t d t avec ρ t > 0 t = t + 1 Jusqu à convergence Régression logistique p. 11
Méthode du gradient Remarques Line search : recherche dichotomique du pas ρt sur un intervalle donné afin d assurer J(θ t+1 ) < J(θ t ). On peut utiliser un pas constant ρ fixé a priori Le gradient du critère est θ J(θ) = h J θ 1 J θ 2 i J θ d+1 On montre que la méthode du gradient converge au moins vers un minimum local du critère J Régression logistique p. 12
Méthode de type Newton Principe Basé sur l approximation de Taylor à l ordre du critère J autour de la solution courante θ t J(θ) J(θ t ) + θ θ t gt + 1 2 θ θ t Ht θ θ t H est la matrice Hessienne (matrice des dérivées seconde du critère) H t = 2 J(θ t ) θ θ et g t la dérivée g t = θ J(θ t ) au point courant θ t On minimise cette approximation locale du critère, ce qui donne θ J(θ) = 0 g t + H t θ θ t = 0 On en déduit alors θ = θ t Ht 1 g t La direction de descente est donc dt = Ht 1 g t. En général on adjoint la recherche du pas. Régression logistique p. 13
Méthode de type Newton Algorithme Initialiser θ 0. t = 0 Répéter Remarques Calculer le gradient g t = θ J(θ t ) Calculer la matrice hessienne H t Calculer la direction de descente d t = Ht 1 g t Déterminer le pas optimal ρ t θ t+1 = θ t + ρ t d t avec ρ t > 0 t = t + 1 Jusqu à convergence La convergence de cet algorithme est quadratique. Cette convergence est plus rapide que celle de l algorithme du gradient. Mais la méthode de Newton nécessite à chaque étape la résolution d un système linéaire pour obtenir d t La solution dt = Ht 1 g t peut être obtenue par un algorithme de type Choleski Régression logistique p. 14
Application à la régression logistique Gradient et hessien du critère P Critère : J = N z iφ i θ log(1 + expφ i θ ) Gradient g = θ J(θ) g = g = NX exp φ i θ z i φ i φ i 1 + exp φ i θ NX φ i (z i p i ) avec p i = expφ i θ 1 + exp φ i θ Matrice hessienne H = 2 J(θ) θ θ H = NX φ i φ i p i (1 p i ) On remarquera que pi dépend de θ Régression logistique p. 15
Forme matricielle Posons z = 2 6 4 z 1 z 2... 3 7 5, p = 2 6 4 p 1 p 2.. 3 7 5 RN, Φ = 2 6 4 1 x 1 1 x 2. 3 7 5 RN (d+1) z N p N 1 x N Soit la matrice diagonale W = diag[pi (1 p i )],,N avec W R N N On montre qu on a g = Φ (z p) H = Φ WΦ Régression logistique p. 16
Solution de la régression logistique Solution de la méthode de Newton θ t+1 = θ t Ht 1 g t Remarque : le gradient et le hessien au point θ t sont donnés par g t = Φ (z p t ) H t = Φ W t Φ où p t et W t sont calculés à partir de p t i = expφ i θt En combinant ces éléments, on a alors 1+exp φ i θt θ t+1 = θ t + Φ W t Φ 1 Φ (z pt ) Régression logistique p. 17
Solution de la régression logistique Réécriture de la solution θ t+1 = 1 Φ W t Φ Φ Wt r t avec r t = Φθ t + Wt 1 (z p t ) r est la sortie ajustée du modèle de régression logistique puisque Φθ t est le vecteur de sortie et z p t l erreur à l itération t On s apercoit qu en fait à chaque itération, on résoud un problème de moindres carrés pondérés. En effet θ t+1 est solution du problème suivant θ t+1 = argmin θ (r t Φθ) W t (r t Φθ) d où le nom de Iterative Least Squares donné à la méthode Régression logistique p. 18
Algorithme Entrées : les données d apprentissage {(x i, y i ),i = 1,,N} Sortie : l estimation du vecteur de paramètres ˆθ 1. A partir des données {(x i, y i ), i = 1,, N}, former la matrice Φ, le vecteur z 2. Initialisation : t = 0, θ = 0. On en déduit que p 0 i = expφ i θ0 3. Répéter 1+exp φ i θ0 = 1/2 pour i = 1,, N Former la matrice W t et le vecteur p t Former le vecteur r t = Φθ t + W 1 t (z p t ) Calculer la nouvelle estimation par moindres carrés pondérés θ t+1 = Φ W t Φ 1 Φ Wt r t t = t + 1 4. Jusqu à convergence Régression logistique p. 19
Algorithme Illustration 2 1.5 Classe 1 Classe 2 Dec frontier 0.5 0.5 0.5 0.5 1 0.5 0 0.5 1 1.5 2 3 2 1 0 1 2 Classification d un nouveau point (x l, y l ) 1. Calculer la probabilité a posteriori d appartenance à la classe C 1 p l = expφ l ˆθ 1 + exp φ l ˆθ 2. Affecter le point à C 1 si p l > 1/2 ou à C 2 autrement Régression logistique p. 20