Tomando a derivada da matriz$\| \left| \mathbf{X}\mathbf{W}\right|-\mathbf{1}_{n \times K} \| ^2_F$em relação a W

Aug 18 2020

Estou tentando obter a derivada da matriz da seguinte função em relação a$\bf W$:

\begin{equação} \| \left| \mathbf{X}\mathbf{W}\right|-\mathbf{1}_{n \times K} \| ^2_F \\ \end{equação}

Onde$\mathbf{X}$é$n \times d$,$\mathbf{W}$é$d \times K$e$\mathbf{1}_{n \times K}$é uma marix com todos os elementos um.$\| \cdot \|_F$é a norma de Frobenius e$\left| \mathbf{X}\mathbf{W}\right|$é o valor absoluto elemento sábio de$\mathbf{X}\mathbf{W}$.

Qualquer ajuda é muito apreciada.

Respostas

3 greg Aug 18 2020 at 23:07

Para facilitar a digitação, defina as matrizes$$\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}) \\ }$$Onde$\odot$denota o produto elemento a elemento/Hadamard e a função de sinal é aplicada elemento a elemento. Use essas novas variáveis ​​para reescrever a função e calcule seu 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) \\ }$$onde dois pontos denota o traço/produto Frobenius, ou seja$$\eqalign{ A:B = {\rm Tr}(A^TB) = {\rm Tr}(AB^T) = B:A }$$A propriedade cíclica do traço permite que tais produtos sejam rearranjados de várias maneiras$$\eqalign{ A:BC &= B^TA:C \\ &= AC^T:B \\ }$$Finalmente, quando$(A,B,C)$são todos do mesmo tamanho, seus produtos Hadamard e Frobenius comutam entre si$$\eqalign{ A:B\odot C &= A\odot B:C \\\\ }$$ NB: Quando um elemento de$\,Y$igual a zero, o gradiente é indefinido. Este comportamento é semelhante à derivada de$\,|x|\,$no caso escalar.