Parámetro de regularización LASSO del algoritmo LARS


9

En su artículo seminal 'Regresión de ángulo mínimo' , Efron et al describen una modificación simple del algoritmo LARS que permite calcular las rutas completas de regularización de LASSO.

He implementado esta variante con éxito y, por lo general, trazo la ruta de salida en comparación con el número de pasos (iteraciones sucesivas del algoritmo LARS) o el l1-norma de los coeficientes de regresión ( ).β1

Sin embargo, parece que la mayoría de los paquetes disponibles proporcionan la ruta de regularización en términos del coeficiente de penalización LASSO λ (por ejemplo, LARS en R, donde puede jugar con el argumento 'modo' para cambiar entre diferentes representaciones).

Mi pregunta es: ¿cuál es la mecánica utilizada para cambiar de una representación a otra (s)? He visto varias preguntas relacionadas con eso (o más específicamente el tema de mapear la restricción de desigualdad β1t a un término de penalización apropiado λβ1 ), pero no he encontrado una respuesta satisfactoria.


[Editar]

He mirado dentro de un código MATLAB que realiza la transformación requerida y, para cada paso LARS , así es como se calcula :kλ

λ(k)=max(2El |XTyEl |),   para k=1
λ(k)=mediana(2El |XUNAkTrUNAkEl |),   k>1

donde X (tamaño norte×pags ) y (tamaño norte×1 ) denotan las entradas / respuestas estandarizadas, UNAk representa el conjunto de predictores activos en el paso k y r representa el residuo de regresión actual en el paso k .

No puedo entender la lógica detrás de ese cálculo. ¿Alguien podría ayudar?

Respuestas:


4

He descubierto cómo realizar la conversión requerida.

Suponga que las entradas están estandarizadas (media cero, varianza unitaria) y las respuestas están centradas.Xy

Sabemos que el algoritmo LARS modificado proporciona la ruta completa de regularización de LASSO, cf. documento original de Efron et al .

Esto significa que, en cada iteración , el algoritmo anterior encuentra una pareja óptima minimizando la función de pérdida regularizada: k(β,λ)

(β,λ)=argmin(β,λ)L(β,λ)L(β,λ)=y-Xβ22+λβ1=yo=1norte(yyo-j=1pagsβjXyoj)2+λj=1pagsEl |βjEl |

Para todos los componentes activos en el conjunto activo al final del paso , la aplicación de la condición de estacionariedad KKT da una={1,...,q}UNAkk

0 0=Lβuna(β,λ)=-2yo=1norteXyouna(yyo-j=1qβjXyoj)+λ firmar(βuna)

En otras palabras, o en anotaciones matriciales (notando que dividir / multiplicar por es el mismo) la siguiente ecuación se cumple para cualquier componente activo :

λ=2yo=1norteXyouna(yyo-j=1qβjXyoj)firmar(βuna)
firmar(X)una
λ=2 firmar(βuna)XunaTr

En el artículo original, los autores mencionan que para cualquier solución al problema LASSO, el signo de un peso de regresión activo ( ) debe ser idéntico al signo de la correlación del predictor activo correspondiente con el residuo de regresión actual ( ), que es solo lógica ya que debe ser positivo. Así también podemos escribir:βunaXunaTrλ

λ=2El |XunaTrEl |

Además, vemos que en el paso final (ajuste OLS, ), obtenemos debido al lema de ortogonalidad. El uso de la mediana en la implementación de MATLAB que encontré en mi humilde opinión parece un esfuerzo por 'promediar' los errores numéricos sobre todos los componentes activos:kβ=(XTX)-1XTyλ=0 0

λ=mediana(2El |XUNAkTrUNAkEl |),   k>1

Para calcular el valor de cuando no hay componentes activos (paso ), se puede usar el mismo truco que el anterior pero en el límite infinitesimal donde todos los pesos de regresión son cero y solo el signo del primer componente convertirá activo (en el paso ) importa. Esto produce:λk=1sik=2

λ=2 firmar(βsi)XsiTy
que es estrictamente equivalente a

λ=max(2El |XTyEl |), para k=1

porque (i) la misma observación que antes sobre el signo de los pesos de regresión; (ii) el algoritmo LARS determina el siguiente componente para ingresar al conjunto activo como el que está más correlacionado con el residual actual , que en el paso es simplemente .sik=1y


2
Esto es algo que se menciona en cada trabajo de LASSO, pero a nadie le importa explicarlo (no sé si es muy básico o qué, pero me llevó mucho tiempo resolverlo). Solo quiero enfatizar que, aunque es "equivalente", solo puede pasar de una formulación a otra (restringida a sin restricciones y viceversa) una vez que haya resuelto el problema de optimización y tenga los pesos óptimos.
skd

2
¡Siento lo mismo! En lo que respecta a su comentario, sí, de hecho. Aquí, esto se refleja en el residual , que solo se puede calcular una vez que se hayan obtenido los pesos de regresión óptimos al final del paso . rUNAkβkk
Quantuple
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.