Académique Documents
Professionnel Documents
Culture Documents
Chapitre 4
Régression Logistique
(Classification)
HDIOUD Ferdaous
(f.hdioud@um5r.ac.ma)
Dans tous ces problèmes , la variable y que nous voulons prédire est une
variable à deux valeurs possibles:
Cas général:
classification multi-classes
4
Introduction: Résolution du Pb de classification
Exemple (1/2):
0,5 𝒕
𝜽
- +
Prédiction:
Fixer un seuil de classification à 0,5:
𝒕
𝜽
0,5 Fausse hypothèse
+
-
En addition…
Pour un problème de classification : y= 0 ou y = 1
par contre peut générer des valeurs largement > 1 ou < 0
6
Introduction: Résolution du Pb de classification
□ s'il existe une caractéristique x qui prédit parfaitement y, c'est-à-dire si y=1 quand x≥
c et y=0 quand x <c (pour une constante c), alors la régression linéaire obtiendra zéro
erreur de classification.
□
Aucune
7
Introduction: Résolution du Pb de classification
Exemple (2/2):
𝒕
𝜽
0,5 Fausse hypothèse
+
-
En addition…
Pour un problème de classification : y= 0 ou y = 1
par contre peut générer des valeurs largement > 1 ou < 0
0 𝜽
Régression linéaire
g(z)
𝒕
𝜽
Régression logistique z
𝜽
𝒕
)
9
Hypothèse: Interprétation
Par exemple:
1
Si x = = et = 0.7
𝑡𝑎𝑖𝑙𝑙𝑒 𝑑𝑒 𝑡𝑢𝑚𝑒𝑢𝑟
nous donne une probabilité de 70% que y égale à 1 ( c.à.d. la tumeur est maligne)
= P(y=1| x;
10
Hypothèse: Frontière de décision
) P(y=1| x;
- y=1 quand
- y=0 quand
11
Hypothèse: Frontière de décision
) P(y=1| x;
- y=1 quand
- y=0 quand
12
Hypothèse: Frontière de décision
Exemple 1:
-3 1 1
13
Hypothèse: Frontière de décision
Exemple 1:
y=1
-3 1 1
14
Hypothèse: Frontière de décision
□
□
□ □
15
Hypothèse: Frontière de décision
Exemple 2: frontière non-linéaire
y=1
y=0
+
Prédictions:
• y=1 S + +
• y=0 S + +
16
Fonction coût: Choix des paramètres
Un problème d’apprentissage supervisé pour la régression logistique est défini par ce qui suit:
( ) ( ) ( ) ( )
• Données d’entrainement: { ,… }
• m exemples x dans =1 , y
• 𝜽 𝜽𝒕 𝑿
Étant donné cet ensemble de données, comment les paramètres sont-t-ils adaptés?!
Définir l’objectif d’optimisation (la fonction coût) que nous utiliserons pour adapter
les paramètres
17
Fonction coût: Représentation
Régression linéaire
() ()
Régression logistique
𝜽𝒕 𝑿
□ □
□ □
19
Fonction coût: Représentation
20
Fonction coût: Représentation
Si = 1: ( )=− ( 𝛉 )
Explications :
• Si notre modèle prédit = 0 alors que = 1, on doit
pénaliser la machine par une grande erreur (un grand
coût qui tends à ).
• La fonction logarithme permet de tracer cette courbe avec
une propriété convexe, ce qui poussera le Gradient
Descent à trouver les paramètres pour un coût qui tend
vers 0 (meilleure prédiction de ).
Si = 0: ( )= − ( 𝛉 )
Explications :
• Si notre modèle prédit = 1 alors que = 0,
on doit pénaliser la machine par une grande erreur
(un grand coût qui tends à ).
• Cette fois − ( − ) donne la même courbe,
inversée sur l’axe vertical.
21
Fonction coût: Fonction complète et simplifiée
Si = 1:
− ( 𝛉 ) Si =1
( )=
− ( 𝛉 ) Si =0
Si = 0:
( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 )
Si = 1:
( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 )
22
Fonction coût: Fonction complète et simplifiée
Question Dans la régression logistique, la fonction de coût pour notre hypothèse qui
prédisant) (x) sur un exemple d'apprentissage qui a y {0,1} est :
− ( 𝛉 ) Si =1
cost( ,y) =
− ( 𝛉 ) Si =0
□
Indépendamment que y=0 ou y=1, si donc cost( ,y) >0.
23
Gradient Descent Régression logistique
- Afin d’adapter les paramètres 𝜽, on procède par la minimisation de la fonction 𝑱(𝜽).
L’utlisation de L’algorithme de Gradient Descent
Fonction Coût:
( )= − Σ × ( )+( − )× ( − ) avec y {0,1}
l‘application du gradient
Question: Supposons que vous exécutiez une descente de gradient pour ajuster un
modèle de régression logistique avec le paramètre θ . Lequel des énoncés
suivants est un moyen raisonnable de s'assurer que le taux d'apprentissage α est
correctement défini et que la descente de gradient se déroule correctement?
□
Tracez J(θ) =− × ( )+( − )× ( − ) en fonction du
nombre d'itérations (c'est-à-dire que l'axe horizontal est le nombre d'itérations) et
assurez-vous que J (θ) diminue à chaque itération.
25
Implémentation Régression logistique
Voir:
• TP 1: classification binaire
• TP2 : implémentation de régression logistique
26
Généralisation Classification multi classes
• La classification multi classes des données est lorsqu’on a plus de deux catégories.
• Au lieu de y = {0,1}, nous allons étendre notre définition de sorte que y = {0,1...n}.
Exemples:
- Classement et étiquetage des emails: travail, amis, famille, divers
- Météo: ensoleillé, nuageux, pluvieux, neigeux
- Schéma médical: pas malade, grippe, rhume
27
Généralisation Classification multi classes
Nous savons déjà comment adapter une ligne droite qui définit les deux classes
positive et négative.
28
Généralisation Classification multi classes
Exemple:
Transformer le problème en 3 sous-problèmes de classification binaire distincts.
(𝟏)
𝜽
(𝟐)
𝜽
(𝟑)
𝜽
29
Généralisation Classification multi classes
Principe:
• Puisque y = {0,1...n}, nous divisons notre problème en n+1 problèmes de
classification binaire
• Dans chacun, nous prédisons la probabilité que 'y' soit membre de l'une de nos classes.
• Nous choisissons essentiellement une classe, puis nous regroupons toutes les autres
dans une seule seconde classe. Nous faisons cela à plusieurs reprises, en appliquant
une régression logistique binaire à chaque cas, puis en utilisant l'hypothèse qui a
renvoyé la valeur la plus élevée comme prédiction.
• Pour faire une prédiction pour une nouvelle entrée x, il faut exécuter tous les
classificateurs sur x et et puis on choisi la classe i qui maximise la probabilité:
(𝒊)
i 𝜽
30
K-NN Algorithme Principe
• ce modèle consiste en effet à choisir les k données les plus proches du point étudié
afin d’en prédire sa valeur.
• K-NN est un type spécial d’algorithme qui est "non paramétrique" et il se base
uniquement sur les données d’entraînement (Training Set) qui doivent être
conservé en mémoire, appelé memory-based.
31
K-NN Algorithme Principe
Exemple:
Vous partez vous promener en montagne avec un ami. Avant de partir, il fait 30 °C et
votre ami vous dit qu’il a chaud. Arrivé en montagne, il fait désormais 10 °C et votre
ami vous dit qu’il a froid.
En redescendant la vallée, il fait maintenant 15 °C, pensez-vous que votre ami aura
froid ou bien chaud ?
Principe: Quand une nouvelle prédiction doit être faite, on cherche dans le Dataset
l’exemple le plus proche par rapport aux conditions ou caractéristiques qu’on a.
32
K-NN Algorithme Principe
NB:
L’exemple précédant montre au passage que la variété et la quantité de données dans
votre Dataset est primordiale !
33
K-NN Algorithme Principe
NB:
L’exemple précédant montre au passage que la variété et la quantité de données dans
votre Dataset est primordiale !
34
K-NN Algorithme Principe
La distance la plus courte
Quel est le l’exemple le plus proche du point vert ?
L’algorithme de Nearest Neighbour calcule ainsi la distance entre le point vert et les autres points du
Dataset et associe le point vert à la classe dont l’exemple est le plus proche en terme de distance.
Typiquement, la distance euclidienne est utilisée (la droite direct entre deux points) mais d’autres
métriques sont parfois plus utiles, comme la distance de Manhattan , jaccard ou bien la distance
cosinus.
35
K-NN Algorithme Principe
Le nombre de voisins K:
Il s’agit de choisir le bon nombre de voisins K, en fonction de l’erreur de généralisation du
modèle.
Pour limiter les problèmes liés au bruit (ce qu’on appelle Over fitting, et que nous verrons
dans le chapitre suivant) on peut demander à l’algorithme de trouver les K voisins les plus
proches du point vert.
Cela améliore la qualité du modèle car il devient moins sensible aux impuretés et cas
particuliers qui viendraient empêcher la bonne généralisation (Chapitre suivant).
36
K-NN Algorithme Principe
NB:
K n'est pas un paramètre mais un hyper-paramètre, c-à-d il ne va pas être appris
automatiquement par l'algorithme à partir des données d'entraînement.
Ce ne sont pas les données d'apprentissage qui vont permettre de trouver ces, mais bien
à nous de l'optimiser à l'aide du jeu de données test.
37
K-NN Algorithme Exemple
Vision par ordinateur avec K-NN dans Jupyter
Le but est de développer un programme capable de reconnaitre un chiffre écrit à la
main compris 0 et 9.
Les données à partir desquelles la machine saura reconnaitre dans quelques minutes,
sont présenté sous forme des chiffres comme suit:
Ces données sont importés depuis Sklearn (la librairie contient des Datasets de base).
38
K-NN Algorithme Exemple
Vision par ordinateur avec K-NN dans Jupyter
En exécutant le code, on obtenir un score de 99%, ce qui signifie que votre modèle reconnaitra
le bon chiffre 99% du temps:
Pour finir, testons une image au hasard et voyons si la machine arrive à identifier de quel chiffre il
s’agit.
40
Conclusion
Dans ce chapitre:
on a appris deux algorithmes très populaires pour les problèmes de
Classification:
1. La Régression Logistique avec Gradient Descent
2. Le K-Nearest Neighbour.
C’est elle que l’on trouve au cœur des neurones des fameux Réseaux de
Neurones, qui feront l’objet du chapitre 6.
41