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 and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.