SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Faculté des Sciences Rabat
Chapitre 4
Régression Logistique
(Classification)
1
HDIOUD Ferdaous
(f.hdioud@um5r.ac.ma)
Master IAO – Semestre 3
Année Universitaire: 2021/2022
Prof. HDIOUD Ferdaous
Objectifs du chapitre
2
• Vu auparavant, dans l’apprentissage supervisé, il y a deux types de
problèmes :
 Les regressions
 Les classifications
• Dans ce chapitre, on va découvrir la Régression Logistique qui est une
méthode qui permet de résoudre le problème de classification des données en
résultats discrets.
• Par exemple, nous pouvons utiliser la régression logistique pour classer un e-
mail comme spam ou non spam (classification binaire dont l’ensemble de
résultat est 0 ou 1).
• Nous introduisons la notion de classification, la fonction de coût pour la
régression logistique et l'application de la régression logistique à la
classification multi-classe.
• Nous présenter un des algorithmes les plus populaires et simple : Le K-
Nearest Neighbour (KNN).
Plan du Chapitre
3
I. Introduction
1. Exemples de classification
2. Résoudre un problème de classification
II. Modèle ou Hypothèse
1. Représentation
2. Interprétation
3. Frontière de décision
III. La Fonction Coût
1. Choix des paramètres
2. Représentation
3. Equation simplifiée
IV. Algorithme de Gradient Descent
V. Implémentation de Régression Logistique binaire (TP)
VI. Classification Muli-classes
VII. L’Algorithme de K-Nearest-Neignbor (K-NN)
Introduction:
4
- E-mail: spam ou non spam
- Tumeur cancéreuse: bégnine ou maligne
- Transaction en ligne: frauduleuse ou non?
Connue sous le nom de classification binaire.
Cas général:
classification multi-classes
Exemples de classification
Dans tous ces problèmes , la variable y que nous voulons prédire est une
variable à deux valeurs possibles:
Introduction:
5
Exemple (1/2):
Résolution du Pb de classification
𝜽
𝒕
Première approche:
Appliquer un algorithme déjà connu à cet ensemble de données (régression linéaire) et
essayer d’ajuster la ligne droite à ces données.
Prédiction:
Fixer un seuil de classification à 0,5:
0,5
+
-
Comment développer un algorithme de classification?!
/! La régression linéaire ne fonctionne pas toujours adéquatement pour la classification.
Introduction:
6
Exemple (2/2):
Résolution du Pb de classification
𝜽
𝒕
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
 L’application de la régression linéaire à un problème de classification ne semble pas
une bonne idée!
Introduction:
7
Résolution du Pb de classification
Question: Laquelle de ces affirmations suivantes est vraie?
Si la régression linéaire ne fonctionne pas sur un problème de classification comme
dans l'exemple précédent, la mise à l'échelle des caractéristiques (features scaling)
peut régler l’affaire.
Aucune
□
□
□

□ Si l'ensemble d'apprentissage satisfait ( ) pour chaque exemple
d'entraînement ( ) ( ) alors la prédiction de la régression linéaire satisfera
également 0 pour toutes les valeurs de x
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.
Introduction:
8
Exemple (2/2):
Résolution du Pb de classification
𝜽
𝒕
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
 L’application de la régression linéaire à un problème de classification ne semble pas
une bonne idée!
La solution est de développer un algorithme de régression logistique dont est
comprise toujours entre 0 et 1
Hypothèse:
9
Représentation
𝜽
𝒕
0 𝜽
Régression linéaire
𝜽
𝒕
)
Régression logistique
Où g est une fonction définie comme suit:
Connue sous le nom de fonction sigmoïde ou logistique
𝜽 𝜽𝒕𝑿
z
g(z)
Hypothèse:
10
Interprétation
𝜽 :Est la probabilité estimée que y égale à 1 pour x
Par exemple:
Si x = = 1
𝑡𝑎𝑖𝑙𝑙𝑒 𝑑𝑒 𝑡𝑢𝑚𝑒𝑢𝑟
et = 0.7
nous donne une probabilité de 70% que y égale à 1 ( c.à.d. la tumeur est maligne)
= P(y=1| x;
P(y=1| x; + P(y=0| x; = 1 P(y=0| x; = 1- P(y=1| x;
Donc la probabilité que la tumeur soit bégnine (y=0) est à 30%.
Hypothèse:
11
Frontière de décision
• Quand est ce que elle prédit que y vaut 0 contre y vaut 1?
• Comment la fonction 𝜽 calcule les prédictions ?
) P(y=1| x;
Supposons que:
- Prédire que y=1 quand )
- Prédire que y=0 quand )
Avec:
quand z 0
quand z 0
- y=1 quand
- y=0 quand
Hypothèse:
12
Frontière de décision
• Quand est ce que elle prédit que y vaut 0 contre y vaut 1?
• Comment la fonction 𝜽 calcule les prédictions ?
) P(y=1| x;
Supposons que:
- Prédire que y=1 quand )
- Prédire que y=0 quand )
Avec:
quand z 0
quand z 0
- y=1 quand
- y=0 quand
Hypothèse:
13
Frontière de décision
• Quand est ce que elle prédit que y vaut 0 contre y vaut 1?
• Comment la fonction 𝜽 calcule les prédictions ?
Exemple 1:
-3 1 1
Prédire que y=1 S )
-3+ +
+
Prédire que y=0 S )
+
Sur la figure: +
C’est l’équation de la ligne droite qui sépare le plan.
Hypothèse:
14
Frontière de décision
• Quand est ce que elle prédit que y vaut 0 contre y vaut 1?
• Comment la fonction 𝜽 calcule les prédictions ?
Exemple 1:
-3 1 1
Prédire que y=1 S )
-3+ +
+
Prédire que y=0 S )
+
Sur la figure: +
C’est l’équation de la ligne droite qui sépare le plan
qui est la frontière de décision.
Qui corresponds exactement 0.
y=1
Hypothèse:
15
Frontière de décision
Question: Considérons la régression logistique avec deux caractéristiques et ,
supposons que , et alors = g(5- ). Laquelle de ces
figures montre la frontière de décision de ?
□
□

□ □
Hypothèse:
16
Frontière de décision
Exemple 2: frontière non-linéaire
+
Prédictions:
• y=1 S + +
• y=0 S + +
La frontière de décision est : 𝟏
𝟐+ 𝟐
𝟐
y=1
y=0
Fonction coût:
17
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
Fonction coût:
18
Représentation
( ) ( )
Régression linéaire
donne une courbe convexe (présentant un unique
minima). D’où la convergence de l’algorithme de
Gradient Descent.
Régression logistique
- Utiliser la fonction pour le modèle
Logistique ne donnera pas de courbe convexe (dû
à la non-linéarité de la fonction )
- L’algorithme de Gradient Descent se bloquera
au premier minima rencontré, sans trouver le
minimum global.
𝜽𝒕𝑿
Fonction coût:
19
Représentation
Question: Considérons la minimisation d'une fonction de coût J (θ). Laquelle de ces
fonctions est convexe ?
□
□

□
□
Fonction coût:
20
Représentation
• Développer une nouvelle Fonction Coût spécialement pour la régression
logistique.
• On utilise alors la fonction logarithme pour transformer la fonction sigma en
fonction convexe en séparant les cas où = 1 des cas où = 0.
Fonction coût:
21
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.
Fonction coût:
22
Fonction complète et simplifiée
Si = 1:
Si = 0:
En une seule équation:
( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 )
on utilise l’astuce de séparer les cas = 0 = 1
avec une annulation :
Si = 0:
( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 )
Si = 1:
( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 )
( )=
− ( 𝛉 ) Si = 1
− ( 𝛉 ) Si = 0
Fonction coût:
23
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 :
cost( ,y) =
− ( 𝛉 ) Si = 1
− ( 𝛉 ) Si = 0
Parmi les propositions suivantes, lesquelles sont vraies ?
S = y, alors cost( ,y) = 0 (pour y=0 et y=1).
S y=0 donc cost( ,y)  alors que  .
S y=0 donc cost( ,y)  alors que  .
Indépendamment que y=0 ou y=1, si donc cost( ,y) >0.
□
□
□
□



Gradient Descent
24
Régression logistique
 Modèle de Régression logistique:
ℎ 𝑥 = 𝜽𝒕𝑿
 Fonction Coût:
( )= − Σ × ( )+( − )× ( − ) avec y {0,1}
 L’algorithme du Gradient decsent:
Répéter jusqu’à convergence {
Өj := Өj - 𝛼
Ө
J(𝜽) pour j allant de 0 à n
}
 l‘application du gradient
Répéter jusqu’à convergence {
Өj := Өj - 𝛼 ∑ ( 𝝈(𝑿.𝜽)−𝒚).𝑿 pour j allant de 0 à n
}
- Afin d’adapter les paramètres 𝜽, on procède par la minimisation de la fonction 𝑱(𝜽).
 L’utlisation de L’algorithme de Gradient Descent
- L’algorithme s’applique exactement de la même manière que pour la régression linéaire. En
plus, la dérivée de la Fonction Coût est la même aussi.
𝐺𝑟𝑎𝑑𝑖𝑒𝑛𝑡:
𝜽
J(𝜽) = Σ( 𝝈(𝑿.𝜽)−𝒚).𝑿
Gradient Descent
25
Régression logistique
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 ( ) ( ) 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.
Tracez J(θ) en fonction de θ et assurez-vous qu'il décroît à chaque itération.
Tracez J(θ) en fonction de θ et assurez-vous qu'il est convexe.
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.
□

□
□
□
Implémentation
26
Régression logistique
Voir:
• TP 1: classification binaire
• TP2 : implémentation de régression logistique
Généralisation
27
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
Comment faire fonctionner l’algorithme de régression logistique pour un problème de
classification multi-classes?
 Algorithme de classification un contre tous ( one-vs-all)
Généralisation
28
Classification multi classes
 Nous savons déjà comment adapter une ligne droite qui définit les deux classes
positive et négative.
 On peut utiliser ce principe et le faire fonctionner dans le cadre de la classification
multi-classes.
Généralisation
29
Classification multi classes
Exemple:
Transformer le problème en 3 sous-problèmes de classification binaire distincts.
(𝟏)
𝜽
(𝟐)
𝜽
(𝟑)
𝜽
Généralisation
30
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.
• Trainer un classificateur de régression logistique (𝒊)
𝜽
=P(y=i| x; ) pour chaque
classe i afin de prédire la probabilité que y=i.
• 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
K-NN Algorithme
31
Principe
• L’algorithme de Nearest Neighbour (le voisin le plus proche) permet de résoudre
des problèmes de classification à plusieurs classes de façon simple et très
efficace.
• ce modèle consiste en effet à choisir les k données les plus proches du point étudié
afin d’en prédire sa valeur.
• Un algorithme assez simple d’un point de vu conceptuel , mais peu utilisé en
pratique car coûteux en puissance de calcul.
• 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.
 Convient aux problème d’assez petite taille
K-NN Algorithme
32
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 ?
15 °C étant plus proche de 10 °C (froid) que de 30 °C (chaud), il semble légitime de
prédire que votre ami aura froid.
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.
K-NN Algorithme
33
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 !
Si on dispose que de 2 points : -20 °C = froid ; 20 °C = chaud, alors vous pourriez
conclure que 1 °C est une température chaude… Pas sûr que ça plaise à tout le monde !
On en reparlera dans le Chapitre suivant de Régularisation.
K-NN Algorithme
34
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 !
Si on dispose que de 2 points : -20 °C = froid ; 20 °C = chaud, alors vous pourriez
conclure que 1 °C est une température chaude… Pas sûr que ça plaise à tout le monde !
On en reparlera dans le Chapitre suivant de Régularisation.
K-NN Algorithme
35
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.
Dans notre cas: C’est un exemple de la classe rouge.
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.
K-NN Algorithme
36
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).
K-NN Algorithme
37
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.
Les hyper-paramètres permettent de caractériser le modèle, en terme de:
- Complexité
- Rapidité de convergence,
- etc.
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.
K-NN Algorithme
38
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).
K-NN Algorithme
39
Exemple
Vision par ordinateur avec K-NN dans Jupyter
Ce code montre un exemple de chiffre présent dans le Dataset (le
chiffre 0).
On apprend aussi que le Dataset comprend 1797 exemples, c’est-à-dire
1797 images, et que chaque exemple contient 64 features.
Chaque feature s’agit de la valeur de chacun des 64 pixels qui forment
les images.
Quand on soumet un nouveau chiffre à la machine, l’algorithme de K-
NN trouve l’exemple du Dataset qui ressemble le plus à notre chiffre,
basé sur le voisin le plus proche pour la valeur de chaque pixel.
K-NN Algorithme
40
Exemple
Vision par ordinateur avec K-NN dans Jupyter
L’étape suivante consiste à entraîner le modèle de Nearest Neighbour.
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.
En l’occurrence, on a choisi de tester la 100ième image de notre
Dataset, qui est un 4… et la machine le reconnaîtra !
Conclusion
41
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.
La fonction Logistique est une fonction importante dans l’histoire du Machine
Learning.
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.

Mais conteúdo relacionado

Mais procurados

Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
Data Analyse pas à pas avec R
Data Analyse pas à pas avec RData Analyse pas à pas avec R
Data Analyse pas à pas avec RAmar LAKEL, PhD
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisionsMariem Chaaben
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesSana Aroussi
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdfOuailChoukhairi
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentationDonia Hammami
 
5.3 Régression logistique
5.3 Régression logistique5.3 Régression logistique
5.3 Régression logistiqueBoris Guarisma
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesMohamed Heny SELMI
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureAhmed EL ATARI
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neuronesMed Zaibi
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction généraleMohamed Heny SELMI
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning Niji
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 

Mais procurados (20)

Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
Data Analyse pas à pas avec R
Data Analyse pas à pas avec RData Analyse pas à pas avec R
Data Analyse pas à pas avec R
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisions
 
Machine-learning-FR.pdf
Machine-learning-FR.pdfMachine-learning-FR.pdf
Machine-learning-FR.pdf
 
Réseaux neurons
Réseaux neuronsRéseaux neurons
Réseaux neurons
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdf
 
arbres de decision.ppt
arbres de decision.pptarbres de decision.ppt
arbres de decision.ppt
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
 
5.3 Régression logistique
5.3 Régression logistique5.3 Régression logistique
5.3 Régression logistique
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes Principales
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de Texture
 
clustering
clusteringclustering
clustering
 
Réseaux de neurones
Réseaux de neurones Réseaux de neurones
Réseaux de neurones
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neurones
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
La méthode z
La méthode zLa méthode z
La méthode z
 

Semelhante a Regression logistque

fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdfSidiAbdallah1
 
M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0guest8b8369
 
Rapport m3o brini_anouar
Rapport m3o brini_anouarRapport m3o brini_anouar
Rapport m3o brini_anouarAnwar Brini
 
analyse_discriminante.pdf
analyse_discriminante.pdfanalyse_discriminante.pdf
analyse_discriminante.pdfSidiAbdallah1
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdfMouloudi1
 
FINAL.pptx
FINAL.pptxFINAL.pptx
FINAL.pptxsara6496
 
slides statistique mathématique.pdf
slides statistique mathématique.pdfslides statistique mathématique.pdf
slides statistique mathématique.pdfFadwaZiani
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
presentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfpresentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfmouadwahidi
 
regression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfregression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfSidiAbdallah1
 
(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)mohamedchaouche
 

Semelhante a Regression logistque (20)

fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
 
Oc1 2013
Oc1 2013Oc1 2013
Oc1 2013
 
csp_sir_C1_4.pptx
csp_sir_C1_4.pptxcsp_sir_C1_4.pptx
csp_sir_C1_4.pptx
 
Comparaison
ComparaisonComparaison
Comparaison
 
Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0
 
Rapport m3o brini_anouar
Rapport m3o brini_anouarRapport m3o brini_anouar
Rapport m3o brini_anouar
 
analyse_discriminante.pdf
analyse_discriminante.pdfanalyse_discriminante.pdf
analyse_discriminante.pdf
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
FINAL.pptx
FINAL.pptxFINAL.pptx
FINAL.pptx
 
slides statistique mathématique.pdf
slides statistique mathématique.pdfslides statistique mathématique.pdf
slides statistique mathématique.pdf
 
seance-07.pdf
seance-07.pdfseance-07.pdf
seance-07.pdf
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 
transparents-Algo-correction.pdf
transparents-Algo-correction.pdftransparents-Algo-correction.pdf
transparents-Algo-correction.pdf
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
presentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfpresentation kadimi wahidi.pdf
presentation kadimi wahidi.pdf
 
regression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfregression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdf
 
(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)(Statdes regression biv_ensta_21oct2010)
(Statdes regression biv_ensta_21oct2010)
 
02systemediapo.pdf
02systemediapo.pdf02systemediapo.pdf
02systemediapo.pdf
 
246242769 sequence-1-pdf
246242769 sequence-1-pdf246242769 sequence-1-pdf
246242769 sequence-1-pdf
 

Regression logistque

  • 1. Faculté des Sciences Rabat Chapitre 4 Régression Logistique (Classification) 1 HDIOUD Ferdaous (f.hdioud@um5r.ac.ma) Master IAO – Semestre 3 Année Universitaire: 2021/2022 Prof. HDIOUD Ferdaous
  • 2. Objectifs du chapitre 2 • Vu auparavant, dans l’apprentissage supervisé, il y a deux types de problèmes :  Les regressions  Les classifications • Dans ce chapitre, on va découvrir la Régression Logistique qui est une méthode qui permet de résoudre le problème de classification des données en résultats discrets. • Par exemple, nous pouvons utiliser la régression logistique pour classer un e- mail comme spam ou non spam (classification binaire dont l’ensemble de résultat est 0 ou 1). • Nous introduisons la notion de classification, la fonction de coût pour la régression logistique et l'application de la régression logistique à la classification multi-classe. • Nous présenter un des algorithmes les plus populaires et simple : Le K- Nearest Neighbour (KNN).
  • 3. Plan du Chapitre 3 I. Introduction 1. Exemples de classification 2. Résoudre un problème de classification II. Modèle ou Hypothèse 1. Représentation 2. Interprétation 3. Frontière de décision III. La Fonction Coût 1. Choix des paramètres 2. Représentation 3. Equation simplifiée IV. Algorithme de Gradient Descent V. Implémentation de Régression Logistique binaire (TP) VI. Classification Muli-classes VII. L’Algorithme de K-Nearest-Neignbor (K-NN)
  • 4. Introduction: 4 - E-mail: spam ou non spam - Tumeur cancéreuse: bégnine ou maligne - Transaction en ligne: frauduleuse ou non? Connue sous le nom de classification binaire. Cas général: classification multi-classes Exemples de classification Dans tous ces problèmes , la variable y que nous voulons prédire est une variable à deux valeurs possibles:
  • 5. Introduction: 5 Exemple (1/2): Résolution du Pb de classification 𝜽 𝒕 Première approche: Appliquer un algorithme déjà connu à cet ensemble de données (régression linéaire) et essayer d’ajuster la ligne droite à ces données. Prédiction: Fixer un seuil de classification à 0,5: 0,5 + - Comment développer un algorithme de classification?! /! La régression linéaire ne fonctionne pas toujours adéquatement pour la classification.
  • 6. Introduction: 6 Exemple (2/2): Résolution du Pb de classification 𝜽 𝒕 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  L’application de la régression linéaire à un problème de classification ne semble pas une bonne idée!
  • 7. Introduction: 7 Résolution du Pb de classification Question: Laquelle de ces affirmations suivantes est vraie? Si la régression linéaire ne fonctionne pas sur un problème de classification comme dans l'exemple précédent, la mise à l'échelle des caractéristiques (features scaling) peut régler l’affaire. Aucune □ □ □  □ Si l'ensemble d'apprentissage satisfait ( ) pour chaque exemple d'entraînement ( ) ( ) alors la prédiction de la régression linéaire satisfera également 0 pour toutes les valeurs de x 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.
  • 8. Introduction: 8 Exemple (2/2): Résolution du Pb de classification 𝜽 𝒕 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  L’application de la régression linéaire à un problème de classification ne semble pas une bonne idée! La solution est de développer un algorithme de régression logistique dont est comprise toujours entre 0 et 1
  • 9. Hypothèse: 9 Représentation 𝜽 𝒕 0 𝜽 Régression linéaire 𝜽 𝒕 ) Régression logistique Où g est une fonction définie comme suit: Connue sous le nom de fonction sigmoïde ou logistique 𝜽 𝜽𝒕𝑿 z g(z)
  • 10. Hypothèse: 10 Interprétation 𝜽 :Est la probabilité estimée que y égale à 1 pour x Par exemple: Si x = = 1 𝑡𝑎𝑖𝑙𝑙𝑒 𝑑𝑒 𝑡𝑢𝑚𝑒𝑢𝑟 et = 0.7 nous donne une probabilité de 70% que y égale à 1 ( c.à.d. la tumeur est maligne) = P(y=1| x; P(y=1| x; + P(y=0| x; = 1 P(y=0| x; = 1- P(y=1| x; Donc la probabilité que la tumeur soit bégnine (y=0) est à 30%.
  • 11. Hypothèse: 11 Frontière de décision • Quand est ce que elle prédit que y vaut 0 contre y vaut 1? • Comment la fonction 𝜽 calcule les prédictions ? ) P(y=1| x; Supposons que: - Prédire que y=1 quand ) - Prédire que y=0 quand ) Avec: quand z 0 quand z 0 - y=1 quand - y=0 quand
  • 12. Hypothèse: 12 Frontière de décision • Quand est ce que elle prédit que y vaut 0 contre y vaut 1? • Comment la fonction 𝜽 calcule les prédictions ? ) P(y=1| x; Supposons que: - Prédire que y=1 quand ) - Prédire que y=0 quand ) Avec: quand z 0 quand z 0 - y=1 quand - y=0 quand
  • 13. Hypothèse: 13 Frontière de décision • Quand est ce que elle prédit que y vaut 0 contre y vaut 1? • Comment la fonction 𝜽 calcule les prédictions ? Exemple 1: -3 1 1 Prédire que y=1 S ) -3+ + + Prédire que y=0 S ) + Sur la figure: + C’est l’équation de la ligne droite qui sépare le plan.
  • 14. Hypothèse: 14 Frontière de décision • Quand est ce que elle prédit que y vaut 0 contre y vaut 1? • Comment la fonction 𝜽 calcule les prédictions ? Exemple 1: -3 1 1 Prédire que y=1 S ) -3+ + + Prédire que y=0 S ) + Sur la figure: + C’est l’équation de la ligne droite qui sépare le plan qui est la frontière de décision. Qui corresponds exactement 0. y=1
  • 15. Hypothèse: 15 Frontière de décision Question: Considérons la régression logistique avec deux caractéristiques et , supposons que , et alors = g(5- ). Laquelle de ces figures montre la frontière de décision de ? □ □  □ □
  • 16. Hypothèse: 16 Frontière de décision Exemple 2: frontière non-linéaire + Prédictions: • y=1 S + + • y=0 S + + La frontière de décision est : 𝟏 𝟐+ 𝟐 𝟐 y=1 y=0
  • 17. Fonction coût: 17 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
  • 18. Fonction coût: 18 Représentation ( ) ( ) Régression linéaire donne une courbe convexe (présentant un unique minima). D’où la convergence de l’algorithme de Gradient Descent. Régression logistique - Utiliser la fonction pour le modèle Logistique ne donnera pas de courbe convexe (dû à la non-linéarité de la fonction ) - L’algorithme de Gradient Descent se bloquera au premier minima rencontré, sans trouver le minimum global. 𝜽𝒕𝑿
  • 19. Fonction coût: 19 Représentation Question: Considérons la minimisation d'une fonction de coût J (θ). Laquelle de ces fonctions est convexe ? □ □  □ □
  • 20. Fonction coût: 20 Représentation • Développer une nouvelle Fonction Coût spécialement pour la régression logistique. • On utilise alors la fonction logarithme pour transformer la fonction sigma en fonction convexe en séparant les cas où = 1 des cas où = 0.
  • 21. Fonction coût: 21 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.
  • 22. Fonction coût: 22 Fonction complète et simplifiée Si = 1: Si = 0: En une seule équation: ( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 ) on utilise l’astuce de séparer les cas = 0 = 1 avec une annulation : Si = 0: ( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 ) Si = 1: ( )= − Σ × ( 𝛉 )+( − )× ( − 𝜽 ) ( )= − ( 𝛉 ) Si = 1 − ( 𝛉 ) Si = 0
  • 23. Fonction coût: 23 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 : cost( ,y) = − ( 𝛉 ) Si = 1 − ( 𝛉 ) Si = 0 Parmi les propositions suivantes, lesquelles sont vraies ? S = y, alors cost( ,y) = 0 (pour y=0 et y=1). S y=0 donc cost( ,y)  alors que  . S y=0 donc cost( ,y)  alors que  . Indépendamment que y=0 ou y=1, si donc cost( ,y) >0. □ □ □ □   
  • 24. Gradient Descent 24 Régression logistique  Modèle de Régression logistique: ℎ 𝑥 = 𝜽𝒕𝑿  Fonction Coût: ( )= − Σ × ( )+( − )× ( − ) avec y {0,1}  L’algorithme du Gradient decsent: Répéter jusqu’à convergence { Өj := Өj - 𝛼 Ө J(𝜽) pour j allant de 0 à n }  l‘application du gradient Répéter jusqu’à convergence { Өj := Өj - 𝛼 ∑ ( 𝝈(𝑿.𝜽)−𝒚).𝑿 pour j allant de 0 à n } - Afin d’adapter les paramètres 𝜽, on procède par la minimisation de la fonction 𝑱(𝜽).  L’utlisation de L’algorithme de Gradient Descent - L’algorithme s’applique exactement de la même manière que pour la régression linéaire. En plus, la dérivée de la Fonction Coût est la même aussi. 𝐺𝑟𝑎𝑑𝑖𝑒𝑛𝑡: 𝜽 J(𝜽) = Σ( 𝝈(𝑿.𝜽)−𝒚).𝑿
  • 25. Gradient Descent 25 Régression logistique 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 ( ) ( ) 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. Tracez J(θ) en fonction de θ et assurez-vous qu'il décroît à chaque itération. Tracez J(θ) en fonction de θ et assurez-vous qu'il est convexe. 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. □  □ □ □
  • 26. Implémentation 26 Régression logistique Voir: • TP 1: classification binaire • TP2 : implémentation de régression logistique
  • 27. Généralisation 27 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 Comment faire fonctionner l’algorithme de régression logistique pour un problème de classification multi-classes?  Algorithme de classification un contre tous ( one-vs-all)
  • 28. Généralisation 28 Classification multi classes  Nous savons déjà comment adapter une ligne droite qui définit les deux classes positive et négative.  On peut utiliser ce principe et le faire fonctionner dans le cadre de la classification multi-classes.
  • 29. Généralisation 29 Classification multi classes Exemple: Transformer le problème en 3 sous-problèmes de classification binaire distincts. (𝟏) 𝜽 (𝟐) 𝜽 (𝟑) 𝜽
  • 30. Généralisation 30 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. • Trainer un classificateur de régression logistique (𝒊) 𝜽 =P(y=i| x; ) pour chaque classe i afin de prédire la probabilité que y=i. • 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
  • 31. K-NN Algorithme 31 Principe • L’algorithme de Nearest Neighbour (le voisin le plus proche) permet de résoudre des problèmes de classification à plusieurs classes de façon simple et très efficace. • ce modèle consiste en effet à choisir les k données les plus proches du point étudié afin d’en prédire sa valeur. • Un algorithme assez simple d’un point de vu conceptuel , mais peu utilisé en pratique car coûteux en puissance de calcul. • 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.  Convient aux problème d’assez petite taille
  • 32. K-NN Algorithme 32 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 ? 15 °C étant plus proche de 10 °C (froid) que de 30 °C (chaud), il semble légitime de prédire que votre ami aura froid. 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.
  • 33. K-NN Algorithme 33 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 ! Si on dispose que de 2 points : -20 °C = froid ; 20 °C = chaud, alors vous pourriez conclure que 1 °C est une température chaude… Pas sûr que ça plaise à tout le monde ! On en reparlera dans le Chapitre suivant de Régularisation.
  • 34. K-NN Algorithme 34 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 ! Si on dispose que de 2 points : -20 °C = froid ; 20 °C = chaud, alors vous pourriez conclure que 1 °C est une température chaude… Pas sûr que ça plaise à tout le monde ! On en reparlera dans le Chapitre suivant de Régularisation.
  • 35. K-NN Algorithme 35 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. Dans notre cas: C’est un exemple de la classe rouge. 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.
  • 36. K-NN Algorithme 36 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).
  • 37. K-NN Algorithme 37 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. Les hyper-paramètres permettent de caractériser le modèle, en terme de: - Complexité - Rapidité de convergence, - etc. 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.
  • 38. K-NN Algorithme 38 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).
  • 39. K-NN Algorithme 39 Exemple Vision par ordinateur avec K-NN dans Jupyter Ce code montre un exemple de chiffre présent dans le Dataset (le chiffre 0). On apprend aussi que le Dataset comprend 1797 exemples, c’est-à-dire 1797 images, et que chaque exemple contient 64 features. Chaque feature s’agit de la valeur de chacun des 64 pixels qui forment les images. Quand on soumet un nouveau chiffre à la machine, l’algorithme de K- NN trouve l’exemple du Dataset qui ressemble le plus à notre chiffre, basé sur le voisin le plus proche pour la valeur de chaque pixel.
  • 40. K-NN Algorithme 40 Exemple Vision par ordinateur avec K-NN dans Jupyter L’étape suivante consiste à entraîner le modèle de Nearest Neighbour. 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. En l’occurrence, on a choisi de tester la 100ième image de notre Dataset, qui est un 4… et la machine le reconnaîtra !
  • 41. Conclusion 41 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. La fonction Logistique est une fonction importante dans l’histoire du Machine Learning. 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.