OpenBetaMatemática

← Temas

Derivadas respecto a vectores y matrices

Podrías derivar cualquier expresión vectorial bajando a componentes —escribir las sumas, derivar cada xix_i, recolectar—, pero es lento y opaco. El cálculo matricial da reglas para derivar formas como a⊤x\mathbf{a}^\top\mathbf{x} o x⊤Ax\mathbf{x}^\top A\mathbf{x} de un vistazo, tratando los vectores como un todo. Y la sorpresa tranquilizadora: es un espejo del cálculo escalar que ya dominás.

La convención: el gradiente tiene la forma de x\mathbf{x}

La derivada de un escalar ff respecto de un vector x\mathbf{x} es un vector de la misma forma que x\mathbf{x}, con entrada ii igual a ∂f/∂xi\partial f / \partial x_i —es el gradiente—:

∂f∂x=∇f=(∂f∂x1,…,∂f∂xn)⊤.\frac{\partial f}{\partial \mathbf{x}} = \nabla f = \left(\frac{\partial f}{\partial x_1}, \dots, \frac{\partial f}{\partial x_n}\right)^\top.

Las cuatro identidades

Cubren el 90% de lo que vas a necesitar. Después de cada una, su gemela escalar —para que veas que no son reglas nuevas—.

1 · Forma lineal. ∇(a⊤x)=a\nabla(\mathbf{a}^\top\mathbf{x}) = \mathbf{a}. Como a⊤x=∑iaixi\mathbf{a}^\top\mathbf{x} = \sum_i a_i x_i, derivar en xjx_j deja solo aja_j. (Escalar: ddx(ax)=a\tfrac{d}{dx}(ax) = a.)

2 · Norma al cuadrado. ∇(x⊤x)=2x\nabla(\mathbf{x}^\top\mathbf{x}) = 2\mathbf{x}. Como x⊤x=∑ixi2\mathbf{x}^\top\mathbf{x} = \sum_i x_i^2, derivar en xjx_j da 2xj2x_j. (Escalar: ddx(x2)=2x\tfrac{d}{dx}(x^2) = 2x.)

3 · Forma cuadrática (la clave). ∇(x⊤Ax)=(A+A⊤)x=2Ax\nabla(\mathbf{x}^\top A\mathbf{x}) = (A + A^\top)\mathbf{x} = 2A\mathbf{x} si AA es simétrica. En ∑i,jAijxixj\sum_{i,j} A_{ij} x_i x_j, la variable xkx_k aparece como xix_i y como xjx_j; derivando salen (Ax)k+(A⊤x)k(A\mathbf{x})_k + (A^\top\mathbf{x})_k. (Escalar: ddx(ax2)=2ax\tfrac{d}{dx}(ax^2) = 2ax.) Es la identidad de cada exponente gaussiano y cada varianza cuadrática.

4 · Mínimos cuadrados. ∇∥Ax−b∥2=2A⊤(Ax−b)\nabla\lVert A\mathbf{x} - \mathbf{b}\rVert^2 = 2A^\top(A\mathbf{x} - \mathbf{b}). Expandiendo ∥Ax−b∥2=x⊤A⊤A x−2b⊤Ax+b⊤b\lVert A\mathbf{x} - \mathbf{b}\rVert^2 = \mathbf{x}^\top A^\top A\,\mathbf{x} - 2\mathbf{b}^\top A\mathbf{x} + \mathbf{b}^\top\mathbf{b} y aplicando las identidades 3 (A⊤AA^\top A simétrica) y 1.

El espejo, lado a lado:

ExpresiónGradienteGemela escalar
a⊤x\mathbf{a}^\top\mathbf{x}a\mathbf{a}ddx(ax)=a\tfrac{d}{dx}(ax) = a
x⊤x\mathbf{x}^\top\mathbf{x}2x2\mathbf{x}ddx(x2)=2x\tfrac{d}{dx}(x^2) = 2x
x⊤Ax\mathbf{x}^\top A\mathbf{x}2Ax2A\mathbf{x} (sim.)ddx(ax2)=2ax\tfrac{d}{dx}(ax^2) = 2ax
∥Ax−b∥2\lVert A\mathbf{x} - \mathbf{b}\rVert^22A⊤(Ax−b)2A^\top(A\mathbf{x} - \mathbf{b})(combinación)

Donde el escalar tiene aa, 2x2x, 2ax2ax, el matricial tiene a\mathbf{a}, 2x2\mathbf{x}, 2Ax2A\mathbf{x}: las de siempre, con matrices en lugar de números.

El pago: OLS en tres líneas

La regresión minimiza ∥Xβ−y∥2\lVert X\boldsymbol\beta - \mathbf{y}\rVert^2; el mínimo está donde el gradiente se anula (identidad 4):

∇∥Xβ−y∥2=2X⊤(Xβ−y)=0  ⟹  X⊤X β^=X⊤y  ⟹  β^=(X⊤X)−1X⊤y.\nabla\lVert X\boldsymbol\beta - \mathbf{y}\rVert^2 = 2X^\top(X\boldsymbol\beta - \mathbf{y}) = 0 \;\Longrightarrow\; X^\top X\,\hat{\boldsymbol\beta} = X^\top\mathbf{y} \;\Longrightarrow\; \hat{\boldsymbol\beta} = (X^\top X)^{-1} X^\top\mathbf{y}.

Dos caminos al mismo lugar. En proyecciones obtuviste las ecuaciones normales por geometría (residual ⊥ espacio columna); acá por cálculo (gradiente cero). Coinciden porque el mínimo de una distancia es a la vez "no se puede bajar más" (gradiente cero) y "perpendicularidad". El error ∥Xβ−y∥2\lVert X\boldsymbol\beta - \mathbf{y}\rVert^2 es un cuenco convexo (X⊤XX^\top X definida positiva) y resolver OLS es hallar su fondo.

Ridge sale igual: derivando ∥Xβ−y∥2+λ∥β∥2\lVert X\boldsymbol\beta - \mathbf{y}\rVert^2 + \lambda\lVert\boldsymbol\beta\rVert^2, el término λ∥β∥2\lambda\lVert\boldsymbol\beta\rVert^2 aporta 2λβ2\lambda\boldsymbol\beta (identidad 2), y queda β^=(X⊤X+λI)−1X⊤y\hat{\boldsymbol\beta} = (X^\top X + \lambda I)^{-1} X^\top\mathbf{y} —el +λI+\lambda I que vuelve invertible la matriz—.

El exponente gaussiano

El otro pago directo. La log-densidad gaussiana tiene el exponente −12(x−μ)⊤Σ−1(x−μ)-\tfrac12(\mathbf{x} - \boldsymbol\mu)^\top \Sigma^{-1}(\mathbf{x} - \boldsymbol\mu); derivarlo en x\mathbf{x} es la identidad 3 (con A=Σ−1A = \Sigma^{-1}, simétrica):

∇x[−12(x−μ)⊤Σ−1(x−μ)]=−Σ−1(x−μ).\nabla_{\mathbf{x}}\Bigl[-\tfrac12(\mathbf{x} - \boldsymbol\mu)^\top \Sigma^{-1}(\mathbf{x} - \boldsymbol\mu)\Bigr] = -\Sigma^{-1}(\mathbf{x} - \boldsymbol\mu).

Igualar a cero da x=μ\mathbf{x} = \boldsymbol\mu: la densidad tiene su pico en la media. Y derivando en μ\boldsymbol\mu y sumando sobre los datos sale la ecuación del MLE de la media. Estas identidades son las que te dejan calcular la score ∇θlog⁡L=0\nabla_{\boldsymbol\theta}\log L = \mathbf{0} a mano para modelos gaussianos y lineales, en vez de derivar numéricamente.

Recall activo

  1. ¿Cuánto vale ∇(a⊤x)\nabla(\mathbf{a}^\top\mathbf{x})? ¿Y ∇(x⊤x)\nabla(\mathbf{x}^\top\mathbf{x})?
  2. Derivá ∇(x⊤Ax)\nabla(\mathbf{x}^\top A\mathbf{x}) con AA simétrica. ¿La gemela escalar?
  3. Derivá las ecuaciones normales de OLS igualando un gradiente a cero.
  4. ¿Por qué Ridge produce (X⊤X+λI)−1(X^\top X + \lambda I)^{-1}?

Soluciones: (1) a\mathbf{a} y 2x2\mathbf{x}; (2) 2Ax2A\mathbf{x}, gemela ddx(ax2)=2ax\tfrac{d}{dx}(ax^2) = 2ax; (3) 2X⊤(Xβ^−y)=0⇒X⊤Xβ^=X⊤y2X^\top(X\hat{\boldsymbol\beta} - \mathbf{y}) = 0 \Rightarrow X^\top X\hat{\boldsymbol\beta} = X^\top\mathbf{y}; (4) el término λ∥β∥2\lambda\lVert\boldsymbol\beta\rVert^2 deriva a 2λβ2\lambda\boldsymbol\beta (identidad 2), que suma λI\lambda I dentro de la matriz a invertir.

Con esto, derivar un estimador deja de ser cálculo a ciegas y se vuelve reconocer patrones: casi todo MLE gaussiano o lineal es la identidad 3 aplicada a un exponente cuadrático.