Why this matters for ML
Toda la maquinaria de derivadas (y por tanto todo el aprendizaje por gradiente) se apoya en limits. Y necesitas que tus loss functions y activaciones sean continuas (idealmente diferenciables) para poder optimizarlas por gradiente. Este módulo es corto pero es el cimiento lógico del resto del pilar.
Concepts covered
- Function como máquina input→output; domain y range
- Limit: definición intuitiva y notación
- Reglas de límites y límites al infinito
- Continuity
- Por qué importa para diferenciabilidad y optimización
Intuition first
🎬 3Blue1Brown Essence of Calculus cap. 1–2 (idea de cambio) y su video sobre límites. Objetivo: ver el límite como "a qué valor se acerca la función" sin necesidad de llegar.
Theory & key results
Function : a cada input le asocia un único output . Domain = inputs válidos; range = outputs posibles.
Limit: significa que se acerca a tanto como quieras cuando se acerca a (sin necesariamente valer ). Formalmente (ε–δ): para todo existe tal que . No necesitas dominar la ε–δ, pero sí la idea.
Reglas (si los límites existen): el límite de suma/producto/cociente es la suma/producto/cociente de los límites (cociente si el denominador no tiende a 0). Límites al infinito describen el comportamiento asintótico (útil para saturación de sigmoids).
Continuity: es continua en si (existe el límite, existe el valor, y coinciden). Intuición: puedes dibujarla sin levantar el lápiz. Una función diferenciable es continua (lo recíproco no siempre: es continua pero no diferenciable en 0).
Por qué en ML: gradient descent necesita derivadas; las derivadas necesitan límites; y solo funciones (al menos casi por todos lados) diferenciables se pueden optimizar por gradiente. El "kink" no diferenciable de ReLU en 0 es justo la razón por la que se define su derivada por convención ahí.
Worked example
: como es continua, el límite es el valor: .
Caso con indeterminación: da al sustituir. Factoriza: para , así que el límite es . (La función tiene un "hueco" en pero el límite existe.)
Notebook exercises (by hand)
- .
- (resultado famoso; arguméntalo o memorízalo: 1).
- y de lo mismo (saturación de la sigmoid).
- ¿Es continua en 0? ¿Diferenciable en 0? Explica la diferencia.
- Evalúa factorizando.
- Da un ejemplo de función discontinua y explica por qué sería problemática como loss.
Python lab
import numpy as np, sympy as sp
x = sp.symbols("x")
print(sp.limit((x**2 - 1)/(x - 1), x, 1)) # 2
print(sp.limit(sp.sin(x)/x, x, 0)) # 1
print(sp.limit(1/(1+sp.exp(-x)), x, sp.oo)) # 1 (sigmoid satura)
# aproximación numérica de un límite
f = lambda t: (t**2 - 1)/(t - 1)
for h in [0.1, 0.01, 0.001]:
print(f"x=1+{h}: {f(1+h):.4f}") # se acerca a 2
Examen final 📝
Intenta cada nivel antes de abrir las soluciones.
🟡 Medio
- .
- .
🟠 Medio-difícil
- (racionaliza multiplicando por el conjugado).
- Estudia la continuidad de en .
🔴 Difícil
- La ReLU es continua en 0 pero no diferenciable ahí. Demuestra ambas cosas usando límites (compara los límites laterales de la tasa de cambio). ¿Por qué en la práctica se le asigna derivada 0 (o 1) en 0?
- Demuestra que si es diferenciable en , entonces es continua en (pista: escribe y toma límite).
✅ Soluciones
- .
- Dividiendo por : .
- Multiplica por : numerador , queda .
- Límite por izquierda ; por derecha ; . Coinciden ⇒ continua. (Nota: la derivada NO es continua ahí: pendientes vs … en este caso sí es diferenciable; verifica lateral y → diferenciable.)
- Continuidad: . Diferenciabilidad: la tasa vale para y para ; los límites laterales difieren ⇒ no existe la derivada en 0. En la práctica se elige un subgradiente (0 o 1) porque el conjunto donde tiene medida cero y no afecta el entrenamiento.
- , luego : continua.