I had a look at the sklearn.kernel_approxiamtion.Nystroem implementation, which is also described in this post:

Nystroem Method for Kernel Approximation

Here, a kernel-gram-matrix $A$ is decomposed using SVD to calculate $A^{-1/2}$.

I understand that A can be expressed as $U\Sigma V^T$ and $A^{-1}= U\Sigma^{-1} V^T$ . Also, I see that $U=V$ because $A$ is symmetric and thus, this is the same as eigendecomposition.

Now coming to my question: Here, $A^{-1/2}$ is calculated as $A^{-1/2} = U\Sigma^{-1/2}V^T$. I don't really understand this approach and would calculate $A^{-1/2} = U\Sigma^{-1/2}$, instead $(A=(U\Sigma^{-1/2})(\Sigma^{-1/2}V^T)^T=(A)(A^{-1/2})^T)$. I see that that $VV^T=I$ and so, in both cases $A=A^{-1/2}(A^{-1/2})^T$ is the same. So, why do I need $V^T$ in this equation, and how does it impact on my matrix $A^{-1/2}$?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.