The Algorithm of Support Vector Machines

I think that so far I understand the crucial concepts of Support Vector Machines: That we represent our data as points in some n-dimensional space, and in the binary case try to separate them by an optimal maximal margin hyperplane (optimality defined with regards of the bias-variance trade-off, see hard or soft margin SVMs). What I do not know yet is how exactly this hyperplane is found - so what is the algorithm? Given we have two datasets, does an algorithm randomly tries out one plane after the other to determine which plane is the optimal one? What does it mean, that for the calculation of the hyperplane only the support vectors are considered?

• Can you check the first several posts under "Related" in the sidebar --> and clarify in your question the ways in which your question is different from those questions or is not answered by any of the answers to them? – Glen_b Oct 13 '15 at 4:55
• Well, maybe I am wrong, but they seem to be asking about the concepts - not about how the SVM hyperplane learning algorithm is working step by step.. – user24544 Oct 13 '15 at 5:32
• Are you after a step-by-step detailed algorithm from which you could write code? – Glen_b Oct 13 '15 at 5:37
• Not to write code, but understand the method better. I feel I only have a partial understanding by knowing the concepts and the general idea. So what I actually wonder is in how far the calculation of the hyperplane only requires support vectors (that is what our prof said) - to be able to understand this question, I wanted to understand how the search process for the hyperplane is actually carried out.. – user24544 Oct 13 '15 at 9:47
• These days (kernel) SVM's are trained using sequential minimal optimization, which is essentially a customized form of quadratic programming. It's best to start reading there. – Marc Claesen Oct 13 '15 at 9:50