Content deleted Content added
Olexa Riznyk (talk | contribs) Adding external link for Platt (1998) |
No edit summary Tags: Mobile edit Mobile web edit |
||
(14 intermediate revisions by 10 users not shown) | |||
Line 1:
{{short description|Algorithm for solving the quadratic programming problem from training SVMs}}
{{Infobox Algorithm
|image=
Line 6 ⟶ 7:
|space=
}}
'''Sequential minimal optimization''' ('''SMO''') is an algorithm for solving the [[quadratic programming]] (QP) problem that arises during the training of [[support
| last = Platt | first = John
| year = 1998
| title = Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines
|
| url = https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-98-14.pdf
}}</ref> SMO is widely used for training support vector machines and is implemented by the popular [[LIBSVM]] tool.<ref>{{cite journal
Line 18 ⟶ 19:
|journal=ACM Transactions on Intelligent Systems and Technology
|volume=2 |issue=3 |year=2011
|doi=10.1145/1961189.1961199
}}</ref><ref>Luca Zanni (2006). ''[http://jmlr.csail.mit.edu/papers/volume7/zanni06a/zanni06a.pdf Parallel Software for Training Large Scale Support Vector Machines on Multiprocessor Systems]''.</ref> The publication of the SMO algorithm in 1998 has generated a lot of excitement in the SVM community, as previously available methods for SVM training were much more complex and required expensive third-party QP solvers.<ref>{{Citation▼
|s2cid=961425
▲}}</ref><ref>{{cite web |first=Luca |last=Zanni
| last = Rifkin | first = Ryan
| year = 2002
|
| title = Everything Old is New Again: a Fresh Look at Historical Approaches in Machine Learning
| type = Ph.D. Thesis |publisher=Massachusetts Institute of Technology
| pages = 18
}}</ref>
Line 52 ⟶ 55:
# Repeat steps 1 and 2 until convergence.
When all the Lagrange multipliers satisfy the KKT conditions (within a user-defined tolerance), the problem has been solved. Although this algorithm is guaranteed to converge, heuristics are used to choose the pair of multipliers so as to accelerate the rate of convergence. This is critical for large data sets since there are <math>n(n
== Related
The first approach to splitting large SVM learning problems into a series of smaller optimization tasks was proposed by [[Bernhard
In 1997, [[E. Osuna]], [[R. Freund]], and [[F. Girosi]] proved a theorem which suggests a whole new set of QP algorithms for SVMs.<ref>{{Cite book | doi = 10.1109/NNSP.1997.622408| chapter = An improved training algorithm for support vector machines| title = Neural Networks for Signal Processing [1997] VII. Proceedings of the 1997 IEEE Workshop| pages =
The SMO algorithm is closely related to a family of optimization algorithms called [[Bregman method]]s or row-action methods. These methods solve convex programming problems with linear constraints. They are iterative methods where each step projects the current primal point onto each constraint.<ref name = "Platt"/>
Line 66 ⟶ 69:
== References ==
{{reflist|30em}}
{{Optimization algorithms}}
[[Category:Optimization algorithms and methods]]
[[Category:Support vector machines]]
|