Say I have an XOR classification. At point (-2,1) I have a circle, at point (2,1) I have a square, at point (-2,-1) I have a square, and at point (2,-1) I have a circle. The circles belong to one class say +1 and the squares belong to a separate class say -1. I am looking for a kernel function which can lead to zero training error using SVM.
I am currently in two dimensions and can send ($x_1$,$x_2$) $\rightarrow$ ($x_1x_2, x_2)$ to separate the classes. This will move the circles on one side and the squares on the other side and we can draw our boundary right down the middle. However, I am having some trouble writing down a kernel function that can lead to zero training error using SVM. All I have found so far is a map. If I wanted to map down to one dimension to separate the classes then I could send $x=(x_1,x_2) \rightarrow x_1x_2$.