Inicio · Parte 12 — Optimización matemática y computacional
f(λa + (1−λ)b) ≤ λf(a) + (1−λ)f(b)
convexa ⟺ Hessiano semidefinido positivo
convexa ⟹ todo mínimo local es global
Una función es convexa si el segmento que une dos puntos cualesquiera de su gráfica queda por encima de la curva. Esa definición geométrica se traduce en la desigualdad de la cuerda, y en el caso diferenciable equivale a que el Hessiano sea semidefinido positivo: curvatura no negativa en todas las direcciones.
La consecuencia es la que justifica toda la atención al concepto: en un problema convexo todo mínimo local es global. Un algoritmo que solo mira información local —que es lo único que hace el descenso de gradiente— tiene garantía de encontrar la solución óptima. Sin convexidad esa garantía desaparece por completo.
Hay una jerarquía útil de problemas por dificultad, y no es lineal-versus-no-lineal como suele creerse, sino convexo-versus-no-convexo. Un problema convexo de un millón de variables es tratable; uno no convexo de veinte puede ser imposible de resolver con garantías. Programación lineal, mínimos cuadrados, regresión logística y SVM son convexos, y por eso se resuelven de forma fiable.
Las redes neuronales no son convexas, y masivamente. Sin embargo se entrenan bien, y la explicación que va emergiendo es que en dimensión muy alta los mínimos locales malos son raros: lo abundante son puntos de silla, de los que el ruido de SGD escapa con facilidad. No es un teorema cerrado, y conviene decirlo así.
Test de la cuerda y criterio del Hessiano.
f(x) = x² con a = 0,5, b = 2,0, λ = 0,7
f(λa + (1−λ)b) = f(0,95) = 0,9025
λf(a) + (1−λ)f(b) = 2,9500
0,9025 ≤ 2,9500 → convexa ✓
f(x,y) = x² + 20y²
Hessiano = [[2, 0],
[0, 40]]
autovalores: 40 y 2, ambos positivos
→ definido positivo → estrictamente convexa ✓
Consecuencia: el mínimo (0,0) es global.
Cualquier método de descenso lo encontrará.
Convexidad: la propiedad que convierte un mínimo local en global.
python classes/part-12-optimizacion-matematica-y-computacional/242-convexidad/lab.py
compmath run 242
test_de_la_cuerda_convexatest_no_convexahessiano_de_x²+20y²autovaloresdefinido_positivoconsecuencia{
"test_de_la_cuerda_convexa": {
"f(λa+(1-λ)b)": 0.9025000000000001,
"λf(a)+(1-λ)f(b)": 2.95,
"cumple": true
},
"test_no_convexa": {
"f(λa+(1-λ)b)": -0.942994,
"λf(a)+(1-λ)f(b)": 2.85,
"cumple": true
},
"hessiano_de_x²+20y²": [
[
2.0,
0.0
],
[
0.0,
40.0
]
],
"autovalores": [
40.0,
2.0
],
"definido_positivo": true,
"consecuencia": "todo mínimo local es global"
}
Diseño de funciones de pérdida, elección de algoritmos con garantías, SVM y regresión regularizada, y análisis de por qué el entrenamiento profundo es difícil.
AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.
9780511804441 verificado en International ISBN Agency (2026-08-19).10.48550/arxiv.1406.2572 verificado en DataCite (2026-08-19).