La régression logistique est un algorithme de machine learning supervisé en science des données. Il s’agit d’un algorithme de classification qui prédit un résultat discret ou catégoriel. Par exemple, nous pouvons utiliser un modèle de classification pour déterminer si un prêt est approuvé ou non en fonction de prédicteurs tels que le montant de l’épargne, le revenu et le score de solvabilité.
Dans cet article, nous nous penchons sur les mathématiques qui sous-tendent la régression, l’un des algorithmes de classification les plus utilisés dans le machine learning et l’intelligence artificielle (IA). Nous détaillerons également l’analyse de régression, les cas d’utilisation et les différents types de régression logistique. À l’ère de l’IA générative, les fondations sur lesquelles repose la régression jouent encore un rôle essentiel dans l’orchestration des modèles de réseaux de neurones complexes. La régression logistique reste également très pertinente pour réaliser des tests statistiques dans le contexte de la recherche en sciences comportementales et sociales, et dans le domaine de la science des données en général. Nous pouvons facilement mettre en œuvre la régression logistique en utilisant le module scikit-learn dans Python.
Dans cette fiche explicative, nous vous présentons la différence entre la régression linéaire et la régression logistique, les fondements mathématiques, les différents types de régressions logistiques et les cas d’utilisation associés.
La régression logistique, tout comme la régression linéaire, est un type de modèle linéaire qui examine la relation entre les variables prédictives (variables indépendantes) et une variable de sortie (la réponse, la cible ou la variable dépendante). La principale différence est le fait que la régression linéaire est utilisée lorsque la sortie est une valeur continue (par exemple, pour prédire le score de solvabilité d’une personne). La régression logistique est utilisée lorsque le résultat est catégoriel (par exemple, si un prêt est approuvé ou non).
Dans la régression logistique, le modèle prédit la probabilité qu’un résultat se produise. Par exemple, compte tenu du profil financier d’une personne, nous pouvons prédire la probabilité que son prêt soit approuvé. La sortie du modèle est une valeur comprise entre 0 et 1. En fonction d’un seuil, (souvent de 0,5), nous classons le résultat comme « approuvé » ou « non approuvé ». Au lieu de tracer une ligne droite à travers les données comme nous le ferions dans la régression linéaire, la régression logistique ajuste la courbe en forme de S pour mapper les valeurs d’entrée à une probabilité.
La régression linéaire et la régression logistique utilisent des tests statistiques pour évaluer les variables de prédicteur qui ont un impact significatif sur la sortie. Des techniques telles que le test t et l’analyse de variance (ANOVA) (ou les tests de rapport de vraisemblance pour la régression logistique) génèrent des valeurs p pour chaque coefficient, ce qui nous aide à déterminer si la relation est statistiquement significative. Une valeur p faible (généralement inférieure à 0,05) suggère que la variable contribue de manière significative au modèle. Nous évaluons également la qualité de l’ajustement, c’est-à-dire la capacité du modèle à expliquer les résultats observés, à l’aide de différents indicateurs en fonction du type de régression.
Lorsque nous construisons des modèles, il est important de se prémunir contre le surapprentissage, qui consiste pour le modèle à capter le bruit dans les données d’entraînement et à donner des résultats médiocres sur les nouvelles données. Ce risque augmente lorsque nous avons de nombreuses variables de prédicteur, mais un échantillon de petite taille. Pour résoudre ce problème, nous pouvons appliquer la régularisation, une technique qui réduit l’influence des variables moins importantes en diminuant leurs coefficients. Une attention particulière doit également être accordée aux données aberrantes, car elles peuvent fausser le modèle et conduire à des valeurs p ou à des coefficients erronés. En pratique, nous améliorons les modèles grâce à plusieurs itérations de sélection de caractéristiques, de test et d’affinement.
Pour comparer les deux modèles plus concrètement, penchons-nous sur un scénario de régression linéaire dans lequel nous voulons prédire le score de solvabilité d’une personne en fonction de caractéristiques telles que son épargne actuelle. Nous pouvons modéliser cela comme suit :
Comme la régression linéaire, la régression logistique est un type de modèle linéaire qui appartient à la famille des modèles linéaires généralisés (GLM). Comme dans l’exemple précédent, si nous voulons représenter la probabilité d’approbation ou de non-approbation, nous appliquons la fonction linéaire.
Comme la fonction linéaire suppose une relation linéaire, lorsque les valeurs de X changent, Y peut prendre une valeur de (-inf, inf). Les probabilités, comme nous le savons, sont limitées à [0,1]. En utilisant ce principe de modèle linéaire, nous ne pourrons pas modéliser directement les probabilités pour obtenir un résultat binaire. Nous avons plutôt besoin d’un modèle logistique pour comprendre les probabilités. Par conséquent, nous allons appliquer une transformation à l’entrée afin que le résultat puisse être limité. Cette transformation est connue sous le nom d’équation de régression logistique. Cette équation peut sembler complexe, mais nous allons la décomposer étape par étape dans la section suivante.
La transformation sigmoïde nous permet de faire une prédiction binaire pour le cas d’utilisation précédent. Après avoir appliqué la transformation, la valeur de X peut prendre (-inf, inf) et y sera limité à [0,1]
Pour comprendre la fonction de régression logistique (ou la fonction sigmoïde), nous avons besoin d’une base solide pour les concepts suivants :
Le logarithme du rapport des probabilités est appelé « fonction logit » et constitue la base de la régression logistique.
Comme nous ne pouvons pas modéliser les probabilités directement à l’aide d’une fonction linéaire (car les probabilités sont contraintes entre 0 et 1), nous travaillons plutôt avec des cotes. Si la probabilité et les cotes représentent la vraisemblance d’un résultat, leurs définitions respectives diffèrent :
La probabilité mesure les chances qu’un événement se produise parmi tous les résultats possibles.
Les cotes comparent la probabilité qu’un événement se produise à la probabilité qu’il ne se produise pas.
Soit p(x) la probabilité d’un résultat. Ensuite, les cotes de x sont définies comme suit :
Prenons un exemple concret :
Supposons qu’un panier contienne 3 pommes et 5 oranges.
- La probabilité de choisir une orange est de 5/(3+5) = 0,625
- Les chances, ou cotes, de choisir une orange sont de 5/3 ≈ 1,667
Cela signifie qu’il est ≈1,667 fois plus probable de choisir une orange qu’une pomme. Inversement, les chances de choisir une pomme sont de 3/5 = 0,6, soit moins de 1, ce qui indique que le résultat (choisir une pomme) est peu probable. En suivant l’équation des cotes, nous pouvons également considérer les cotes comme la probabilité qu’un résultat se produise sur 1 - la probabilité que le résultat se produise. Par conséquent, les chances de choisir une orange sont = P(oranges)/(1-P(oranges))=0,625/(1-0,625)≈1,667
Les probabilités peuvent aller de 0 à l’infini. Une valeur de rapport des cotes supérieure à 1 indique un résultat favorable, inférieure à 1 indique un résultat défavorable, et une valeur égale à 1 signifie que l’événement a autant de chances de se produire que de ne pas se produire.
Cependant, les cotes ne sont pas symétriques autour de 1. Par exemple, les cotes de 2 et 0,5 représentent « deux fois plus probable » et « deux fois moins probable », mais elles se trouvent sur des échelles numériques très différentes. Pour corriger ce déséquilibre, nous utilisons le logarithme des cotes, qui transforme l’échelle infinie [0, ∞) en droite réelle (-∞, ∞). C’est ce que l’on appelle cotes logarithmiques, ou logit, à savoir la base du modèle de régression logistique.
Nous définissons les cotes logarithmiques comme suit :
Cette transformation nous permet d’exprimer les cotes logarithmiques comme une fonction linéaire de l’entrée :
Nous pouvons ensuite appliquer la fonction exponentielle des deux côtés pour revenir aux cotes :
Résoudre nous obtenons la fonction sigmoïde, ce qui permet de garantir que la valeur prédite reste comprise entre 0 et 1 :
Cette transformation permet à la régression logistique de produire des probabilités valides, même si nous les modélisons à l’aide d’une fonction linéaire.
Enfin, introduisons le rapport des cotes, une notion qui permet d’interpréter l’effet des coefficients du modèle. Le rapport des cotes nous indique comment les cotes changent lorsque la variable d’entrée x1 augmente d’une unité.
Supposons que les chances que l’événement se produise soient les suivantes :
Si nous augmentons x1 d’une unité, les cotes deviennent :
Cela signifie que pour chaque augmentation d’une unité de x1, les cotes sont multipliées par eb1 . Ce multiplicateur est le rapport des cotes.
- Si b1>1, les cotes augmentent (l’événement devient plus probable)
- Si b1<1, les cotes diminuent (l’événement devient moins probable)
- Si b1=1, le rapport des cotes est 0, ce qui signifie que l’entrée n’a pas d’effet sur les cotes.
Le rapport des cotes rend la régression logistique interprétable : il vous indique comment les cotes d’un événement changent en fonction des entrées, ce qui est utile dans de nombreux domaines d’application tels que la santé, le marketing et la finance. Cependant, nous ne pouvons pas interpréter les coefficients de la même manière que nous interprétons ceux de la régression linéaire. Dans la section suivante, nous découvrirons la manière dont les coefficients sont déterminés et interprétés.
Rappel : dans la régression linéaire, les coefficients sont simples à interpréter. Prenons l’exemple d’une régression linéaire avec des variables continues : si la caractéristique de l’entrée x augmente d’une unité, le résultat prédit y augmente de b1-unité. Cette relation directe fonctionne parce que la régression linéaire suppose un taux de changement constant entre les caractéristique de l’entrée et la cible. Sa sortie est illimitée et croît linéairement.
Cependant, la régression logistique ne modélise pas directement y ; elle modélise la probabilité de y par l’intermédiaire des cotes logarithmiques (le logarithme des cotes). Pour cette raison, nous ne pouvons pas affirmer qu’augmenter x d’une unité entraînera une variation constante d'une unité dans y. Nous interprétons le coefficient en termes d’effet sur les cotes logarithmiques et par extension, sur les cotes et la probabilité du résultat.
Plus précisément, dans la régression logistique :
Il est important de noter que l’ampleur du coefficient reflète l’importance de cette influence et que le rapport de cotes (qui est l’exponentielle du coefficient) nous indique dans quelle mesure les cotes changent si la variable augmente d’une unité.
Comme pour les autres algorithmes de machine learning, nous pouvons incorporer des variables catégorielles pour faire des prédictions pour la régression logistique. Lorsque nous travaillons avec des variables catégorielles ou discrètes, nous utilisons souvent des techniques d’ingénierie des caractéristiques telles que l’encodage one-hot ou les variables factices pour les convertir vers un format binaire que le modèle pourra utiliser.
Par exemple, en utilisant le même concept que précédemment, supposons que nous voulions prédire si une personne se verra accorder un prêt ( pour approuvé, pour non approuvé) en fonction de l’existence ou non d’une dette en cours :
– signifie qu’ils n’ont aucune dette en cours
– signifie qu’ils ont une dette en cours
Notre logarithme de cote de serait
Le coefficient représente alors la modification du logarithme de cote d’approbation lorsque la personne a une dette existante, par rapport à une personne qui n’en a pas.
Pour rendre cela plus compréhensible, nous pouvons exponentier b1 pour obtenir le coefficient de cote :
Ainsi, bien que nous perdions l’interprétation simple des coefficients de la régression linéaire, la régression logistique continue de fournir des informations précieuses et interprétables, en particulier lorsque nous les traduisons en termes de chances et de variations de probabilité. L’ampleur de l’augmentation ou de la diminution de la probabilité en fonction de ne correspond pas à une unité d’augmentation pour , mais dépend de l’emplacement de à un moment donné.
Les coefficients en régression logistique, et , sont estimées en utilisant l’estimateur du maximum de vraisemblance (MLE). L’idée centrale du MLE est de trouver les paramètres qui rendent les données observées les plus « probables » dans le cadre du modèle de régression logistique.
Dans la régression logistique, nous modélisons la probabilité que la variable cible est 1 (par exemple, « approuvé ») étant donné une entrée en utilisant la fonction logistique (sigmoïde) :
Le MLE essaie différentes combinaisons de et et, pour chaque combinaison, pose la question suivante : « Quelle est la probabilité de voir les résultats réels dans nos données, compte tenu de ces paramètres ?
Pour ce faire, on utilise la fonction de vraisemblance, qui multiplie les probabilités prédites pour chaque point de données :
-Si =1 (« approuvé »), nous voulons que la probabilité prédite du modèle soit aussi proche que 1. Le terme résout ce problème. Si les données réelles observées sur y1 correspondent effectivement à « approuvé » ou 1, le terme sera 1.
-Si = 0, nous voulons que la probabilité prédite soit proche de 0. Le terme gère ce cas. Si les données réelles observées sur est « non approuvé », ou 0, la valeur sera sera proche de 0, alors sera proche de 1.
Ainsi, pour chaque point de données, nous multiplions soit OU , selon que l’étiquette réelle est 1 ou 0. Le produit sur tous les exemples nous donne une valeur unique : la vraisemblance de voir l’ensemble du jeu de données dans le modèle actuel. Comme nous le constatons, si les résultats prédits (à l’aide des paramètres et ) sont conformes aux données observées, la valeur de la vraisemblance sera maximisée. La raison pour laquelle nous multiplions toutes les probabilités est que nous supposons que les résultats sont indépendants les uns des autres. En d’autres termes, les chances d’approbation d’une personne ne doivent pas influencer celles d’une autre.
Comme ce produit peut devenir extrêmement petit, nous travaillons généralement avec le log-vraisemblance, qui transforme le produit en somme et qui est plus facile à calculer et à optimiser.
Pour trouver les valeurs de et qui maximisent le log-vraisemblance, nous utilisons la descente de gradient, un algorithme d’optimisation itératif. À chaque étape, nous calculons comment le log-vraisemblance change par rapport à chaque paramètre (par exemple, son gradient), puis nous modifions légèrement les paramètres dans la direction qui augmente la vraisemblance. Au fil du temps, ce processus converge vers les valeurs de et qui correspondent le mieux aux données.
Il existe trois types de modèles de régression logistique, qui sont définis en fonction de la réponse nominale.
La régression logistique est couramment utilisée pour résoudre les problèmes en matière de prédiction et de classification. Voici quelques exemples :
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.