5 votos

Cálculo matricial: calcular la arpillera de una ecuación vectorial-Matriz.

Deje $\vec{b}=\langle b_1,\dots,b_n\rangle ^T$ ser un n-dimensional vector de coeficientes. Deje $\vec{x}_1,\dots,\vec{x}_n$ ser $n$ $p$-dimensiones de los vectores. Deje $G(\vec{b})=\log\det\left( \sum_{i=1}^n b_i \vec{x}_i\vec{x}_i^T\right)$.

Deje $A=\sum_{i=1}^n b_i \vec{x}_i\vec{x}_i^T$. Si uno quiere calcular el $i$-ésimo componente de la pendiente, obtenemos

\begin{eqnarray} \nabla_i G(\vec{b}) &=& \text{Tr}\left(\partial_i A \right) \\ &=& \text{Tr}\left( A^{-1} \vec{x}_i\vec{x}_i^T \right) \\ &=& \text{Tr}\left(\vec{x}_i^T A^{-1} \vec{x}_i \right) \\ &=& x_i^T A^{-1} x_i \end{eqnarray}

Yo soy de llenar los detalles hasta la fecha de este documento (página 19, antes de la ecuación (33)). Tan lejos estoy de acuerdo con su cálculo. Sin embargo, no entiendo su cálculo de la línea (33) y (34) en el que se calcula el estado de Hesse.

Afirman que $$ \nabla^2_{ij} (G(\vec{b})) = -(\vec{x}_i^T^{-1}\vec{x}_j)^2. \tag1 $$

Puedo obtener algo diferente. El uso de la Matriz de libro de cocina (ecuación (61)), veo que \begin{eqnarray} \partial_j(\vec{x}_i^T A^{-1} \vec{x}_i) &=& -A^{-1}\vec{x}_i\vec{x}_i^T A^{-1}\cdot\partial_i(A) \tag2\\ &=& -A^{-1}\vec{x}_i\vec{x}_i^T A^{-1} \vec{x}_j\vec{x}_j^T, \end{eqnarray} que es una matriz y no un escalar!

Sé que debo estar haciendo un error en alguna parte. Todavía no estoy muy cómodo con la matriz de cálculo.

Alguien me puede ayudar a averiguar donde me estoy equivocando?

2voto

A.G. Puntos 7303

La derivación en (2) es falsa. Aplicar la fórmula (61) de la Matriz libro de cocina, pero esta es la formula para la derivada de la forma cuadrática con respecto a la totalidad de la matriz. Por eso es una matriz. Usted necesita para calcular la derivada de $G_i'$ con respecto de la variable $b_j$, de manera que son más bien el uso de la ecuación (59) en el libro de cocina. Aquí cómo va $$ G_{ij}"=[G_i']_j'=\frac{\partial x_i^TA^{-1}x_i}{\partial b_j}= x_i^T\frac{\partial^{-1}}{\partial b_j}x_i\stackrel{\text{Eq.(59)}}{=} x_i^T\Bigl(-A^{-1}\underbrace{\frac{\partial}{\partial b_j}}_{x_jx_j^T}^{-1}\Bigr)x_i=\\=-x_i^TA^{-1}x_j\cdot x_j^TA^{-1}x_i $$ que es exactamente su expresión (1).


ACTUALIZACIÓN de explicar la fórmula (61) en la Matriz de libro de cocina.

En una dimensión de cálculo tenemos $f\colon\mathbb{R}\to\mathbb{R}$ y diferenciar de acuerdo a $$ f(x+h)-f(x)=\underbrace{f'(x)\cdot h}_{\partial_x f}+o(|h|).\la etiqueta{*} $$ Al $x$ se convierte en un vector y $f\colon\mathbb{R}^n\to\mathbb{R}$, la derivada se convierte en un vector de derivadas parciales (gradiente), que normalmente tiene el mismo tamaño que el vector $x$, de modo que en el lugar para $x_k$ uno obtiene la derivada parcial $\frac{\partial f}{\partial x_k}$ $$ x=\left[\matriz{x_1\\x_2\\\vdots\\x_n}\right]\qquad\Rightarrow\qquad\frac{\partial f}{\partial x}= \left[\matriz{\frac{\partial f}{\partial x_1}\\\frac{\partial f}{\partial x_2}\\\vdots\\\frac{\partial f}{\partial x_n}}\right]. $$ El diferencial en ( * ), ya no es una multiplicación, se convierte en el producto escalar, es decir, la suma de pointwise multiplicaciones entre la pendiente y la variable $h$ $$ f(x+h)-f(h)=\langle\frac{\partial f}{\partial x},h\rangle+o(\|h\|). $$ Cuando uno tiene una función de $f\colon\mathbb{R}^{m\times n}\to \mathbb{R}$, por ejemplo, $f(X)=a^TX^{-1}b$, como en (61), es también conveniente para organizar la matriz de derivadas parciales de la misma manera que en la posición de $x_{ij}$ obtenemos $\frac{\partial f}{\partial x_{ij}}$, y esta matriz se denota por a $\frac{\partial f}{\partial X}$, sin embargo, el diferencial no es $\partial f=\frac{\partial f}{\partial X}\partial X$ como se escribió en (2), pero, como en el vector caso de que el producto escalar, es decir, $$ \partial f=\langle\frac{\partial f}{\partial x},\partial X\rangle= \text{tr}\Bigl(\biggl(\frac{\partial f}{\partial x}\biggr)^T\partial X\Bigr). $$ Para la versión corregida de (2), sería $$ \text{tr}(-A^{-1}x_ix_i^TA^{-1}x_jx_j^T)=-(x_j^TA^{-1}x_i)^2. $$

2voto

Keith Puntos 31

Usted puede refundición de este problema dentro de una pura forma de la matriz.

Deje $X\in {\mathbb R}^{p\times n}$ denotar la matriz cuyas columnas son los {$x_k$} de vectores, y dejar que la matriz $\,\,B={\rm Diag}(b)$.

A continuación, la función puede ser escrito $$\eqalign{ A &= X\,B\,X^T \cr G &= \log \det (A) = {\rm tr}\,\log(a) \cr }$$ Observe que $A$ $B$ son simétricas.

Encontrar la diferencial de la función, y sucesivamente sustituir las variables hasta que llegar a una expresión que implique $db$ $$\eqalign{ dG &= A^{-T}:dA \cr Y= A^{-1}:X\dB\,X^T \cr Y= X^TA^{-1}X:dB \cr Y= X^TA^{-1}X:{\rm Diag}(db) \cr y= {\rm diag}(X^TA^{-1}X):db \cr }$$ Desde $dG = \frac{\partial G}{\partial b}\!:\!db,\,$ el gradiente es $$\eqalign{ G^\prime = \frac{\partial G}{\partial b} y= {\rm diag}(X^TA^{-1}X) \cr\cr }$$

Para encontrar el estado de Hesse, comienza por tomar el diferencial de la gradiente de $$\eqalign{ dG^\prime &= {\rm diag}(X^T\,dA^{-1}\,X) \cr y= -{\rm diag}(X^TA^{-1}\,dA\,^{-1}X) \cr y= -{\rm diag}(X^TA^{-1}X\dB\,X^TA^{-1}X) \cr y= -{\rm diag}(C\dB\,C) \cr y= -{\rm diag}(C\,{\rm Diag}(db)\,C) \cr }$$ donde he recogido algunos puntos en común matriz de factores en $C=(X^TA^{-1}X),\,$, que también es una matriz simétrica.

Aquí es una práctica de la fórmula de Thomas Minka que convierte el diag-diag operación en un Hadamard (aka elemento-wise) producto: $$ {\rm diag} (\, {\rm Diag}(x)\,B) = (B^T\circ A)\,x $$ La aplicación de Minka la fórmula de los rendimientos $$\eqalign{ dG^\prime &= -(C\circ C)\db \cr }$$ a partir de la cual el estado de Hesse, es visto como $$\eqalign{ G^{\prime\prime} &= -(C\circ C) \cr Y= -(X^TA^{-1}X)\circ(X^TA^{-1}X) \cr }$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X