Can anybody explain the difference between the "Kernel Convolution" and "Kernel PCA" to me, please?


1 Answer 1


They are very different concepts, that unfortunately share a common term.

  • For convolutions, the kernel is a tensor that indicates how the value at a particular index is calculated from a neighborhood of that index. For example, you can have a kernel that calculates the average of the 9 pixel neighborhood (for an image) by using the kernel [[1/9, 1/9, 1/9], [1/9, 1/9, 1/9], [1/9, 1/9, 1/9]].

  • For kernel PCA, the "kernel" is the same as the concept for "kernel based methods" such as support vector machines. They are functions that can stand in for the vector dot-product (or equivalent operations for whatever space your samples live in), with some particular properties. Such a kernel corresponds to a mapping of two samples to a different vector space, and taking the regular dot-product in that space. The neat thing is that the transformation does not need to be explicit: as long as you have the kernel function, you can do all the necessary calculations. So, kernel PCA is like regular PCA but with all vector in-products replaced by the kernel function of your choice.

  • 1
    $\begingroup$ thank you @robby-the-belgian $\endgroup$ Commented Nov 12, 2020 at 18:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.