← capítulo

Regresión lasso

Regresión lineal con una penalización L1. Encoge los coeficientes y pone algunos en exactamente cero — el modelo selecciona sus propias features.

Ridge encoge suavemente y nunca llega a cero. Lasso truena los coeficientes contra el cero, uno a la vez.

Un término lo cambia todo

L(w,b)=12ni(yiwxib)2+λjwjL(w, b) = \frac{1}{2n} \sum_{i} \left( y_i - w^{\top} x_i - b \right)^2 + \lambda \sum_{j} \lvert w_j \rvert

El soft-threshold hace el trabajo

No hay ecuación normal — el valor absoluto no es diferenciable en cero. En su lugar, ajusta una coordenada a la vez:

wj=Sλ(ρj),Sλ(z)=sign(z)max(zλ,0)w_j = S_{\lambda}(\rho_j), \qquad S_{\lambda}(z) = \operatorname{sign}(z)\,\max(\lvert z \rvert - \lambda,\, 0)

Encoge hacia cero por λ\lambda; si eso empuja más allá de cero, detente en cero. Ese recorte es el tronido. Cicla las coordenadas hasta que nada se mueva.

Recuperación dispersa

Doce features, solo cuatro reales. OLS embarra peso por todo el ruido; lasso pone en cero las ocho que debe y conserva las cuatro que debe.

Mira los coeficientes tronar a cero

Cincuenta reajustes reales, λ\lambda de pequeña a grande. Cada barra se encoge; uno por uno un coeficiente toca cero y se pone gris. El panel inferior cuenta a los sobrevivientes.

En diabetes, el índice de masa corporal y s5 aguantan más tiempo — son en lo que el modelo más se apoya.

Elige lambda con datos apartados

Mínimo en λ2.21\lambda \approx 2.21: lasso conserva 7 de 10 features, descarta edad, s1, s4.

Desde cero vs. librería

Nuestro lasso y sklearn coinciden a ocho decimales (R² 0.362). Siete features le ganan a las diez del OLS completo (R² 0.339).

Conclusiones