🧮 Computational Mathematics

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

241 — Problemas de optimización y función objetivo

avanzado clase 1 de 20 4 horas demostración objective_function

Un problema de optimización se define por variables, objetivo, sentido y restricciones.

Fórmulas

min f(x)  sujeto a  gᵢ(x) ≤ 0,  hⱼ(x) = 0
maximizar f  ⟺  minimizar −f
óptimo local: f(x*) ≤ f(x) en un entorno

Desarrollo

Todo problema de optimización tiene cuatro componentes que conviene nombrar antes de tocar nada: las variables de decisión sobre las que se puede actuar, la función objetivo que se quiere mejorar, el sentido —minimizar o maximizar— y las restricciones que delimitan qué soluciones son admisibles.

Maximizar y minimizar son el mismo problema: maximizar f es minimizar −f. Por convenio la literatura se escribe siempre en forma de minimización, y por eso en aprendizaje automático se habla de minimizar la pérdida en vez de maximizar la verosimilitud, aunque sean lo mismo con signo cambiado.

Un problema sin restricciones se llama irrestricto, y es el caso de casi todo el entrenamiento de redes neuronales: los pesos pueden tomar cualquier valor real. Cuando hay restricciones el problema se complica sustancialmente, y las clases 256 a 258 desarrollan la maquinaria correspondiente.

La distinción entre óptimo local y global es la que decide la dificultad. Un óptimo local es mejor que todos sus vecinos; uno global es mejor que todos los puntos. Sin convexidad, ningún algoritmo basado en información local puede distinguir uno del otro, y esa es la razón de que la clase siguiente sea la más importante de la parte.

Ejemplo trabajado

Anatomía de un problema irrestricto de dos variables.

variables de decisión: x, y
función objetivo:      f(x,y) = x² + 20y²
sentido:               minimizar
restricciones:         ninguna

punto inicial X₀ = (−2, 3)
  f(X₀) = 4 + 180 = 184,0
  ∇f(X₀) = (2x, 40y) = (−4, 120)

El gradiente es 30 veces mayor en y que en x:
la función es muchísimo más sensible en esa dirección.

Óptimo: (0, 0) con f = 0.
Al ser convexo, ese mínimo local es también global.

Qué calcula el laboratorio

Anatomía de un problema de optimización.

python classes/part-12-optimizacion-matematica-y-computacional/241-problemas-de-optimizacion-y-funcion-objetivo/lab.py
compmath run 241

Salidas del laboratorio (9)

Muestra de la ejecución real

{
  "variables_de_decision": [
    "x",
    "y"
  ],
  "funcion_objetivo": "f(x,y) = x² + 20y²",
  "sentido": "minimizar",
  "restricciones": "ninguna (problema irrestricto)",
  "f(X0)": 184.0,
  "gradiente_en_X0": [
    -4.0,
    120.0
  ]
}

Errores comunes

Dónde se usa

Formulación de problemas de entrenamiento, diseño de ingeniería, asignación de recursos y planificación logística.

Idea rectora de la parte

En un problema convexo todo mínimo local es global; fuera de él no hay garantía.

Error a evitar

Comparar optimizadores sin fijar semilla ni presupuesto de iteraciones.

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