La régularisation à l'aide de méthodes telles que Ridge, Lasso, ElasticNet est assez courante pour la régression linéaire. Je voulais savoir ce qui suit: Ces méthodes sont-elles applicables à la régression logistique? Si tel est le cas, existe-t-il des différences dans la manière dont ils doivent être utilisés pour la régression logistique? Si ces méthodes ne sont pas applicables, comment régulariser une régression logistique?
42
Réponses:
Oui, la régularisation peut être utilisée dans toutes les méthodes linéaires, y compris la régression et la classification. Je voudrais vous montrer qu'il n'y a pas trop de différence entre la régression et la classification: la seule différence est la fonction de perte.
Plus précisément, il existe trois composantes principales de la méthode linéaire, fonction de perte, régularisation, algorithmes . Où fonction de perte plus régularisation est la fonction objectif dans le problème sous forme d'optimisation et l'algorithme est le moyen de le résoudre (la fonction objectif est convexe, nous ne discuterons pas dans cet article).
En ce qui concerne la régularisation, vous avez mentionné les régularisations de L1 et de L2. Il existe également d’autres formes qui ne seront pas abordées dans ce post.
Par conséquent, à un niveau élevé, une méthode linéaire est
Si vous remplacez la fonction Perte du paramètre de régression par la perte logistique, vous obtenez la régression logistique avec régularisation.
Par exemple, dans la régression de crête, le problème d'optimisation est
Si vous remplacez la fonction de perte par une perte logistique, le problème devient
Vous avez ici la régression logistique avec la régularisation L2.
Voici à quoi cela ressemble dans un jeu de données binaires synthétisées par des jouets. La figure de gauche représente les données avec le modèle linéaire (limite de décision). La figure de droite représente le contour de la fonction objectif (les axes x et y représentent les valeurs pour 2 paramètres). Le jeu de données a été généré à partir de deux gaussiennes et nous ajustons le modèle de régression logistique sans interception. Il ne reste donc que deux paramètres à visualiser dans la sous-figure de droite.
Les lignes bleues représentent la régression logistique sans régularisation et les lignes noires, la régression logistique avec régularisation L2. Les points bleu et noir de la figure de droite sont les paramètres optimaux pour la fonction objective.
Voici un autre exemple de régularisation L1.
Notez que le but de cette expérience est d’essayer de montrer comment la régularisation fonctionne dans la régression logistique, mais ne prétend pas que le modèle régularisé est préférable.
Le code peut être trouvé dans mon autre réponse ici.
Existe-t-il une explication intuitive de la raison pour laquelle la régression logistique ne fonctionnera pas dans le cas d’une séparation parfaite? Et pourquoi l'ajout de la régularisation va le réparer?
la source
glm
R
la source
Oui, cela s’applique à la régression logistique. Dans R, en utilisant glmnet, vous spécifiez simplement la famille appropriée qui est "binomiale" pour la régression logistique. Vous pouvez spécifier quelques autres (poison, multinomial, etc.) en fonction de vos données et du problème que vous résolvez.
la source