Comparaison de la régression linéaire et logistique

Discussion on an entry level data science interview question

Les entretiens en science des données varient dans leur profondeur. Certains entretiens vont très loin et testent les candidats sur leurs connaissances de modèles avancés ou de réglages délicats. Mais de nombreux entretiens sont menés au niveau d'entrée, essayant de tester les connaissances de base du candidat. Dans cet article, nous verrons une question qui peut être discutée dans une telle interview. Même si la question est très simple, la discussion soulève de nombreux aspects intéressants des fondamentaux de l'apprentissage automatique.

Question : Quelle est la différence entre la régression linéaire et la régression logistique ?

Il existe en fait de nombreuses similitudes entre les deux, à commencer par le fait que leurs noms se ressemblent beaucoup. Ils utilisent tous les deux des lignes comme fonctions de modèle. Leurs graphiques se ressemblent également beaucoup.

Image par auteur

Mais malgré ces similitudes, ils sont très différents dans la méthode ainsi que dans l'application. Nous allons souligner ces différences maintenant. À titre de comparaison, nous utiliserons les points suivants qui sont généralement pris en compte lors de l'examen de tout modèle d'apprentissage automatique :

  • Hypothèse ou famille modèle
  • Entrée et sortie
  • Fonction de perte
  • Technique d'optimisation
  • Application

Nous allons maintenant comparer la Régression Linéaire (LinReg) et la Régression Logistique (LogReg) sur chacun de ces points. Commençons par l'application, pour mettre la discussion sur la bonne voie.

Image by Rajashree Rajadhyax

La régression linéaire est utilisée pour estimer une quantité basée sur d'autres quantités. Par exemple, imaginez qu'en tant qu'étudiant, vous teniez un stand de limonade pendant les vacances d'été. Vous voulez savoir combien de verres de limonade seront vendus demain, afin de pouvoir acheter suffisamment de citrons et de sucre. De votre longue expérience dans la vente de limonade, vous avez compris que la vente a une relation étroite avec la température maximale de la journée. Vous souhaitez donc utiliser la température maximale prévue pour prédire la vente de limonade. Il s'agit d'une application LinReg classique, généralement appelée prédiction dans la littérature ML.

LinReg est également utilisé pour savoir comment une entrée particulière affecte la sortie. Dans l'exemple du stand de limonade, supposons que vous ayez deux entrées : la température maximale et si le jour est un jour férié. Vous voulez savoir ce qui affecte le plus la vente - température maximale ou vacances. LinReg sera utile pour identifier cela.

LogReg est principalement utilisé pour la classification. La classification est l'acte de catégoriser l'intrant dans l'un des nombreux paniers possibles. La classification est si essentielle à l'intelligence humaine qu'il ne serait pas faux de dire que "la majeure partie de l'intelligence est la classification". Un bon exemple de classification est le diagnostic clinique. Pensez au médecin de famille âgé et fiable. Une dame entre et se plaint de toux incessante. Le médecin procède à divers examens pour décider entre de nombreuses conditions possibles. Certaines conditions possibles sont relativement inoffensives, comme une infection de la gorge. Mais certains sont graves, comme la tuberculose ou même le cancer du poumon. Sur la base de divers facteurs, le médecin décide de ce dont elle souffre et commence un traitement approprié. C'est la classification au travail.

Nous devons garder à l'esprit que l'estimation et la classification sont des tâches de devinettes plutôt que des calculs. Il n'y a pas de réponse exacte ou correcte dans ce type de tâches. Les tâches de devinettes sont ce que les systèmes d'apprentissage automatique sont bons.

Les systèmes ML résolvent les problèmes de devinettes en détectant des modèles. Ils détectent un modèle à partir des données données, puis l'utilisent pour effectuer la tâche telle que l'estimation ou la classification. Un modèle important que l'on trouve dans les phénomènes naturels est le modèle de relation. Dans ce modèle, une quantité est liée à l'autre quantité. Cette relation peut être approchée par une fonction mathématique dans la plupart des cas.

L'identification d'une fonction mathématique à partir des données fournies est appelée « apprentissage » ou « apprentissage ». Il y a deux étapes d'apprentissage :

  1. Le "type" de fonction (par exemple linéaire, exponentielle, polynomiale) est choisi par un humain
  2. L'algorithme d'apprentissage apprend les paramètres (comme la pente et l'interception d'une ligne) à partir des données données.

Ainsi, lorsque nous disons que les systèmes ML apprennent à partir des données, ce n'est que partiellement vrai. La première étape de sélection du type de fonction est manuelle et fait partie de la conception du modèle. Le type de fonction est aussi appelé « hypothèse » ou « famille modèle ».

Dans LinReg et LogReg, la famille de modèles est la fonction linéaire. Comme vous le savez, une droite a deux paramètres : la pente et l'interception. Mais cela n'est vrai que si la fonction ne prend qu'une seule entrée. Pour la plupart des problèmes du monde réel, il existe plusieurs entrées. La fonction modèle pour ces cas est appelée une fonction linéaire, pas une ligne. Une fonction linéaire a plus de paramètres à apprendre. S'il y a n entrées dans le modèle, la fonction linéaire a n+1 paramètres. Comme mentionné, ces paramètres sont appris à partir des données fournies. Pour les besoins de cet article, nous continuerons à supposer que la fonction est la ligne simple avec deux paramètres. La fonction de modèle pour LogReg est un peu plus complexe. La ligne est là, mais elle est associée à une autre fonction. Nous verrons cela dans un instant.

Comme nous l'avons dit plus haut, LinReg et LogReg apprennent les paramètres de la fonction linéaire à partir des données données, appelées données d'apprentissage. Que contiennent les données d'entraînement ?

Les données d'entraînement sont préparées en enregistrant certains phénomènes du monde réel (RWP). Par exemple, la relation entre la température maximale diurne et la vente de limonade est un RWP. Nous n'avons aucune visibilité sur la relation sous-jacente. Tout ce que nous pouvons voir, ce sont les valeurs de la température et la vente quotidienne. Lors de l'enregistrement des observations, nous désignons certaines grandeurs comme entrées du RWP et d'autres comme sorties. Dans l'exemple de la limonade, nous appelons la température max en entrée et la vente de limonade en sortie.

Image par auteur

Nos données d'entraînement contiennent des paires d'entrées et de sorties. Dans cet exemple, les données auront des lignes de température maximale quotidienne et de verres de limonade vendus. Telles seront les entrées et les sorties de LinReg.

La tâche effectuée par LogReg est la classification, sa sortie doit donc être une classe. Imaginons qu'il existe deux classes appelées 0 et 1. La sortie du modèle devrait alors également être 0 ou 1.

Cependant, cette méthode de spécification de la sortie n'est pas très appropriée. Voir le schéma suivant :

Image par auteur

Les points en jaune appartiennent à la classe 1 et les bleus clairs à 0. La ligne est notre fonction modèle qui sépare les deux classes. Selon ce séparateur, les deux points jaunes (a et b) appartiennent à la classe 1 . Cependant, l'appartenance du point b est beaucoup plus certaine que celle du point a. Si le modèle produit simplement 0 et 1, alors ce fait est perdu.

Pour corriger cette situation, le modèle LogReg produit la probabilité que chaque point appartienne à une certaine classe. Dans l'exemple ci-dessus, la probabilité que le point 'a' appartienne à la classe 1 est faible, alors que celle du point 'b' est élevée. Étant donné que la probabilité est un nombre compris entre 0 et 1, la sortie de LogReg l'est également.

Voyez maintenant le diagramme suivant :

Image par auteur

Ce diagramme est le même que le précédent, avec le point c ajouté. Ce point appartient également à la classe 1 et est en fait plus certain que le point b. Cependant, il serait erroné d'augmenter la probabilité d'un point proportionnellement à sa distance à la ligne. Intuitivement, une fois que vous vous éloignez d'une certaine distance de la ligne, nous sommes plus ou moins certains de l'appartenance de ces points. Nous n'avons pas besoin d'augmenter davantage la probabilité. Ceci est conforme à la nature des probabilités, dont la valeur maximale peut être 1.

Pour que le modèle LogReg soit capable de produire une telle sortie, la fonction de ligne doit être connectée à une autre fonction. Cette seconde fonction s'appelle la sigmoïde et a pour équation :

Ainsi, le modèle LogReg ressemble à :

Image par auteur

La fonction sigmoïde est également appelée « logistique » et est à l'origine du nom de « régression logistique ».

S'il y a plus de deux classes, la sortie de LogReg est un vecteur. Les éléments du vecteur de sortie sont des probabilités que l'entrée appartienne à cette classe particulière. Par exemple, si le premier élément du modèle de diagnostic clinique a la valeur 0.8, cela signifie que le modèle pense qu'il y a une probabilité de 80 % que le patient souffre de rhume.

Nous avons vu que LinReg et LogReg apprennent les paramètres de la fonction linéaire à partir des données d'apprentissage. Comment apprennent-ils ces paramètres ?

Ils utilisent une méthode appelée « optimisation ». L'optimisation fonctionne en générant de nombreuses solutions possibles pour le problème donné. Dans notre cas, les solutions possibles sont les ensembles de valeurs (pente, interception). Nous évaluons chacune de ces solutions à l'aide d'une mesure de performance. La solution qui s'avère la meilleure sur cette mesure est finalement retenue.

Dans l'apprentissage des modèles ML, la mesure de performance est parfois appelée « perte » et la fonction qui nous aide à la calculer est appelée « fonction de perte ». Nous pouvons représenter cela comme :

Loss = Loss_Function (Parameters_being_evaluated)

Les termes « perte » et « fonction de perte » ont une connotation négative, ce qui signifie qu'une valeur de perte plus faible indique une meilleure solution. En d'autres termes, l'apprentissage est une optimisation qui vise à trouver des paramètres qui produisent une perte minimale.

Nous allons maintenant voir les fonctions de perte communes utilisées pour optimiser LinReg et LogReg. Notez que de nombreuses fonctions de perte différentes sont utilisées dans la pratique réelle, nous pouvons donc discuter de celles qui sont les plus courantes.

Pour l'optimisation des paramètres LinReg, la fonction de perte la plus courante est appelée erreur de somme des carrés (SSE). Cette fonction prend les entrées suivantes :

1) Tous les points de données d'entraînement. Pour chaque point, nous précisons :

a) les entrées, telles que la température maximale des données,

b) les sorties, comme le nombre de verres de limonade vendus

2) L'équation linéaire avec paramètres

La fonction calcule ensuite la perte à l'aide de la formule suivante :

SSE Loss = Sum_for_all_points(
Square_of(
output_of_linear_equation_for_the_inputs — actual_output_from_the_data point
))

La mesure d'optimisation pour LogReg est définie de manière très différente. Dans la fonction SSE, nous posons la question suivante :

If we use this line for fitting the training data, how much error will it make?

Lors de la conception de la mesure d'optimisation LogReg, nous demandons :

If this line is the separator, how likely is it that we will get the distribution of classes that is seen in the training data?

La sortie de cette mesure est donc une vraisemblance. La forme mathématique de la fonction de mesure utilise des logarithmes, ce qui lui donne le nom de Log Likelihood (LL). En discutant des sorties, nous avons vu que la fonction LogReg implique des termes exponentiels (les termes avec e "élevé à" z). Les logarithmes aident à traiter efficacement ces exponentielles.

Il devrait être intuitivement clair pour vous que l'optimisation doit maximiser LL. Pensez comme ceci : nous voulons trouver la ligne qui rend les données d'entraînement les plus probables. En pratique cependant, on préfère une mesure qui peut être minimisée, donc on prend juste le négatif du LL. Nous obtenons ainsi la fonction de perte Negative Log Likelihood (NLL), bien que, selon moi, l'appeler une fonction de perte ne soit pas très correct.

Nous avons donc les deux fonctions de perte : SSE pour LinReg et NLL pour LogReg. Notez que ces fonctions de perte ont de nombreux noms et vous devez vous familiariser avec les termes.

Même si la régression linéaire et la régression logistique se ressemblent beaucoup, elles sont en réalité très différentes. LinReg est utilisé pour l'estimation/prédiction et LogReg pour la classification. Il est vrai qu'ils utilisent tous les deux la fonction linéaire comme base, mais LogReg ajoute en outre la fonction logistique. Ils diffèrent dans la manière dont ils consomment leurs données de formation et produisent leurs sorties de modèle. Les deux utilisent également une fonction de perte très différente.

D'autres détails peuvent être sondés. Pourquoi ESS ? Comment la vraisemblance est-elle calculée ? Nous ne sommes pas entrés dans la méthode d'optimisation ici pour éviter plus de mathématiques. Cependant, vous devez garder à l'esprit que l'optimisation de LogReg nécessite généralement la méthode de descente de gradient itérative, tandis que LinReg peut généralement utiliser une solution de formulaire fermé rapide. Nous pouvons discuter de ces points et d'autres dans un autre article.

Comparing Linear and Logistic Regression Republished from Source https://towardsdatascience.com/comparing-linear-and-logistic-regression-11a3e1812212?source=rss—-7f60cf5620c9—4 via https://towardsdatascience.com/feed

<!–

->

Horodatage:

Plus de Consultants en blockchain