title: How to test if a kernel is a valid kernel
body: <p>If I define my own method of determining the similarity between two input entities of my Support Vector Machine classifier, and thus define it as my kernel, how do I verify if it is indeed a valid kernel that I can use?</p>
  
  <p>For example, if my inputs are strings, and the kernel I choose is lets say some kind of a string distance metric, how can I decide if I can use it or not for my SVM. I know there are some conditions for a valid SVM kernel. Can anyone tell me what they are and how does one go about verifying those conditions?</p>