Régression logistique en profondeur

Feb 01 2023
Régression logistique, fonction d'activation, dérivation, mathématiques
Une technique statistique appréciée pour résoudre les problèmes de classification dans l'apprentissage automatique est la régression logistique. La régression logistique est une méthode pour prédire des résultats binaires, tels que "oui" ou "non" ou "vrai" ou "faux", par opposition à la régression linéaire, qui est utilisée pour prédire des résultats continus.
Aperçu de la régression logistique

Une technique statistique appréciée pour résoudre les problèmes de classification dans l'apprentissage automatique est la régression logistique. La régression logistique est une méthode pour prédire des résultats binaires, tels que "oui" ou "non" ou "vrai" ou "faux", par opposition à la régression linéaire, qui est utilisée pour prédire des résultats continus. La fonction logistique, qui convertit toute entrée avec une valeur réelle en un nombre compris entre 0 et 1, sert de base au modèle de régression logistique. Nous donnerons une explication approfondie de la régression logistique dans cet article, couvrant son fondement mathématique et sa dérivation. Dans un premier temps, nous commencerons par la fonction sigmoïde puis nous parlerons de modèle de régression logistique. Cependant, si vous souhaitez en savoir plus sur les fonctions d'activation, consultez cet article.

Fonctions d'activation dans l'apprentissage automatique

La fonction sigmoïde

Une expression mathématique appelée fonction sigmoïde convertit toute entrée à valeur réelle en un nombre compris entre 0 et 1 et également connue sous le nom de fonction logistique. La fonction sigmoïde peut être définie comme suit :

La fonction sigmoïde

où:

  • z désigne une ligne de classification qui ressemble à une régression linéaire,
  • e est la base du logarithme naturel.

Dans les réseaux de neurones artificiels, la fonction sigmoïde est fréquemment utilisée comme fonction d'activation. Sur la base de ses entrées et de ses poids, la sortie d'un neurone est déterminée par une fonction d'activation dans un réseau de neurones. Le réseau de neurones est largement utilisé dans l'apprentissage automatique, mais nous n'en parlerons pas dans cet article. Si vous voulez en savoir plus, consultez cet article ( à paraître ).

Le modèle de régression logistique

Le modèle de régression logistique fait des prédictions sur la probabilité d'un résultat binaire (vrai/faux ou oui/non) basé sur une ou plusieurs caractéristiques d'entrée à l'aide d'une fonction logistique. La probabilité projetée de la classe positive est représentée par la sortie de la fonction logistique, qui varie de 0 à 1. L'observation est alors classée comme positive si la probabilité prédite dépasse le seuil, généralement fixé à 0,5, afin de déterminer la probabilité prédite. classe. En réduisant la probabilité logarithmique négative des données, qui reflète la disparité entre les probabilités anticipées et les étiquettes de classe réelles, les coefficients du modèle de régression logistique sont optimisés. La fonction de coût pour la régression logistique est souvent appelée perte d'entropie croisée binaire.

La fonction d'erreur d'entropie croisée binaire

Une fonction de perte courante dans l'apprentissage automatique, en particulier pour les problèmes de classification binaire, est la fonction d'erreur d'entropie croisée binaire. Il calcule la différence entre la véritable étiquette d'une variable cible binaire et la probabilité anticipée. Dans la classification binaire, l'objectif est de prédire la vraisemblance de la variable cible compte tenu d'un ensemble de caractéristiques. La variable cible ne peut prendre que deux valeurs, telles que 0 et 1. La fonction d'erreur d'entropie croisée binaire est définie comme suit :

La fonction d'erreur d'entropie croisée binaire

où:

  • y_n est la probabilité prédite pour la classe positive,
  • t_n est le vrai label, soit 0 soit 1,
  • et J est une fonction objectif que l'on essaie de minimiser ou de maximiser z e.

Néanmoins, nous utiliserons la dérivée partielle de la fonction d'erreur d'entropie croisée binaire par rapport aux paramètres pour déterminer les coefficients du modèle de régression logistique pour les valeurs optimales. Commençons par dériver partiellement la fonction de coût pour trouver les valeurs optimales des poids de régression logistique. On peut commencer par déterminer la dérivée de J par rapport à y_n. Après cela, nous pouvons trouver la dérivée de y_n par rapport à l'entrée de la fonction sigmoïde, qui sert de fonction d'activation de la régression logistique, puis nous pouvons dériver la dérivée de a par rapport aux poids.

Dérivation de la fonction de coût par rapport au paramètre w

Ensuite, nous pouvons obtenir l'expression pour déterminer la valeur idéale du terme de biais, où le biais est généralement défini sur 1. De plus, le biais peut être inclus dans les pondérations en incluant une valeur de 1.

Dérivation de la fonction de coût par rapport au paramètre b

Après avoir obtenu les expressions des paramètres de recherche, nous pouvons passer à l'implémentation dans le langage de programmation python.

import numpy as np

N = 100

def sigmoid_function(an):
    return 1/(1 + np.exp(-an))

def binary_cross_entropy(T, Y):
    E = 0
    for i in range(len(T)):
        if T[i] == 1:
            E -= np.log(Y[i])
        else:
            E -= np.log(1 - Y[i])
    return E

#short overwiev of updating process of w's
learning_rate = 0.01
for i in range(N):
    # gradient descent weight udpate
    w += learning_rate * Xb.T.dot(Y - T)

    # recalculate Y
    Y = sigmoid(Xb.dot(w))

from sklearn.linear_model import LogisticRegression

clf = LogisticRegression(random_state=0).fit(X, y)
clf.predict_proba(X)
clf.score(X, y)

L'ajout d'un terme de pénalité permet également de modifier la fonction de coût. Le surajustement peut être évité dans la régression logistique et la régression linéaire grâce à la régularisation. Ce terme encourage les coefficients à avoir de petites magnitudes, réduisant leur impact sur les prédictions du modèle. La pénalité pour la régularisation L1, également appelée Lasso, est égale à la valeur absolue des coefficients, mais la pénalité pour la régularisation L2, également appelée Ridge, est égale au carré des coefficients. Ces deux méthodes de régularisation sont typiques et nous aborderons ces deux méthodes de régularisation dans le prochain article ( à paraître ).

Classement multi-classes

Les problèmes de classification multi-classes, où le résultat peut avoir plus de deux valeurs, peuvent être traités à l'aide d'une extension de la régression logistique. Habituellement, plusieurs modèles de régression logistique binaire sont formés, un pour chaque classe, en utilisant la méthode un contre tous ou un contre reste. La prévision est alors faite pour la classe avec la probabilité anticipée la plus élevée.

Limitation

En raison du fait que la régression logistique utilise un modèle linéaire, elle peut ne pas convenir aux données lorsqu'il existe des corrélations complexes entre les variables indépendantes et le résultat binaire. De plus, la régression logistique n'offre pas d'estimation de la variance des probabilités prédites, ce qui est important pour comprendre et évaluer le modèle.

Si vous aimez l'article, assurez-vous de me suivre pour voir mes nouveaux articles.