title: Computing Lagrange Multiplers for a simple Support Vector Machine
body: <p>Firstly, I am a beginner to Support Vector Machines so I'm sorry if I am going about this problem in the wrong way. I am trying to implement a very simple SVM from scratch which uses the identity kernel function to classify linearly separable data into one of two classes. As an example of the sort of data which I will be using, consider the plot below seen in <a href="http://www.google.co.uk/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=2&amp;sqi=2&amp;ved=0CCcQFjAB&amp;url=http%3A%2F%2Faxon.cs.byu.edu%2FDan%2F678%2Fmiscellaneous%2FSVM.example.pdf&amp;ei=HNPcVKKxGait7AaCsYH4Aw&amp;usg=AFQjCNE39TU0YlTK8nVujc0_V1oXfzrgNw&amp;sig2=owXfnucKE8uq3tnQ6oCP4A&amp;bvm=bv.85761416,d.ZGU&amp;cad=rja" rel="nofollow noreferrer">this document</a>: </p>
  
  <p><img src="https://i.stack.imgur.com/z6xnS.png" alt="Plotted linearly separable data"></p>
  
  <p>Using the points (1,0), (3, 1) and (3, -1) as support vectors, we know that the following is true with regards to calculating the decision plane (Screenshotted from the same document): </p>
  
  <p><img src="https://i.stack.imgur.com/gJWVh.png" alt="Lagrange Multipler Formula One">
  Which when fiddled and rearranged a bit gives us Lagrange multipliers of -3.5, 0.75 and 0.75 respectively. </p>
  
  <p>I understand how this algebra works on paper, however I am unsure as to the best approach when it comes to implementation. So my question is as follows: <strong>how are the SVM's  Lagrange Multipliers calculated in practice</strong>? Is there an algorithm which I am missing which will be able to determine these values for <em>arbitrary</em> linearly separable support vectors? Should I use a standard maths library to solve the linear equations (I am implementing the SVM in java)? Would such a maths library be slow for large scale learning? Note that this is a learning exercise so I'm not just looking for a ready made SVM library.</p>
  
  <p>Any other advice would be much appreciated!</p>
  
  <p><strong>EDIT 1</strong>: LutzL made a good point that half the problem is actually determining which points are to be used as the support vectors, so to keep things simple assume for the purpose of this question that they have already been computed.</p>