Derivata matriciale$\| \left| \mathbf{X}\mathbf{W}\right|-\mathbf{1}_{n \times K} \| ^2_F$rispetto a W

Aug 18 2020

Sto cercando di prendere la matrice derivata della seguente funzione rispetto a$\bf W$:

\begin{equazione} \| \sinistra| \mathbf{X}\mathbf{W}\right|-\mathbf{1}_{n \times K} \| ^2_F \\ \end{equazione}

Dove$\mathbf{X}$è$n \times d$,$\mathbf{W}$è$d \times K$e$\mathbf{1}_{n \times K}$è una marix con tutti gli elementi uno.$\| \cdot \|_F$è la norma di Frobenius e$\left| \mathbf{X}\mathbf{W}\right|$è l'elemento in base al valore assoluto di$\mathbf{X}\mathbf{W}$.

Qualsiasi aiuto è molto apprezzato.

Risposte

3 greg Aug 18 2020 at 23:07

Per comodità di digitazione, definire le matrici$$\eqalign{ Y &= XW \\ J &= 1_{n\times K} \qquad&({\rm all\,ones\,matrix}) \\ S &= {\rm sign}(Y) \\ A &= S\odot Y \qquad&({\rm absolute\,value\,of\,}Y) \\ B &= A-J \\ Y &= S\odot A \qquad&({\rm sign\,property}) \\ }$$dove$\odot$denota il prodotto elementwise/Hadamard e la funzione segno è applicata elementwise. Usa queste nuove variabili per riscrivere la funzione, quindi calcola il suo gradiente.$$\eqalign{ \phi &= \|B\|_F^2 \\&= B:B \\ d\phi &= 2B:dB \\ &= 2(A-J):dA \\ &= 2(A-J):S\odot dY \\ &= 2S\odot(A-J):dY \\ &= 2(Y-S):dY \\ &= 2(Y-S):X\,dW \\ &= 2X^T(Y-S):dW \\ \frac{\partial\phi}{\partial W} &= 2X^T(Y-S) \\ }$$dove i due punti denotano il prodotto traccia/Frobenius, es$$\eqalign{ A:B = {\rm Tr}(A^TB) = {\rm Tr}(AB^T) = B:A }$$La proprietà ciclica della traccia consente di riorganizzare tali prodotti in vari modi$$\eqalign{ A:BC &= B^TA:C \\ &= AC^T:B \\ }$$Infine, quando$(A,B,C)$sono tutti della stessa dimensione, i loro prodotti Hadamard e Frobenius fanno il pendolare tra loro$$\eqalign{ A:B\odot C &= A\odot B:C \\\\ }$$ NB: Quando un elemento di$\,Y$è uguale a zero, il gradiente è indefinito. Questo comportamento è simile alla derivata di$\,|x|\,$nel caso scalare.