J'ai utilisé la fonction glm.fit dans R pour ajuster les paramètres à un modèle de régression logistique. Par défaut, glm.fit utilise des moindres carrés itérativement repondérés pour ajuster les paramètres. Quelles sont les raisons pour lesquelles cet algorithme ne parviendrait pas à converger, lorsqu'il est utilisé pour la régression logistique?
8
Réponses:
Dans le cas où les deux classes sont séparables, les moindres carrés itérativement repondérés (IRLS) se briseraient. Dans un tel scénario, tout hyperplan qui sépare les deux classes est une solution et il y en a une infinité. IRLS est destiné à trouver une solution de maximum de vraisemblance. La probabilité maximale n'a pas de mécanisme pour favoriser l'une de ces solutions par rapport à l'autre (par exemple pas de concept de marge maximale). Selon l'initialisation, IRLS devrait aller vers l'une de ces solutions et se briserait en raison de problèmes numériques (je ne connais pas les détails de IRLS; une supposition éclairée).
Un autre problème se pose en cas de séparabilité linéaire des données d'apprentissage. L'une des solutions hyperplan correspond à une fonction heaviside. Par conséquent, toutes les probabilités sont soit 0 soit 1. La solution de régression linéaire serait un classificateur dur plutôt qu'un classificateur probabiliste.
Pour clarifier l'utilisation de symboles mathématiques, la fonction heaviside est , la limite de la fonction sigmoïde, où est la fonction sigmoïde et détermine la solution d'hyperplan. Donc, IRLS ne s'arrête pas théoriquement et va vers un avec une amplitude croissante mais se briserait en pratique en raison de problèmes numériques.lim|w|→∞σ(wTx+b) σ (w,b) w
la source
En plus de la séparation linéaire (dans laquelle le MLE est à la limite de l'espace des paramètres), la procédure de notation de Fisher dans R n'est pas complètement stable numériquement. Elle prend des pas de taille fixe, ce qui dans certains cas pathologiques peut conduire à une non-convergence (lorsque le véritable MLE est bien un point intérieur).
Par exemple,
donne un coefficient de plutôt que le logit attendu .2×1015 (3/4)≈1.0986
Le package CRAN glm2 fournit un remplacement direct
glm.fit
qui ajuste la taille des pas pour assurer la convergence monotone.la source