Modificación de lazo para LARS


12

Estoy tratando de entender cómo se puede modificar el algoritmo de Lars para generar Lasso. Si bien entiendo LARS, no puedo ver la modificación de Lasso del documento de Tibshirani et al. En particular, no veo por qué la condición del signo es que el signo de la coordenada distinta de cero debe coincidir con el signo de la correlación actual. ¿Puede alguien ayudarme con esto? Supongo que estoy buscando una prueba matemática usando la condición KKT en el problema de la norma L-1 original, es decir, el lazo. ¡Muchas gracias!


¿Te refieres a stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf de Efron et al . Esto lo demuestra en el Lema 8 de la sección 5. ¿O estoy malinterpretando su pregunta?
Peter Ellis

1
Tampoco estoy seguro de la pregunta, pero en realidad, el lazo es una simplificación del Lars: para Lasso, solo está buscando correlaciones positivas entre el residual actual y las funciones básicas restantes, ya que solo las correlaciones positivas conducen a resultados positivos. (~ no negativo) coeficientes.
Sr. White

Respuestas:


2

Sea (tamaño n × p ) un conjunto de entradas estandarizadas, respuestas centradas y (tamaño n × 1 ), pesos de regresión β (tamaño p × 1 ) y coeficiente de penalización de λ > 0 a l 1 .Xn×pyn×1βp×1λ>0l1

β=argminβ L(β,λ)L(β,λ)=yXβ22+λβ1

Resolver esto para todos los valores de produce la llamada ruta de regularización LASSO .β ( λ )λ>0β(λ)

Para un valor fijo del coeficiente de penalización (es decir, número fijo de predictores activos = paso fijo del algoritmo LARS), es posible mostrar que satisface (simplemente escriba la condición de estacionariedad KKT como en este respuesta )λβ

λ=2 sign(βa)XaT(yXβ),   aA

con representando el conjunto de predictores activos.A

Como debe ser positivo (es un coeficiente de penalización), está claro que el signo de (peso de cualquier predictor activo distinto de cero) debe ser el mismo que el de es decir, la correlación con el residuo de regresión actual.β a X T a ( y - X β ) = X T a rλβaXaT(yXβ)=XaTr


1

@ Mr._White proporcionó una gran explicación intuitiva de la gran diferencia entre LARS y Lasso; el único punto que agregaría es que el lazo es (más o menos) como un enfoque de selección hacia atrás, eliminando un término en cada paso siempre que exista un término para cuál de esas correlaciones ("normalizadas" sobre ) existe. LARS mantiene todo allí, básicamente realizando el lazo en cada orden posible. Eso significa que en lazo, cada iteración depende de qué términos ya se han eliminado. X×X

La implementación de Effron ilustra que las diferencias varían bien: lars.R en el paquete fuente para lars . Observe el paso de actualización de las matrices matrix y partir de la línea 180, y la eliminación de los términos para los cuales . Me imagino algunas situaciones extrañas que surgen de los espacios donde los términos están desequilibrados ( y están muy correlacionados pero no con otros, con pero no con otros, etc.) el orden de selección podría estar bastante sesgado.ζ ζ m i n < ζ c u r r e n t A x 1 x 2 x 2 x 3X×Xζζmin<ζcurrentAx1x2x2x3

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.