🧮 Computational Mathematics

Inicio · Parte 14 — Matemática de Machine Learning

284 — Lasso y regularización L1

ml-avanzado clase 4 de 20 4 horas demostración lasso

La bola L1 tiene vértices sobre los ejes, y por eso Lasso produce ceros exactos.

Fórmulas

J(w) = ‖Xw − y‖² + λ‖w‖₁
sin solución cerrada: descenso por coordenadas o subgradiente
λ mayor ⟹ más coeficientes exactamente cero

Desarrollo

Lasso penaliza la suma de valores absolutos en vez de la de cuadrados. El cambio parece menor y produce un comportamiento cualitativamente distinto: los coeficientes no solo se encogen, sino que llegan a valer exactamente cero, lo que convierte a Lasso en un selector automático de variables.

La explicación es geométrica y merece verse. La restricción ‖w‖₂ ≤ t es una bola redonda; la restricción ‖w‖₁ ≤ t es un rombo con vértices sobre los ejes. La solución es el punto donde las curvas de nivel del error tocan por primera vez la región admisible, y una curva de nivel elíptica toca un rombo con muchísima más probabilidad en un vértice que en una arista. Un vértice del rombo tiene coordenadas nulas.

El precio es que el valor absoluto no es derivable en cero, así que no hay solución cerrada y hay que recurrir al descenso por coordenadas o a métodos de subgradiente. Es un coste computacional asumible y ampliamente resuelto en las bibliotecas.

La elección entre Ridge y Lasso depende de lo que se crea del problema. Si se sospecha que solo unas pocas variables importan, Lasso las encuentra. Si se cree que todas contribuyen un poco, Ridge es mejor. Con variables muy correlacionadas Lasso elige una arbitrariamente y descarta el resto, lo que puede ser inestable, y por eso existe elastic net, que combina ambas penalizaciones.

Ejemplo trabajado

Cuatro valores de λ y el número de ceros exactos.

  λ         pesos                          ceros
0,00   [2,031169 ; 1,489542 ; −0,354419]     0
0,05   [2,155953 ; 1,300580 ; −0,006201]     0
0,30   [1,795790 ; 1,377911 ;  0,000000]     1
1,00   [0,774479 ; 1,605474 ;  0,000000]     1

Con λ = 0,30 el tercer coeficiente es exactamente 0,
no un número pequeño: la variable queda eliminada.

Ridge con el mismo λ dejaría −0,0806: pequeño pero no nulo.

Geometría: la bola L1 tiene vértices en los ejes,
y el óptimo cae sobre ellos con alta probabilidad.

Qué calcula el laboratorio

Lasso: L1 produce ceros exactos gracias a su geometría.

python classes/part-14-matematica-de-machine-learning/284-lasso-y-regularizacion-l1/lab.py
compmath run 284

Salidas del laboratorio (8)

Muestra de la ejecución real

{
  "λ=0.0": {
    "pesos": [
      2.031169,
      1.489542,
      -0.354419
    ],
    "coeficientes_exactamente_cero": 0,
    "norma_L1": 3.87513
  },
  "λ=0.05": {
    "pesos": [
      2.155953,
      1.30058,
      -0.006201
    ],
    "coeficientes_exactamente_cero": 0,
    "norma_L1": 3.462733
  },
  "λ=0.3": {
    "pesos": [
      1.79579,
      1.377911,
      -0.0
    ],
    "coeficientes_exactamente_cero": 1,
    "norma_L1": 3.173701
  },
  "λ=1.0": {
    "pesos": [
      0.774479,
      1.605474,
      -0.0
    ],
    "coeficientes_exactamente_cero": 1,
    "norma_L1": 2.379953
  },
  "geometria": "la bola L1 tiene vértices en los ejes: el óptimo cae sobre ellos",
  "L2_produce_ceros": false
}

Errores comunes

Dónde se usa

Selección automática de variables, modelos dispersos, compressed sensing y análisis con muchas más características que observaciones.

Idea rectora de la parte

El error de generalización se descompone en sesgo, varianza y ruido irreducible.

Error a evitar

No estandarizar antes de aplicar regularización o k-NN.

Conexión con IA

Estos algoritmos siguen siendo la línea base honesta contra la que se debe comparar cualquier modelo profundo.

Bibliografía de la clase

Archivos de la clase