Jacobiano

Cómo describir derivadas de funciones vectoriales

El Jacobiano es una matriz que contiene todas las derivadas parciales de una función vectorial. Generaliza el concepto de gradiente a funciones con múltiples entradas y múltiples salidas.

👉 Es clave en redes neuronales, especialmente en backpropagation y transformaciones entre capas.

Definición corta

El Jacobiano es una matriz de derivadas parciales para funciones vectoriales.

Definición detallada

Para una función:f(x)=[f1(x1,...,xn)f2(x1,...,xn)fm(x1,...,xn)]\mathbf{f}(x) = \begin{bmatrix} f_1(x_1, …, x_n) \\ f_2(x_1, …, x_n) \\ \vdots \\ f_m(x_1, …, x_n) \end{bmatrix}

El Jacobiano es:J=[f1x1f1xnf2x1f2xnfmx1fmxn]J = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\ \frac{\partial f_2}{\partial x_1} & \cdots & \frac{\partial f_2}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix}


👉 Dimensión: m×nm \times nm×n

  • filas → salidas
  • columnas → entradas

Intuición

El Jacobiano responde:

👉 “¿Cómo cambia cada salida respecto a cada entrada?”

Entrada → múltiples variables  
Salida → múltiples funciones
Jacobiano → mapa de sensibilidad completo

Relación con otros conceptos

ConceptoTipo
Derivadaescalar → escalar
Gradienteescalar → vector
Jacobianovector → vector
Hessianovector → matriz (segundo orden)

Ejemplo simple

f(x,y)=[x2y2]f(x, y) = \begin{bmatrix} x^2 \\ y^2 \end{bmatrix}

Jacobiano:J=[2x002y]J = \begin{bmatrix} 2x & 0 \\ 0 & 2y \end{bmatrix}

Interpretación geométrica

El Jacobiano describe:

  • escalado
  • rotación
  • deformación

👉 transformación local del espacio.

Ejemplo conceptual

Espacio original  

Transformación

Espacio deformado (Jacobiano describe esto)

Jacobiano en redes neuronales

🔹 1. Backpropagation

Usa la regla de la cadena:Lx=Lyyx\frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial x}

👉 Jacobianos encadenados.

🔹 2. Capas de red

Cada capa:

👉 transforma vectores

🔹 3. Sensibilidad

Permite analizar:

  • qué entradas afectan más
  • estabilidad del modelo

🔹 4. Normalizing flows

El determinante del Jacobiano:

👉 mide cambio de densidad

Determinante del Jacobiano

det(J)\det(J)

👉 indica:

  • expansión (|det| > 1)
  • contracción (|det| < 1)

Ejemplo paso a paso

f(x,y)=[x+yxy]f(x, y) = \begin{bmatrix} x + y \\ x – y \end{bmatrix}

Jacobiano:J=[1111]J = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}


Ejemplo en Python

import numpy as np
def jacobian(x, y):
return np.array([
[2*x, 0],
[0, 2*y]
])
print(jacobian(2, 3))

Ejemplo en PyTorch

import torch
from torch.autograd.functional import jacobian
def f(x):
return torch.tensor([x[0]**2, x[1]**2])
x = torch.tensor([2.0, 3.0])
J = jacobian(f, x)
print("Jacobiano:\n", J)

Ejemplo con transformación

import torch
from torch.autograd.functional import jacobian
def f(x):
return torch.stack([x[0] + x[1], x[0] - x[1]])
x = torch.tensor([1.0, 2.0])
print(jacobian(f, x))

Qué muestra este ejemplo

  • Derivadas multivariables
  • Transformaciones
  • Base de backpropagation

Errores comunes

Confundir con gradiente

El Jacobiano es más general.

Ignorar dimensiones

Importante en redes profundas.

No considerar el determinante

Clave en modelos generativos.

Ejemplo conceptual en ML

Entrada  

Capas (transformaciones)

Jacobianos encadenados

Salida

Interpretación profunda

El Jacobiano permite:

  • entender transformaciones complejas
  • analizar sensibilidad
  • formalizar backpropagation
  • modelar cambios de densidad

👉 Es la base matemática de cómo fluye la información en redes neuronales.

Conclusión

El Jacobiano describe cómo cada entrada afecta a cada salida en funciones vectoriales. Es fundamental en backpropagation, análisis de sensibilidad y transformaciones en redes neuronales.

👉 Es el puente entre derivadas simples y sistemas complejos.

Related Concepts