Autor Tema: ¿Cómo se deriva una matriz con respecto de otra matriz?

0 Usuarios y 1 Visitante están viendo este tema.

26 Mayo, 2021, 10:27 pm
Leído 1120 veces

AntonioAlmadasd

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 2
  • País: es
  • Karma: +0/-0
¿Cómo se hace la derivada de la matriz \( M = X^t*W^t*W*X \) con respecto a la matriz \( W \)? (siendo \( X \) vectores columna)

26 Mayo, 2021, 11:35 pm
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

 Bienvenido al foro.

¿Cómo se hace la derivada de la matriz \( M = X^t*W^t*W*X \) con respecto a la matriz \( W \)? (siendo \( X \) vectores fila)

 ¿En qué contexto te surge esta cuestión?. No estoy muy seguro de a que te refieres con derivar respecto a la matriz. También me choca que digas que \( X \) es un vector fila, porque entonces \( X^t \) es columna y entonces \( W^t \) debe de ser un vector fila para que el producto tenga sentido.

 Si te refieres a derivar respecto a cada componente de \( W \) y entendiendo que \( X \) es vector columna (que me parece más lógico), se tiene que:

\( M=\displaystyle\sum_{i=1}^n{}\displaystyle\sum_{j=1}^n{}\displaystyle\sum_{k=1}^m{}x_iw_{ki}w_{kj}x_j \)

Entonces:

\( \dfrac{\partial M}{\partial w_{ab}}=\displaystyle\sum_{j=1}^n{}x_bw_{aj}x_j+\displaystyle\sum_{i=1}^n{}x_iw_{ai}x_b=2\displaystyle\sum_{j=1}^n{}x_bw_{aj}x_j \)

Saludos.

27 Mayo, 2021, 12:33 am
Respuesta #2

Masacroso

  • “Lo que oigo, lo olvido; lo que veo, lo recuerdo; lo que hago, lo aprendo” (antiguo proverbio chino)
  • Moderador Global
  • Mensajes: 5,485
  • País: es
  • Karma: +0/-0
Otra forma asumiendo que usamos la noción común de derivada en espacios multidimensionales: observemos que

\( \displaystyle{
f(W)= x^\top W^\top Wx=Wx \cdot Wx=\|W x\|^2
} \)

donde el punto \( \,\cdot\,  \) representa el producto interior euclídeo de vectores. Si definimos las funciones

\( \displaystyle{
g(A)=Ax,\quad b(x,y)=x\cdot y,\quad i(x)=(x,x)
} \)

entonces tanto \( g \) como \( i \) son lineales y \( b \) es bilineal, por tanto \( \partial g(A)=g,\, \partial i(x)=i \) y \( \partial b(x,y)=b(\,\cdot\, ,y)+b(x,\,\cdot\, ) \), y como \( f=b \circ i\circ g \) entonces de la regla de la cadena nos queda que

\( \displaystyle{
\begin{align*}
\partial f(W)A&=\partial (b \circ i\circ g)(W)A\\
&=(\partial b \circ i\circ g)(W) (\partial i \circ g)(W)\partial g(W)A\\
&=(\partial b \circ i\circ g)(W) (\partial i \circ g)(W)g(A)\\
&=(\partial b \circ i\circ g)(W) i(g(A))\\
&=(\partial b \circ i\circ g)(W)(Ax,Ax)\\
&=\partial b (Wx,Wx)(Ax,Ax)\\
&=b(Wx,Ax)+b(Ax,Wx)\\
&=2 b(Wx,Ax)\\
&=2 Wx\cdot Ax\\
&= 2x^\top W^\top Ax
\end{align*}
} \)

que debe ser lo mismo que le sale a Luis.

21 Junio, 2021, 04:59 pm
Respuesta #3

AntonioAlmadasd

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 2
  • País: es
  • Karma: +0/-0

21 Junio, 2021, 06:57 pm
Respuesta #4

Masacroso

  • “Lo que oigo, lo olvido; lo que veo, lo recuerdo; lo que hago, lo aprendo” (antiguo proverbio chino)
  • Moderador Global
  • Mensajes: 5,485
  • País: es
  • Karma: +0/-0
¿Y si X fuera una matriz nxp?

Sería el mismo desarrollo de mi respuesta anterior, esta vez consideraríamos la función bilineal \( b(X,Y):=X^\top Y \) y las funciones lineales \( g(A)=AX \) e \( i(X)=(X,X) \).