11 votos

Derivada de matriz con traza y log

Estoy atascado en este problema. Deje que $X\in\mathbb{R}^{n\times n}$ calcula las siguientes derivadas matriciales $$\frac{\partial}{\partial X}\mathrm{tr}(\log(XA)\log(XA)^\top),$$ $$\frac{\partial}{\partial X}\mathrm{tr}(B\log(XA)), $$ donde $\log(\cdot)$ es el logaritmo de la matriz (no por elementos) y $A,B\in\mathbb{R}^{n\times n}$ son matrices constantes.

Gracias de antemano por sus sugerencias.

0 votos

¿Conoces la regla de la cadena y la regla del producto?

0 votos

Por supuesto en el caso escalar, pero me queda una duda: ¿estas reglas son aplicables sin cambios también en el caso matricial? ¿Y el orden de derivación en este último caso? Gracias

3voto

Shuchang Puntos 7562

Supongo que eres capaz de calcular la derivada sin rastro. Y la parte restante, en realidad, no es difícil. Trate de calcular componentwisely, entonces $$\begin{align} \frac{\partial}{\partial X^i_j}\text{tr}f(X)=& \frac{\partial}{\partial X^i_j}f^k_l(X)\delta^l_k\\ =&\frac d{dx}f^k_m(x)|_{x=X}\frac{\partial}{\partial X^i_j}X^m_l\delta^l_k\\ =&\frac d{dx}f^k_m(x)|_{x=X}\delta^m_i\delta^j_l\delta^l_k\\ =&\frac d{dx}f^j_i(x)|_{x=X} \end{align}$$ La conclusión es

$$\frac{\partial}{\partial X}\text{tr}f(X)=\left(\frac d{dx}f(x)|_{x=X}\right)^T$$

1voto

Spencer Puntos 48

Es evidente que el cálculo es casi inviable. En particular, la respuesta de GMB es absolutamente falsa (véase mi comentario anterior). ¿Quién ha dado un buen punto a su respuesta? Sin embargo, se puede dar una respuesta compacta si $X=A^{-1}$ porque $D\log_I=id$ .

Sea $f(X)=tr(B\log(XA))$ . Entonces $Df_{A^{-1}}:H\rightarrow tr(BHA)$ . Así $\nabla (f)_{A^{-1}}=(AB)^T$ .

EDITAR: Que $h(X)=tr(\log(I+X))$ donde $\log$ denota el logaritmo principal y $||X||<1$ . Entonces $h(X)=tr(\sum_{k=1}^{\infty}(-1)^{k+1}/k.X^k) =\sum_{k=1}^{\infty}(-1)^{k+1}/k.tr(X^k)$ y $Dh_X:H\rightarrow \sum_{k=1}^{\infty}(-1)^{k+1}/k.tr(kX^{k-1}H)$ (porque $tr(UV)=tr(VU)$ ) $=tr(\sum_{k=1}^{\infty}(-1)^{k-1}X^{k-1}H)=tr((I+X)^{-1}H)$ . En otras palabras $\nabla(h)_X={(I+X)^{-1}}^T$ . En términos más generales, si $X$ no tiene valores propios en $\mathbb{R}^-$ entonces $g(X)=tr(\log(X))$ . Uno tiene $Dg_X:H\rightarrow tr(X^{-1}H)$ y $\nabla(g)_X={X^{-1}}^T$ .

Aquí $f(X)=tr(B\log(XA))=tr(B\log(Y))$ entonces debemos derivar $u(Y)=tr(BY^k)$ . Por desgracia, $Du_Y:K\rightarrow tr(B(kY^{k-1})K)$ es falsa en general ; sin embargo, es verdadera si, por ejemplo, $BY=YB$ . Por último, cuando $BXA=XAB$ , $Df_X:H\rightarrow tr(B(XA)^{-1}HA)$ (porque $K=HA$ ) $=tr((XA)^{-1}BHA)=tr(X^{-1}BH)$ y $\nabla(f)_X=(X^{-1}B)^T$ no depende de $A$ .

0voto

He aquí una respuesta incompleta:

$\log A = - \sum_{i = 1}^{\infty} \, \frac{1}{i}(I - A)^i$

Así que

$d \log A = \sum_{i = 0}^{\infty} \, (I - A)^i \, dA$

Si conoce las reglas de la cadena y del producto, derivando sobre el $\log A$ término debería ser la única parte complicada.

0 votos

Gracias por su respuesta. Sin embargo, yo buscaba una expresión de forma cerrada (si es que existe).

3 votos

Hola Levdub, la notación $df$ es realmente catastrófico. Aquí $A$ y $dA$ no se desplacen. La derivada de la función $log$ (y de la función $exp$ ) es complicado. Por ejemplo, la derivada de $f(A)=-(I-A)^3$ es $Df_A:H\rightarrow H(I-A)^2+(I-A)H(I-A)+(I-A)^2H$ .

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