Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Looking for libraries which implement sequential minimal optimization in C++

I want to use SMO (Sequential Minimal Optimization) in order to train an SVM (Support Vector Machine). Can anyone suggest existing C++ libraries which implement SMO?

I plan to use this to train an SVM to find an object in a picture (probably a human).

like image 539
Anton Avatar asked May 11 '10 18:05

Anton


People also ask

What is sequential minimal optimization algorithm?

Sequential minimal optimization (SMO) is an algorithm for solving the quadratic programming (QP) problem that arises during the training of support-vector machines (SVM). It was invented by John Platt in 1998 at Microsoft Research.

Who invented SMO?

Sequential minimal optimization (SMO) is an algorithm for solving the quadratic programming (QP) prob- lem that arises in SVMs. It was invented by John Platt at Microsoft Research in 1998 [3] and is widely used for solving SVM models.

What is weka SMO?

SMO refers to the specific efficient optimization algorithm used inside the SVM implementation, which stands for Sequential Minimal Optimization. Weka Configuration for the Support Vector Machines Algorithm.


2 Answers

  1. Visit this CiteSeer page.
  2. Click "view or download."
  3. Copy/paste or otherwise extract C++ code from implementation section (pages 15 onward).

I suspect more careful searching might find an already built copy. I admit this code is a raw implementation and will probably need some fiddling to make it suitable for incorporation into your own software. Also, I don't know what kind of licensing applies here.

like image 79
Brian Avatar answered Nov 15 '22 08:11

Brian


I would suggest you try svmlight. I am not sure that it implements SMO, though. I do know that Weka has a java implementation of an SVM classifier using SMO, which may also be helpful to you. It also includes many other kinds of classifiers, and it is fairly easy to use.

Удачи!

like image 43
Dima Avatar answered Nov 15 '22 07:11

Dima