He estado usando la función glm.fit en R para ajustar parámetros a un modelo de regresión logística. Por defecto, glm.fit utiliza mínimos cuadrados repesados de forma iterativa para ajustar los parámetros. ¿Cuáles son algunas razones por las cuales este algoritmo no podría converger, cuando se usa para la regresión logística?
8
Respuestas:
En caso de que las dos clases sean separables, se romperían los mínimos cuadrados iterativamente ponderados (IRLS). En tal escenario, cualquier hiperplano que separe las dos clases es una solución y hay infinitas de ellas. IRLS está destinado a encontrar una solución de máxima probabilidad. La probabilidad máxima no tiene un mecanismo para favorecer ninguna de estas soluciones sobre la otra (por ejemplo, ningún concepto de margen máximo). Dependiendo de la inicialización, IRLS debería ir hacia una de estas soluciones y se rompería debido a problemas numéricos (no conozco los detalles de IRLS; una suposición educada).
Otro problema surge en caso de separabilidad lineal de los datos de entrenamiento. Cualquiera de las soluciones de hiperplano corresponde a una función de cabecera. Por lo tanto, todas las probabilidades son 0 o 1. La solución de regresión lineal sería un clasificador difícil en lugar de un clasificador probabilístico.
Para aclarar el uso de símbolos matemáticos, la función de cabecera es , el límite de la función sigmoidea, donde es la función sigmoidea y determina la solución del hiperplano. Por lo tanto, IRLS no se detiene teóricamente y va hacia a con una magnitud creciente, pero se rompería en la práctica debido a problemas numéricos.lim|w|→∞σ(wTx+b) σ (w,b) w
fuente
Además de la separación lineal (en la que el MLE está en el límite del espacio de parámetros), el procedimiento de puntuación de Fisher en R no es completamente estable numéricamente. Toma pasos de tamaño fijo, que en ciertos casos patológicos puede conducir a la no convergencia (cuando el verdadero MLE es de hecho un punto interior).
Por ejemplo,
produce un coeficiente de lugar del logit esperado .2×1015 (3/4)≈1.0986
El paquete CRAN glm2 proporciona un reemplazo directo
glm.fit
que ajusta el tamaño del paso para garantizar la convergencia monótona.fuente