Calculus·Unidad 3

Calc-03 — Optimization (single variable)

Entrenar = minimizar una loss. En 1D aprendes el patrón que se generaliza a millones de parámetros: buscar dónde la derivada es cero (critical points), y usar la segunda derivada para saber si es mínimo o máximo. También aquí aparece la distinción convexo vs. no convexo que explica por qué unas losses son fáciles y otras (redes neuronales) difíciles.

Why this matters for ML

Entrenar = minimizar una loss. En 1D aprendes el patrón que se generaliza a millones de parámetros: buscar dónde la derivada es cero (critical points), y usar la segunda derivada para saber si es mínimo o máximo. También aquí aparece la distinción convexo vs. no convexo que explica por qué unas losses son fáciles y otras (redes neuronales) difíciles.

Concepts covered

  • Critical points (f(x)=0f'(x)=0)
  • First derivative test
  • Second derivative test (curvatura)
  • Convex vs. non-convex
  • Global vs. local minima/maxima
  • Conexión con minimizar loss functions

Intuition first

🎬 3Blue1Brown Essence of Calculus cap. 3 (implica optimización via f=0f'=0). Piensa: en un mínimo o máximo, la tangente es horizontal.

Theory & key results

Critical point: un x*x^* donde f(x*)=0f'(x^*)=0 (o la derivada no existe). Los mínimos/máximos suaves ocurren en critical points.

First derivative test: mira el signo de ff' alrededor de x*x^*:

  • - luego ++ → mínimo local (baja, sube).
  • ++ luego - → máximo local.
  • no cambia → punto de inflexión (ni min ni max).

Second derivative test (más rápido si f(x*)=0f'(x^*)=0):

  • f(x*)>0f''(x^*)>0mínimo local (cuenco).
  • f(x*)<0f''(x^*)<0máximo local (domo).
  • f(x*)=0f''(x^*)=0 → no concluye (usa el first test).

Convexity: ff es convexa si f(x)0f''(x)\ge0 en todo su dominio (curva siempre "hacia arriba", como un cuenco). Propiedad mágica para ML: una función convexa tiene un único mínimo, que es global. Linear/logistic regression tienen loss convexa → optimización garantizada. Las redes neuronales son no convexas → muchos mínimos locales y saddle points, y por eso entrenar es un arte.

Global vs. local: un mínimo local es el más bajo en su vecindad; el global es el más bajo de todos. En problemas no convexos, gradient descent puede quedar en un local. (En la práctica de deep learning, muchos mínimos locales son "suficientemente buenos".)

Worked example

Minimizar f(x)=x24x+7f(x)=x^2-4x+7. f(x)=2x4=0x*=2f'(x)=2x-4=0\Rightarrow x^*=2. f(x)=2>0f''(x)=2>0 → mínimo. Valor: f(2)=48+7=3f(2)=4-8+7=3. Como f>0f''>0 en todo lado, es convexa → ese mínimo es global.

Loss cuadrática: L(w)=(wxy)2L(w)=(wx-y)^2 tiene L=2x20L''=2x^2\ge0 → convexa en ww → un solo mínimo (base de por qué la regresión lineal "siempre funciona").

Notebook exercises (by hand)

  1. Encuentra y clasifica los critical points de f(x)=x33xf(x)=x^3-3x.
  2. Minimiza f(x)=2x2+8x+1f(x)=2x^2+8x+1; da x*x^* y f(x*)f(x^*).
  3. ¿Es f(x)=exf(x)=e^x convexa? ¿Y f(x)=lnxf(x)=\ln x (en x>0x>0)? Justifica con ff''.
  4. Muestra que f(x)=x4f(x)=x^4 tiene f(0)=0f''(0)=0 y aun así un mínimo en 0 (el second test falla; usa el first).
  5. Da una función con un mínimo local que NO sea global.
  6. Explica por qué que la loss sea convexa es una gran noticia para entrenar un modelo.

Python lab

import numpy as np, sympy as sp
import matplotlib.pyplot as plt

x = sp.symbols("x")
f = x**3 - 3*x
crit = sp.solve(sp.diff(f, x), x)
print("critical points:", crit)                  # [-1, 1]
for c in crit:
    print(c, "->", "min" if sp.diff(f,x,2).subs(x,c) > 0 else "max")

# visualiza convexidad
xs = np.linspace(-2.5, 2.5, 200)
plt.plot(xs, xs**2 - 4*xs + 7, label="convexa")
plt.plot(xs, xs**3 - 3*xs, label="no convexa")
plt.legend(); plt.grid(True); plt.savefig("calc03.png")

Examen final 📝

Intenta cada nivel antes de abrir las soluciones.

🟡 Medio

  1. Encuentra y clasifica los critical points de f(x)=x36x2+9xf(x)=x^3-6x^2+9x.
  2. Minimiza f(x)=3x212x+7f(x)=3x^2-12x+7 y da el valor mínimo.

🟠 Medio-difícil

  1. ¿Es convexa f(x)=x4x2f(x)=x^4-x^2? Estudia ff'' y explica dónde es convexa y dónde no.
  2. Demuestra que la loss de la sigmoid al cuadrado puede tener regiones no convexas, pero que la binary cross-entropy [ylnσ(z)+(1y)ln(1σ(z))]-[y\ln\sigma(z)+(1-y)\ln(1-\sigma(z))] es convexa en zz (calcula la 2ª derivada respecto a zz).

🔴 Difícil

  1. Demuestra que la suma de dos funciones convexas es convexa, y que si gg es convexa y a>0a>0, agag es convexa. ¿Por qué esto importa para construir loss functions "seguras de optimizar"?
  2. La regularización L2 añade λw2\lambda w^2 a una loss convexa L(w)L(w). Demuestra que la loss regularizada sigue siendo convexa y explica por qué eso garantiza un mínimo único.
✅ Soluciones
  1. f=3x212x+9=3(x1)(x3)=0x=1,3f'=3x^2-12x+9=3(x-1)(x-3)=0\Rightarrow x=1,3. f=6x12f''=6x-12: en x=1x=1, f=6<0f''=-6<0 → máximo local; en x=3x=3, f=6>0f''=6>0 → mínimo local.
  2. f=6x12=0x=2f'=6x-12=0\Rightarrow x=2; f=6>0f''=6>0 → mínimo. f(2)=1224+7=5f(2)=12-24+7=-5.
  3. f=12x22f''=12x^2-2; 0\ge0 cuando x21/6x^2\ge1/6, i.e. x1/6|x|\ge1/\sqrt6. Convexa en las colas, cóncava cerca de 0 ⇒ no convexa globalmente (tiene dos mínimos).
  4. Para la CE: sea p=σ(z)p=\sigma(z). ddz(ylnp(1y)ln(1p))=py\frac{d}{dz}(-y\ln p-(1-y)\ln(1-p))=p-y (resultado clásico). Segunda derivada =dpdz=p(1p)>0=\frac{dp}{dz}=p(1-p)>0convexa en zz. La sigmoid-cuadrado no garantiza f0f''\ge0.
  5. Si f,gf,g convexas, (f+g)=f+g0(f+g)''=f''+g''\ge0; y (ag)=ag0(ag)''=ag''\ge0 si a>0a>0. Importa porque puedes combinar términos convexos (data loss + regularización) y seguir teniendo un problema convexo con mínimo global.
  6. LL convexa ⇒ L0L''\ge0; λw2\lambda w^2 tiene 2ª derivada 2λ>02\lambda>0. Suma: L+2λ>0L''+2\lambda>0estrictamente convexa ⇒ mínimo único y global.