Взятие производной матрицы $\| \left| \mathbf{X}\mathbf{W}\right|-\mathbf{1}_{n \times K} \| ^2_F$ относительно W

Aug 18 2020

Я пытаюсь взять матричную производную следующей функции по отношению к $\bf W$:

\ begin {Equation} \ | \ left | \ mathbf {X} \ mathbf {W} \ right | - \ mathbf {1} _ {n \ times K} \ | ^ 2_F \\ \ end {уравнение}

куда $\mathbf{X}$ является $n \times d$, $\mathbf{W}$ является $d \times K$ и $\mathbf{1}_{n \times K}$ Марикс со всеми элементами один. $\| \cdot \|_F$ - норма Фробениуса и $\left| \mathbf{X}\mathbf{W}\right|$ является поэлементным абсолютным значением $\mathbf{X}\mathbf{W}$.

Любая помощь приветствуется.

Ответы

3 greg Aug 18 2020 at 23:07

Для удобства набора определите матрицы $$\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}) \\ }$$ где $\odot$обозначает поэлементное произведение / произведение Адамара, а знаковая функция применяется поэлементно. Используйте эти новые переменные, чтобы переписать функцию, а затем вычислить ее градиент.$$\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) \\ }$$ где двоеточие обозначает след / произведение Фробениуса, т.е. $$\eqalign{ A:B = {\rm Tr}(A^TB) = {\rm Tr}(AB^T) = B:A }$$ Цикличность следа позволяет переставлять такие продукты различными способами. $$\eqalign{ A:BC &= B^TA:C \\ &= AC^T:B \\ }$$ Наконец, когда $(A,B,C)$ все одного размера, их продукты Адамара и Фробениуса коммутируют друг с другом $$\eqalign{ A:B\odot C &= A\odot B:C \\\\ }$$ NB: когда элемент$\,Y$равен нулю, градиент не определен. Это поведение похоже на производную от$\,|x|\,$ в скалярном случае.