# Why must kernel functions be scalar products [duplicate]

I'm currently reading Bishop's Pattern Recognition and Machine Learning. In the chapter on kernel methods, he's very clear that kernels must be "valid", that is: be representable as scalar products in some feature space (no matter what that might actually be).

Why is this scalar product criterion so important? Why is it invalid to just define the kernel as some arbitrary, non-product distance function of its arguments?

## marked as duplicate by Sycorax, John, gung♦, whuber♦Jun 20 '16 at 17:20

• If the suggested duplicate indeed answers my question, I don't understand it. Why must kernel function be inner products? Carlosdc's answer takes that as a pre-condition, and does not further motivate it, AIUI. "You can compute scalar products easier than doing explicit feature mapping" certainly has appeal, but I can compute many other functions efficiently as well, scalar product or not. – Christian Aichinger Jun 20 '16 at 19:48
• I don't think that's exactly the same question, the possible duplicates asks the definition of a (valid) kernel, and this questions asks why the kernels are defined this way instead of others. – dontloo Jun 21 '16 at 2:58

AFAIK the kernel trick is only applied when the data only appear in the form of scalar products like $x_1'x_2$. For many problems we need the dual representation in such forms so that the kernel trick can be applied.
If the kernel can be written as scalar products in some feature space $k(x_1, x_2)=\phi(x_1)'\phi(x_2)$, then applying the kernel trick we are actually solving the same problem but in another feature space.