Método de Newton

Cómo usar la curvatura para encontrar mínimos más rápido

El Método de Newton (Newton’s Method) es un algoritmo de optimización de segundo orden que utiliza tanto el gradiente como el Hessiano para encontrar mínimos (o raíces) de una función de forma más eficiente que el descenso de gradiente.

👉 Es uno de los métodos más potentes en optimización matemática.

Definición corta

El Método de Newton actualiza parámetros usando gradiente y Hessiano para encontrar mínimos rápidamente.

Definición detallada

La actualización es:xt+1=xtH1f(xt)x_{t+1} = x_t – H^{-1} \nabla f(x_t)xt+1​=xt​−H−1∇f(xt​)

Donde:

  • f(x)\nabla f(x)∇f(x) = gradiente
  • HHH = Hessiano
  • H1H^{-1}H−1 = inversa del Hessiano

👉 A diferencia del descenso de gradiente, ajusta el paso según la curvatura.

Intuición

El método responde:

👉 “No solo hacia dónde ir, sino cuánto avanzar según la forma de la función


Gradiente → dirección  
Hessiano → forma
Newton → dirección + ajuste óptimo

Interpretación geométrica

  • usa aproximación de Taylor de segundo orden
  • encuentra el mínimo de esa aproximación

f(x)f(x0)+f(x0)(xx0)+12(xx0)TH(xx0)f(x) \approx f(x_0) + \nabla f(x_0)(x-x_0) + \frac{1}{2}(x-x_0)^T H (x-x_0)


👉 Newton salta directamente al mínimo local de esa aproximación.

Ejemplo simple

f(x)=x2f(x) = x^2

Gradiente:f(x)=2xf'(x) = 2x

Hessiano:f(x)=2f»(x) = 2

Actualización:xt+1=xt2xt2=0x_{t+1} = x_t – \frac{2x_t}{2} = 0

👉 Converge en un solo paso.


🔄 Comparación con descenso de gradiente

MétodoUsaVelocidad
Gradient Descentgradientelenta
Newtongradiente + Hessianorápida

Método de Newton en machine learning

🔹 1. Optimización rápida

Menos iteraciones.

🔹 2. Curvatura adaptativa

Se ajusta automáticamente.

🔹 3. Uso en modelos pequeños

  • regresión logística
  • modelos convexos

🔹 4. Limitaciones en deep learning

  • Hessiano costoso
  • inversión de matriz cara

Problemas del método

🔹 1. Costo computacional

O(n3)O(n^3)

🔹 2. Hessiano no invertible

Puede fallar.

🔹 3. No siempre converge

Depende del punto inicial.

Variantes

  • Newton amortiguado
  • Quasi-Newton (BFGS, L-BFGS)

Ejemplo conceptual

Descenso de gradiente → pasos pequeños  
Newton → salto directo al mínimo

Ejemplo en Python

import numpy as np
def f(x):
return x**2
def grad(x):
return 2*x
def hessian(x):
return 2
x = 5.0
for _ in range(3):
x = x - grad(x)/hessian(x)
print("Resultado:", x)

Ejemplo en PyTorch

import torch
from torch.autograd.functional import hessian
def f(x):
return x[0]**2
x = torch.tensor([5.0], requires_grad=True)
for _ in range(3):
y = f(x)
grad = torch.autograd.grad(y, x, create_graph=True)[0]
H = hessian(f, x)
x = x - grad / H[0][0]
print("Resultado:", x.item())

Ejemplo 2D

import torch
from torch.autograd.functional import hessian
def f(x):
return x[0]**2 + x[1]**2
x = torch.tensor([3.0, 4.0], requires_grad=True)
for _ in range(2):
y = f(x)
grad = torch.autograd.grad(y, x, create_graph=True)[0]
H = hessian(f, x)
x = x - torch.linalg.solve(H, grad)
print("Resultado:", x)

Qué muestra este ejemplo

  • Uso del Hessiano
  • Convergencia rápida
  • Optimización avanzada

Errores comunes

Ignorar singularidad del Hessiano

Puede romper el algoritmo.

Usarlo en redes grandes

Es computacionalmente inviable.

No regularizar

Puede ser inestable.

Ejemplo conceptual en ML

Función de pérdida  

Newton usa curvatura

Convergencia rápida

Interpretación profunda

El método de Newton permite:

  • aprovechar la geometría de la función
  • acelerar la convergencia
  • entender mejor la optimización

👉 Es la versión “inteligente” del descenso de gradiente.

Conclusión

El Método de Newton utiliza gradiente y Hessiano para encontrar mínimos de forma eficiente, adaptándose a la curvatura de la función. Es más rápido que el descenso de gradiente, pero también más costoso.

👉 Es clave para entender la optimización de segundo orden.

Related Concepts