4 votos

¿Cómo diferenciar una ecuación matricial con un vector?

Tengo una ecuación matricial que produce un escalar

$$f(M) = MAM^T - 2 \sum_i^{N} \log(M_i)$$

Dónde $M$ es un $1 \times N$ vector fila, y $A$ es un $N \times N$ matriz. Como tal, el resultado $f$ es un escalar.

¿Cómo se toma la derivada de $f$ en relación con $M$ ? He visto libro de cocina matrix definen las derivadas de las matrices con valores de índice específicos, pero no pude encontrar una definición de diferenciación con vectores.

Mi intuición es algo así como

$$\frac{\partial f}{\partial M} = 2(AM - M^{\circ -1})$$

con mi razonamiento de que los dos $M$ en el primer término, se obtiene $2AM$ una vez diferenciada, y el término logarítmico da como resultado $M$ donde cada elemento se eleva al $-1$ potencia ( $\frac{d \log x}{dx} = x^{-1}$ ).

De nuevo, no estoy seguro de haber hecho esto correctamente, y el hecho de que $f$ es un escalar lo hace un poco más confuso.

0 votos

¿Qué es? $M_i \,$ ?

1 votos

Creo que en lugar de $2AM$ quieres $AM+A^T M$ a menos que se sepa que A$ es simétrico.

0 votos

Desde $M$ es un vector de filas, el producto $AM$ no existe . Sin embargo, si se cambia ese término por $MA$ entonces su resultado es correcto (suponiendo que $A$ es simétrica).

4voto

Markus Scheuer Puntos 16133

Utilizamos la linealidad de la diferenciación y consideramos al principio \begin {align*} g(M)=MAM^T \tag {1} \end {align*} con $M=(M_i)_{1\leq i\leq N}$ un $(1\times N)$ -matriz.

Obtenemos \begin {align*} dg(M)&=dMAM^T+MAdM^T \tag {2} \\ \mathrm {vec}(dg(M))&= \mathrm {vec}(dMAM^T)+ \mathrm {vec}(MAdM^T) \tag {3} \\ &= \left (MA^T \otimes I_1 \right ) \mathrm {vec}(dM)+ \left (I_1 \otimes MA \right ) \mathrm {vec} \left (dM^T \right ) \tag {4} \\ &=MA^T \mathrm {vec}(dM)+MA I_n \mathrm {vec}(dM) \tag {5} \\ &= \left (MA^T+MA \right ) \mathrm {vec}(dM) \\ \color {Azul}{ \frac { \partial g(M)}{dM}}&= \frac { \partial \mathrm {vec}(dg(M))}{ \mathrm {vec}(dM)}= \color {azul}{M \left (A^T+A \right )} \tag {6} \end {align*}

Comentario:

Podemos comprobar el resultado (6) fijando

\begin {align*} g(M)&=MAM^T \\ &= \left (M_i \right )_{1 \leq i \leq N} \left (A_{ij} \right )_{1 \leq i,j \leq N} \left (M_i \right )^T_{1 \leq i \leq N} \\ &= \left ( \sum_ {j=1}^N M_jA_{ij} \right )_{1 \leq i \leq N} \left (M_i \right )^T_{1 \leq i \leq N} \\ &= \sum_ {i=1}^N \sum_ {j=1}^N M_iM_jA_{ij} \end {align*}

Obtenemos

\begin {align*} \color {Azul}{ \frac { \partial g(M)}{ \partial M}}&= \frac { \partial }{ \partial\left (M_1, \ldots M_N \right )} \left ( \sum_ {i=1}^N \sum_ {j=1}^NM_iM_jA_{ij} \right ) \\ &= \left ( \frac { \partial }{ \partial M_k} \sum_ {i=1}^N \sum_ {j=1}^N M_iM_jA_{ij} \right )_{1 \leq k \leq N} \\ &= \left ( \sum_ {{j=1} \atop {j \ne k}}^N M_jA_{kj}+ \sum_ {{i=1} \atop {i \ne k}}^NM_iA_{ik}+2M_kA_{kk} \right )_{1 \leq k \leq N} \\ &\,\, \color {azul}{= \left ( \sum_ {j=1}^NM_j \left (A_{kj}+A_{jk} \right ) \right )_{1 \leq k \leq N}} \end {align*}

de acuerdo con (6).

Finalmente considerando $f$ obtenemos utilizando (6) \begin {align*} \frac { \partial f(M)}{ \partial M}&=M \left (A^T+A \right )-2 \frac { \partial }{ \partial (M_1, \ldots M_N)} \sum_ {i=1}^N \log (M_i) \\ &=M \left (A^T+A \right )-2 \left ( \frac { \partial }{ \partial M_k} \sum_ {i=1}^N \log (M_i) \right )_{1 \leq k \leq N} \\ &\,\, \color {azul}{=M \left (A^T+A \right )-2 \left ( \frac {1}{M_k} \right )_{1 \leq k \leq N}} \end {align*}

2voto

Josué Puntos 1982

Puedes pensar en $f$ como una función $f:\mathbb R^n\to\mathbb R$ . Entonces, si $u\in\mathbb R^n$ , $$\frac{\partial f}{\partial u}=\nabla f\cdot u=\begin{pmatrix}\frac{\partial f}{\partial x_1}&\cdots&\frac{\partial f}{\partial x_n}\end{pmatrix}\begin{pmatrix}u_1\\\vdots\\u_n\end{pmatrix}=\sum_{k}\frac{\partial f}{\partial x_k}u_k.$$ En particular, defina $f:\mathbb R^{1\times n}\to\mathbb R$ por $$M\mapsto MAM^T-2\sum_k\log(M_k),$$ donde $A\in\mathbb R^{n\times n}$ . Entonces, si $N\in\mathbb R^{1\times n}$ , $$\frac{\partial f}{\partial N}(M)=(M(A+A^T)-2M^{\circ-1})\cdot N.$$

Tenga en cuenta que si $A$ es simétrica, $$\frac{\partial f}{\partial N}(M)=2(MA-M^{\circ-1})\cdot N.$$

0 votos

¿Qué es? $N$ ? No aparece en la pregunta y no se define en su respuesta.

0 votos

$N$ es una dirección en la que calcular la derivada de $f$ para que $\frac{\partial f}{\partial N}(M)$ es la derivada de $f$ evaluado en $M$ en dirección a $N$ .

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