Académique Documents
Professionnel Documents
Culture Documents
classification binaire
Fadwa EL KIHAL
Fadwa EL KIHAL
Régression logistique et classification binaire Apprentissage supervisé
Problème de classification
• L’ensemble des données (le dataset) est partagé en quelques classes différentes,
• On a quelques exemplaires pour qui on sait les classes correctes.
• On veut classifier correctement les données pour qui les classes correctes sont inconnus.
Modèle de classification
Un modèle de classification est un modèle qui classe chaque instance d’un jeu de données dans une catégorie. On
distingue deux grands types de modèle de classification :
Classification multi-classe : il y a au moins trois catégories, par exemple : Classification des caractères manuscrits
Classification binaire : Type de tâche de classification qui prédit l'une des deux classes mutuellement exclusives. Par
exemple, un modèle d'apprentissage automatique qui classe les courriers électroniques en tant que «indésirable» ou
«légitime») est une classification binaire.
Régression logistique
La régression logistique est une autre technique empruntée par l'apprentissage machine dans le domaine des
statistiques. C'est la méthode de référence pour les problèmes de classification binaire (problèmes avec deux valeurs
de classe).
Dans cette partie, vous découvrirez l'algorithme de régression logistique pour le machine learning.
La régression logistique est nommée d'après la fonction utilisée au cœur de la méthode, la fonction logistique.
La fonction logistique, également appelée fonction sigmoïde 𝑺 𝜶 , a été développée par des statisticiens pour décrire
les propriétés de la croissance démographique en écologie, qui augmente rapidement et atteint son maximum à la
capacité de charge de l'environnement.
Il s'agit d'une courbe en forme de S qui peut prendre n'importe quel nombre ayant une valeur réelle et le représenter
par une valeur comprise entre 0 et 1, mais jamais exactement à ces limites.
𝑫= 𝒙 𝟏 , 𝒚𝟏 , 𝒙 𝟐 , 𝒚𝟐 , … , 𝒙 𝒏 , 𝒚𝒏 ∀ 𝒙 𝒊 , 𝒚𝒊 𝟏≤𝒊≤𝒏 , 𝒙𝒊 ∈ ℝ𝒅 , 𝒚𝒊 ∈ 𝟎, 𝟏
𝑆 ∶ ℝ ⟶ 0,1
1
𝛼 ⟶𝑆 𝛼 =
1 + 𝑒 −𝛼
Avec 𝛼 = 𝑔(𝑥) , qui est une fonction linéaire de 𝑥 :
𝑔 ∶ ℝ𝑑 ⟶ ℝ
𝑥 ⟶ 𝜃0 + 𝜃1 𝑥1 + ⋯ + 𝜃𝑑 𝑥𝑑
Le modèle
1
𝑆𝜃 𝑥 =
1 + 𝑒− 𝜃0 +𝜃1 𝑥1 +⋯+𝜃𝑑 𝑥𝑑
La prédiction
Comment trouver 𝜽 ?
En statistiques, « l’estimateur de maximum de vraisemblance » sert à calculer les paramètres d’un modèle de façon à ce que
le modèle dépendant de ces paramètres soit le plus vraisemblable possible compte tenu des observations dont on dispose.
En supposant que les individus composant 𝐷 sont indépendants, on peut définir 𝐿(𝐷; 𝜃), la vraisemblance des données 𝐷
vis-à-vis du modèle logistique paramétré par 𝜃. C'est le produit des probabilités selon ce modèle que chaque individu dans 𝐷
appartienne à la classe observée :
𝒏
𝜽∗ = 𝒂𝒓𝒈𝒎𝒂𝒙𝑳(𝑫; 𝜽)
𝜽
Pour identifier 𝜃 ∗ , la première chose à faire serait de dériver la vraisemblance par rapport à chaque composante de
𝜕 𝜕
𝜃, 𝜕𝜃 𝐿 𝐷; 𝜃 , Pour ensuite résoudre 𝜕𝜃 𝐿 𝐷; 𝜃 = 0. En effet 𝐿 𝐷; 𝜃 étant convexe en 𝜃 (ce qu’on montre en calculant
𝑗 𝑗
𝜕
les dérivées secondes), la solution de l’équation 𝜕𝜃 𝐿 𝐷; 𝜃 = 0 donne la valeur optimale du coefficient 𝜃𝑗 .
𝑗
Néanmoins, on remarque que, le logarithme étant une fonction strictement croissante, maximiser la vraisemblance est
équivalent à maximiser le logarithme de la vraisemblance, ℓ 𝐷; 𝜃 , dont l’expression est plus simple à dériver :
𝒏
𝒚𝒊 (𝟏 −
ℓ 𝑫; 𝜽 =log( 𝒑 𝟏 𝒙𝒊 𝒑 𝟏 𝒙𝒊 )𝟏−𝒚𝒊 )
𝒊=𝟏
𝒏
= 𝒚𝒊 log 𝒑 𝟏 𝒙𝒊 + (𝟏 − 𝒚𝒊 )log(𝟏 − 𝒑 𝟏 𝒙𝒊 )
𝒊=𝟏
Il s'agit donc désormais de déterminer le vecteur de paramètres 𝜃 ∗ maximisant la log-vraisemblance des données 𝐷 :
𝜽∗ = 𝒂𝒓𝒈𝒎𝒂𝒙 ℓ 𝑫; 𝜽 = 𝒂𝒓𝒈𝒎𝒂𝒙(𝑳 𝑫; 𝜽 )
𝜃 𝜃
Nous pouvons convenir d'une notation légèrement différente, afin d'améliorer la lisibilité des formules. Nous considérerons
que chaque vecteur 𝑥 a une composante supplémentaire, 𝑥0 , toujours égale à 1. Ainsi nous pouvons réécrire 𝑃, de telle
sorte que le paramètre de la fonction sigmoïde soit le produit scalaire des vecteurs 𝜃 ∈ ℝ𝑑+1 et 𝑥 ∈ ℝ𝑑+1 :
𝜃0 1 𝑑
𝜃 𝑥
𝜃= 1 ∈ ℝ𝑑+1 𝑥= 1 ∈ ℝ𝑑+1 𝜃𝑇 𝑥 = 𝜃𝑖 𝑥𝑖
⋮ ⋮
𝑖=0
𝜃𝑑 𝑥𝑑
1 1 1
𝑃 𝑌=1𝑋=𝑥 = = 𝑑 = 𝑇 = 𝑆𝜃 𝑥
1 + 𝑒 − 𝜃0+𝜃1𝑥1 +⋯+𝜃𝑑 𝑥𝑑 1+ 𝑒 − 𝑖=0 𝜃𝑖𝑥𝑖 1 + 𝑒 −𝜃 𝑥
On cherche les paramètres qui maximisent le logarithme de la vraisemblance ℓ 𝑫; 𝜽 , donc qui minimisent −ℓ 𝑫; 𝜽
Le coût
Coût 𝑆𝜃 𝑥 , 𝑦 = −𝑦log 𝑆𝜃 (𝑥) − (1 − 𝑦)log(1 − 𝑆𝜃 (𝑥))
La fonction coût
On a 𝑛 exemplaires d’entrainement 𝑥1 , … , 𝑥𝑛 , 𝑦𝑖 est la classe de 𝑥𝑖 , 𝑖 = 1, … , 𝑛
Le minimum de la fonction coût 𝐽(𝜃) est le point qui maximise la vraisemblance de notre modèle.
𝜽∗ = 𝒎𝒊𝒏𝑱(𝜽)
𝜽
𝜕
Nous allons donc devoir exprimer 𝜕𝜃 ℓ 𝐷; 𝜃 :
𝑗
𝑛
𝜕 𝜕
ℓ 𝐷; 𝜃 = 𝑦𝑖 log 𝑝 1 𝑥𝑖 + (1 − 𝑦𝑖 )log(1 − 𝑝 1 𝑥𝑖 )
𝜕𝜃𝑗 𝜕𝜃𝑗
𝑖=1
𝑛
𝜕
= 𝑦𝑖 log 𝑆𝜃 (𝑥𝑖 ) + (1 − 𝑦𝑖 )log(1 − 𝑆𝜃 (𝑥𝑖 ))
𝜕𝜃𝑗
𝑖=1
𝑛
𝜕 𝜕
= 𝑦𝑖 log 𝑆𝜃 (𝑥𝑖 ) + (1 − 𝑦𝑖 ) log(1 − 𝑆𝜃 (𝑥𝑖 ))
𝜕𝜃𝑗 𝜕𝜃𝑗
𝑖=1
𝜕 𝜕 1
log 𝑆𝜃 (𝑥𝑖 ) = log( )
𝜕𝜃𝑗 𝜕𝜃𝑗 1 + 𝑒 −𝜃𝑥𝑖
𝜕
= log(1) − log(1 + 𝑒 −𝜃𝑥𝑖 )
𝜕𝜃𝑗
𝜕
= − log(1 + 𝑒 −𝜃𝑥𝑖 )
𝜕𝜃𝑗
−𝑥𝑖𝑗 𝑒 −𝜃𝑥𝑖
=−
1 + 𝑒 −𝜃𝑥𝑖
1
= 𝑥𝑖𝑗 (1 − )
1 + 𝑒 −𝜃𝑥𝑖
= 𝑥𝑖𝑗 (1 − 𝑆𝜃 (𝑥𝑖 ))
𝜕
Calculons maintenant 𝜕𝜃 log 1 − 𝑆𝜃 (𝑥𝑖 ) :
𝑗
𝜕 𝜕 1
log 1 − 𝑆(𝜃𝑥𝑖 ) = log(1 − )
𝜕𝜃𝑗 𝜕𝜃𝑗 1 + 𝑒 −𝜃𝑥𝑖
𝜕 𝑒 −𝜃𝑥𝑖
= log( )
𝜕𝜃𝑗 1 + 𝑒 −𝜃𝑥𝑖
𝜕
= log(𝑒 −𝜃𝑥𝑖 ) − log(1 + 𝑒 −𝜃𝑥𝑖 )
𝜕𝜃𝑗
𝜕
= − 𝜃𝑥𝑖 − log(1 + 𝑒 −𝜃𝑥𝑖 )
𝜕𝜃𝑗
= −𝑥𝑖𝑗 𝑆𝜃 (𝑥𝑖 )
𝜕
En introduisant cela dans 𝜕𝜃 ℓ 𝐷; 𝜃 on obtient :
𝑗
𝑛
𝜕 𝜕 𝜕
ℓ 𝐷; 𝜃 = 𝑦𝑖 log 𝑆𝜃 (𝑥𝑖 ) + (1 − 𝑦𝑖 ) log(1 − 𝑆𝜃 (𝑥𝑖 ))
𝜕𝜃𝑗 𝜕𝜃𝑗 𝜕𝜃𝑗
𝑖=1
L’algorithme
Entrainement
Utiliser le dataset d’entrainement 𝑫 = 𝒙𝟏 , 𝒚𝟏 , 𝒙𝟐 , 𝒚𝟐 , … , 𝒙𝒏 , 𝒚𝒏 , pour trouver le vecteur 𝜃 optimal :
𝜃 ∗ = 𝑚𝑖𝑛𝐽(𝜃)
𝜃
1 𝑛
Où 𝐽 𝜃 = − 𝑛 𝑖=1[𝑦𝑖 log 𝑆𝜃 (𝑥𝑖 ) + (1 − 𝑦𝑖 )log(1 − 𝑆𝜃 (𝑥𝑖 ))]