🧮 Computational Mathematics

Inicio · Parte 12 — Optimización matemática y computacional

255 — Regularización como optimización

avanzado clase 15 de 20 4 horas demostración regularization_as_optimization

Regularizar es cambiar la función objetivo, no modificar el algoritmo.

Fórmulas

objetivo regularizado: J(w) = L(w) + λ·R(w)
L2: R(w) = ‖w‖²  → encoge todos los pesos
L1: R(w) = ‖w‖₁  → anula coeficientes

Desarrollo

La regularización se presenta a menudo como un truco para evitar el sobreajuste, y esa descripción oscurece lo que realmente es: una modificación explícita de la función objetivo. Se está optimizando un problema distinto, con un término adicional que penaliza la complejidad, y todo el análisis de optimización sigue aplicándose sin cambios.

El parámetro λ fija el precio de la complejidad. Con λ = 0 se minimiza solo el error de ajuste y los pesos crecen sin límite si eso ayuda. Con λ grande domina la penalización y los pesos se encogen hacia cero a costa de un ajuste peor. Es una frontera de Pareto entre dos objetivos en conflicto, y elegir λ es elegir un punto sobre ella.

La elección de norma cambia cualitativamente la solución. L2 encoge todos los coeficientes de forma proporcional pero no anula ninguno, porque su gradiente se hace pequeño cerca de cero. L1 tiene gradiente constante y empuja los coeficientes exactamente a cero, produciendo soluciones dispersas que sirven como selección automática de variables.

La conexión con la parte 10 es directa y merece recordarse: L2 equivale a un prior gaussiano sobre los pesos y L1 a un prior de Laplace, y minimizar el objetivo regularizado es exactamente la estimación MAP. Regularizar no es un truco de ingeniería sino la formulación de una creencia previa.

Ejemplo trabajado

Mismo problema con tres valores de λ.

  λ        pesos              MSE       ‖w‖₂
0,00   [1,010977 ; 9,927716]  0,0151    9,979
0,01   [1,634097 ; 5,663765]  0,2503    5,895
0,50   [1,618590 ; 0,480769]  1,8027    1,688

Al subir λ:
  la norma de w baja de 9,98 a 1,69
  el error de ajuste sube de 0,015 a 1,803

Es un intercambio explícito, no un efecto secundario.

El segundo peso, que valía 9,93 sin regularizar,
queda reducido a 0,48: el modelo decide que no
merece la pena pagarlo.

Qué calcula el laboratorio

Regularizar es cambiar el objetivo, no el algoritmo.

python classes/part-12-optimizacion-matematica-y-computacional/255-regularizacion-como-optimizacion/lab.py
compmath run 255

Salidas del laboratorio (4)

Muestra de la ejecución real

{
  "λ=0.0": {
    "pesos": [
      1.010977,
      9.927716
    ],
    "MSE": 0.01506533,
    "norma_L2_de_w": 9.979059,
    "objetivo_total": 0.01506533
  },
  "λ=0.01": {
    "pesos": [
      1.634097,
      5.663765
    ],
    "MSE": 0.25030364,
    "norma_L2_de_w": 5.894786,
    "objetivo_total": 0.59778868
  },
  "λ=0.5": {
    "pesos": [
      1.61859,
      0.480769
    ],
    "MSE": 1.80265512,
    "norma_L2_de_w": 1.688482,
    "objetivo_total": 3.22814103
  },
  "conclusion": "λ mayor reduce la norma de w a costa de más error de ajuste"
}

Errores comunes

Dónde se usa

Ridge y Lasso, weight decay en redes, selección de variables, compressed sensing y control del sobreajuste.

Idea rectora de la parte

KKT generaliza Lagrange a restricciones de desigualdad.

Error a evitar

Declarar convergencia por número de épocas y no por criterio numérico.

Conexión con IA

AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.

Bibliografía de la clase

Archivos de la clase