Métodos de regularización para regresión logística.


42

La regularización utilizando métodos como Ridge, Lasso, ElasticNet es bastante común para la regresión lineal. Quería saber lo siguiente: ¿Son estos métodos aplicables para la regresión logística? Si es así, ¿hay alguna diferencia en la forma en que deben usarse para la regresión logística? Si estos métodos no son aplicables, ¿cómo se regulariza una regresión logística?


¿Está buscando un conjunto de datos en particular y, por lo tanto, necesita considerar hacer que los datos sean manejables para el cálculo, por ejemplo, seleccionar, escalar y compensar los datos para que la computación inicial tenga éxito. ¿O se trata de una visión más general de cómo y por qué (sin un conjunto de datos específico para calcular contra 0?
Philip Oakley

1
Esta es una mirada más general a los cómo y por qué de la regularización. Textos introductorios para los métodos de regularización (cresta, lazo, Elasticnet, etc.) que me encontré con ejemplos de regresión lineal mencionados específicamente. Ni uno solo mencionó la logística específicamente, de ahí la pregunta.
TAK

1
La regresión logística es una forma de GLM que utiliza una función de enlace sin identidad, casi todo se aplica.
Firebug

1
¿Te has topado con el video de Andrew Ng sobre el tema?
Antoni Parellada

La regresión neta de cresta, lazo y elástico son opciones populares, pero no son las únicas opciones de regularización. Por ejemplo, las matrices de suavizado penalizan las funciones con segundas derivadas grandes, de modo que el parámetro de regularización le permite "marcar" una regresión que es un buen compromiso entre el ajuste excesivo y el ajuste insuficiente de los datos. Al igual que con la regresión neta de cresta / lazo / elástica, estas también pueden usarse con regresión logística.
Restablece a Mónica el

Respuestas:


49

Sí, la regularización se puede utilizar en todos los métodos lineales, incluida la regresión y la clasificación. Me gustaría mostrarle que no hay demasiada diferencia entre la regresión y la clasificación: la única diferencia es la función de pérdida.

Específicamente, hay tres componentes principales del método lineal, Función de pérdida, Regularización, Algoritmos . Donde la función de pérdida más la regularización es la función objetivo en el problema en forma de optimización y el algoritmo es la forma de resolverlo (la función objetivo es convexa, no discutiremos en esta publicación).

En la configuración de la función de pérdida, podemos tener diferentes pérdidas tanto en casos de regresión como de clasificación. Por ejemplo, los mínimos cuadrados y la menor pérdida de desviación absoluta se pueden usar para la regresión. Y su representación matemática es y. (La función se define en dos escalares, es el valor de verdad fundamental y es el valor predicho).L(y^,y)=(y^y)2L(y^,y)=|y^y|L()yy^

Por otro lado, la pérdida logística y la pérdida de bisagra se pueden utilizar para la clasificación. Sus representaciones matemáticas son y . (Aquí, es la etiqueta de verdad básica en y se predice "puntaje". La definición de es un poco inusual, por favor vea la sección de comentarios).L(y^,y)=log(1+exp(y^y))L(y^,y)=(1y^y)+y{1,1}y^y^

En la configuración de regularización, mencionó acerca de la regularización L1 y L2, también hay otras formas, que no se discutirán en esta publicación.

Por lo tanto, en un nivel alto, un método lineal es

minimizew   x,yL(wx,y)+λh(w)

Si reemplaza la función Pérdida de la configuración de regresión a la pérdida logística, obtiene la regresión logística con regularización.

Por ejemplo, en la regresión de cresta, el problema de optimización es

minimizew   x,y(wxy)2+λww

Si reemplaza la función de pérdida con pérdida logística, el problema se convierte en

minimizew   x,ylog(1+exp(wxy))+λww

Aquí tienes la regresión logística con la regularización L2.


Así es como se ve en un conjunto de datos binarios sintetizados de juguete. La figura de la izquierda son los datos con el modelo lineal (límite de decisión). La figura de la derecha es el contorno de la función objetivo (los ejes x e y representan los valores para 2 parámetros). El conjunto de datos se generó a partir de dos gaussianos, y ajustamos el modelo de regresión logística sin intercepción, por lo que solo hay dos parámetros que podemos visualizar en la subfigura correcta.

Las líneas azules son la regresión logística sin regularización y las líneas negras son la regresión logística con regularización L2. Los puntos azul y negro en la figura de la derecha son parámetros óptimos para la función objetivo.

En este experimento, establecemos un grande , para que pueda ver dos coeficientes cercanos a . Además, desde el contorno, podemos observar que el término de regularización está dominado y toda la función es como un tazón cuadrático.λ0

ingrese la descripción de la imagen aquí

Aquí hay otro ejemplo con la regularización L1.

ingrese la descripción de la imagen aquí

Tenga en cuenta que el propósito de este experimento es tratar de mostrar cómo funciona la regularización en regresión logística, pero no argumenta que el modelo regularizado es mejor.


Aquí hay algunas animaciones sobre la regularización de L1 y L2 y cómo afecta el objetivo de pérdida logística. En cada cuadro, el título sugiere el tipo de regularización y , el gráfico es el contorno de la función objetivo (pérdida logística + regularización). Aumentamos el parámetro de regularización en cada cuadro y la solución óptima se reducirá a cuadro por cuadro.λλ0

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí


Algunos comentarios de notación. y son vectores de columna, es un escalar. Entonces el modelo lineal . Si queremos incluir el término de intercepción, podemos agregar como columna a los datos.wxyy^=f(x)=wx1

En la configuración de regresión, es un número real y en la configuración de clasificación .yy{1,1}

Tenga en cuenta que es un poco extraño para la definición de en la configuración de clasificación. Como la mayoría de las personas usa para representar un valor predicho de . En nuestro caso, es un número real, pero no en . Utilizamos esta definición de porque podemos simplificar la notación sobre pérdida logística y pérdida de bisagra. y y y =wx{-1,1} yy^=wxy^yy^=wx{1,1}y^

También tenga en cuenta que, en algún otro sistema de notación, , la forma de la función de pérdida logística sería diferente.y{0,1}

El código se puede encontrar en mi otra respuesta aquí.

¿Hay alguna explicación intuitiva de por qué la regresión logística no funcionará para un caso de separación perfecta? ¿Y por qué agregar regularización lo arreglará?


44
Buena respuesta, pero no veo nada (excepto la notación) en la explicación que sugiera que debe limitarse a los métodos lineales. ¿Puedes tener la misma respuesta pero con w reemplazado por f y reemplazado por ? La gente ciertamente usa la regularización para métodos no lineales, como las redes neuronales. f ( x )wTxf(x)
DavidR

Gracias por la respuesta @ hxd1011, ¿puede explicar qué representan las líneas negras continuas en el gráfico de contorno? Para ser más precisos, sé que (como explicaste) los ejes x e y muestran los 2 parámetros que usamos. Pero qué pasa con las líneas continuas y sus números como 8000, 10000, 12000. ¡Gracias!
Jespar


12

Un método de contracción / regularización que se propuso originalmente para la regresión logística basada en consideraciones de orden superior asintótico fue la regresión logística de Firth ... un poco antes de que todo esto hablara sobre el lazo y lo que no comenzó, aunque después de que la regresión de cresta aumentó y disminuyó en popularidad a través de 1970s. Se trata de agregar un término de penalización a la probabilidad, dondei(β)=1

l(β)=l(β)+12ln|i(β)|
i(β)=1nipi(1pi)xixies la matriz de información normalizada por observación. Firth demostró que esta corrección tiene una interpretación bayesiana en el sentido de que corresponde a Jeffreys antes de reducirse a cero. La emoción que generó se debió a que ayudó a solucionar el problema de la separación perfecta: digamos un conjunto de datos produciría estimaciones nominalmente infinitas ml, y en sigue siendo susceptible al problema, creo.{(yi,xi)={(1,1),(0,0)}glmR

1
Sí, puede usar paquetes R logistf o brglm para esto. Quizás valga la pena mencionar ...
Tom Wenseleers 05 de

Es muy elegante, pero es bastante lento para la optimización, ¿no? En el gradiente se obtiene el inverso de que debe ser recalculado en cada iteración ...i(β)
appletree

Es dolorosamente lento, de hecho, @appletree
StasK

(+1) No había oído hablar de la corrección de Firth antes. ¿No esperaría que el enfoque implícito en el documento citado agregue mucho tiempo a la solución GLM? (No es necesario invertir una matriz, solo calcular apalancamientos. Si resuelve el GLM a través de mínimos cuadrados repesados ​​de forma iterativa, estas son solo las normas de fila del factor Q. Los apalancamientos simplemente se suman a los datos y la exposición, usando lugar de en el ajuste de Jeffreys .)1 / 2h/21/2
GeoMatt22

6

Sí, es aplicable a la regresión logística. En R, usando glmnet, simplemente especifica la familia apropiada que es "binomial" para la regresión logística. Hay un par de otros (veneno, multinomial, etc.) que puede especificar según sus datos y el problema que está abordando.


La desventaja de usar glmnet para esto es que ese enfoque no le daría niveles de importancia. Si está interesado en esos, entonces los paquetes R logistf o brglm serían una mejor manera de hacerlo ...
Tom Wenseleers 05 de

@TomWenseleers también hay métodos para bootstrapping glmnet para obtener valores p. Sin embargo, es un poco complicado como el arranque de "regular" no funciona para los coeficientes de lazo
godspeed

Gracias por informarme sobre eso, también he visto a otros mencionar esto, por ejemplo, aquí: stats.stackexchange.com/questions/34859/… , pero parece que no puedo encontrar nada estándar implementado en algún paquete de R. ¿Por casualidad tienes algún indicador? ¿O buena literatura primaria sobre esto? La desventaja de bootstrapping también es que normalmente sería muy lento para grandes conjuntos de datos ...
Tom Wenseleers 05 de

¿Se refiere a métodos como los implementados en el paquete R hdi, cran.r-project.org/web/packages/hdi/index.html ?
Tom Wenseleers
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.