¿La normalización L2 de la regresión de cresta castiga la intercepción? Si no, ¿cómo resolver su derivada?

8

Soy nuevo en ML. Me informaron que la normalización L2 de la regresión de cresta no castiga la intercepción . Como en la función de costo: El término de normalización L2 solo suma de a , no de a . También leí eso:θ0

θJ(θ)=12i=1m(hθ(x(i))y(i))2+λj=1nθj2
λj=1nθj2j=1nj=0n

en la mayoría de los casos (¿todos los casos?), es mejor no regularizar , ya que es poco probable que reduzca el sobreajuste y reduzca el espacio de funciones representablesθ0

que proviene de la última respuesta del usuario 48956 de ¿Por qué un modelo de regresión lineal de intersección cero predice mejor que un modelo con una intersección?

Estoy confundido acerca de cómo resolver la derivada de la función de costo, ya que: donde , y .

θJ(θ)=12XθYTXθY+λ(θ)Tθ,
θ=[θ1θ2...θn]θ=[θ0θ1...θn]X=[1X1(1)X2(1)...Xn(1)1X1(2)X2(2)...Xn(2)...1X1(m)X2(m)...Xn(m)]

θ y son diferentes. Por lo tanto, no se pueden mezclar desde mi punto de vista. Y la derivada es acerca de , que contiene . Después de buscar en Google y ver las preguntas en este foro, todavía no hay forma de obtener la solución: ¿Alguien puede darme una pista? ¡Gracias de antemano por tu ayuda!θθθ

θ=(XTX+λI)1XTY

Sin embargo, creo que hay dos soluciones rápidas a este problema:

En primer lugar, no añadimos toda la columna de la 1 a . A saber, . Es decir, no incluimos la intersección en absoluto en el modelo: Creo que este método se adoptó en el clásico libro Machine Learning in Action de Peter Harrington que estoy leyendo actualmente. En su implementación de regresión de cresta (P166 y P177 si también tiene el libro), toda la pasada a la regresión de cresta no tiene la columna 1.XX=[X1(1)X2(1)...Xn(1)X1(2)X2(2)...Xn(2)...X1(m)X2(m)...Xn(m)]

y=θ1X1+θ2X2+...+θnXn.
X

En segundo lugar, la intercepción también está siendo castigada en la realidad.

La regresión logística de scikit regulariza la intercepción por defecto.

que una vez más proviene de la última respuesta del usuario 48956 de ¿Por qué un modelo de regresión lineal de intersección cero predice mejor que un modelo con una intersección?

Ambas soluciones rápidas conducen a la solución

θ=(XTX+λI)1XTY.

Entonces, ¿se puede resolver la derivada de la normalización L2 de la regresión de cresta o solo se resuelven con soluciones rápidas?

Naomi
fuente
2
Consulte también stats.stackexchange.com/questions/86991 . La respuesta a su Q es que todo se puede resolver: simplemente descomponga el primer término en theta_0 y theta_prime. Puede resolver de inmediato para theta_0 óptimo: es la media general. Llevar a su "solución rápida # 1" como la solución adecuada para theta_prime en los datos sustraídos medios.
ameba
3
La segunda solución es bastante universalmente considerada incorrecta. La penalización de la intercepción es uno de los pocos errores de diseño en sklearn.
Matthew Drury el
1
@MatthewDrury Creo que mencioné un truco para "arreglar" esto y te puso triste. Pero quiero decirle a OP que el truco es hacer una gran intercepción, como 1e9. Entonces la regularización tiene poco efecto en ello.
Haitao Du
1
Yah, recuerdas correctamente, cada vez que hago eso muero un poco por dentro.
Matthew Drury el
@amoeba ¡Muchas gracias! Calculo la solución en mi respuesta bajo su guía. ¿Me pueden ayudar a comprobarlo? Lo que es más, descubro que Machine Learning in Action resta la media de y no agrega la columna 1 a que son las dos formas correctas de hacerlo. Sin embargo, al realizar la estandarización de funciones, divide por varianza, no por desviación estándar. Hice otra pregunta para esto: no por desviación estándar ¿Me pueden ayudar de nuevo en esta pregunta? ¡Gracias! YXXμ
Naomi

Respuestas:

3

Los elementos del aprendizaje estadístico por Hastie et al. señala en P63 que:

la intercepción ha quedado fuera del plazo de penalizaciónθ0

Además, dice:

Las soluciones de cresta no son equivalentes bajo la escala de las entradas, por lo que normalmente se normalizan las entradas antes de resolver (3.41) (3.41 es la función de costo). Se puede mostrar (Ejercicio 3.5) que la solución a (3.41) se puede separar en dos partes, después de la reparametrización utilizando entradas centradas: cada se reemplaza por Estimamos por Los coeficientes restantes se estiman mediante una regresión de cresta sin interceptar, utilizando la centrada . En adelante, suponemos que este centrado se ha realizado, de modo que la matriz de entrada tieneXj(i)Xj(i)xj¯.θ0y¯=1mi=1my(i)Xj(i)Xn(en lugar de ) columnas.norte+1

Aunque me pregunto por qué The Elements of Statistical Learning primero sugiere la estandarización de características y luego solo se realiza el centrado de características. Tal vez para estar de acuerdo con el ejercicio 3.5, que solo utiliza el centrado de funciones.

De todos modos, creo que es correcto aplicar la estandarización de puntaje z a las características. Así que ahora trato de resolver la derivada de la función de costo de la regresión de cresta siguiendo la sugerencia de la ameba comentarista anterior. ¡Muchas gracias!

Primero, la función de costo: donde es la media del atributo y es la desviación estándar de . Para hacerlo más corto: Ahora calculamos primero el valor de

θJ(θ)=12yo=1metro(yyo-θ0 0-X1(yo)-X1¯σ1θ1-X2(yo)-X2¯σ2θ2-...-Xnorte(yo)-Xnorte¯σnorteθnorte)2+λj=1norteθj2,
Xj¯XjσjXj
θJ(θ)=12yo=1metro(yyo-θ0 0-j=1norteXj(yo)-Xj¯σjθj)2+λj=1norteθj2
θ0 0en la expresión anterior estableciendo la derivada con respecto a igual a cero. Como no tiene , obtenemos: Es decir: As (porque es el media del atributo ), entonces ahora tenemosθ0 0λj=1norteθj2θ0 0
θ0 0J(θ)=-yo=1metro(yyo-θ0 0-j=1norteXj(yo)-Xj¯σjθj)=0 0
yo=1metro(yyo-θ0 0)-yo=1metroj=1norteXj(yo)-Xj¯σjθj=0 0
yo=1metroj=1norteXj(yo)-Xj¯σjθj=0 0
Xj¯Xj
yo=1metro(yyo-θ0 0)=0 0,
obviamente:
θ0 0=y¯=1metroyo=1metroy(yo)

Por lo tanto, la intersección de la regresión de cresta estandarizada por características es siempre . Por lo tanto, si primero centralizamos restando su media (get para el ejemplo de datos ), no incluimos todas las 1 columnas en , y luego hacemos estandarización de características en (get para del ejemplo de datos ) , la función de costo será simplemente Eso es y¯Y(yyo)yoXX(Xj(yo))Xjyo

θJ(θ)=12yo=1metro((yyo)-j=1norte(Xj(yo))θj)2+λj=1norteθj2
θJ(θ)=12Xθ-YTXθ-Y+λ(θ)Tθ,
donde , no tiene toda la columna 1 y estandarizado de , está centrada con respecto a . Ahora (sin ) se puede resolver con: Para características estandarizadas, el modelo lineal será donde θ=[θ1θ2...θnorte]XXYYθθ0 0
θ=((X)TX+λyo)-1(X)TY
y=y¯+θ1X1+θ2X2+...+θnorteXnorte---(1),
Xyo=Xyo-Xyo¯σyo---(2)
Si usamos (2) en (1) como se sugiere en la respuesta de Plasty Grove . Entonces, para los datos de entrada de origen, el modelo lineal será Eso es Es por eso que después de resolver los coeficientes de las características estandarizadas, para devolver los coeficientes de los datos de entrada de origen (sin estandarizar características), debemos devolver
y=y¯+X1-X1¯σ1θ1+X2-X2¯σ2θ2+...+Xnorte-Xnorte¯σnorteθnorte
y=θ1σ1X1+θ2σ2X2+...+θnorteσnorteXnorte+y¯-X1¯σ1θ1-X2¯σ2θ2-...-Xnorte¯σnorteθnorte
θyo/ /σyo
Naomi
fuente
Buen ejemplo detallado. Un par de comentarios: usted comenta sobre el efecto de centrar , pero para omitir un término de intercepción y obtener estimaciones correctas, también se deben centrar todas las característicasSin embargo, estoy de acuerdo en que este ejemplo concuerda con la justificación de no penalizar el término de intercepción (para obtener una inferencia consistente). En segundo lugar, la intuición debería servir para algo aquí. Todos aceptamos que predecir por su media es similar a un modelo de parámetro 0, así que para obtener el efecto aditivo de en el modelo, no hay que penalizar el término que simplemente coge el efecto medio-Y en presencia de . YXYXX
AdamO