逐次最小問題最適化法
From Wikipedia, the free encyclopedia
逐次最小問題最適化法(英: Sequential Minimal Optimization, SMO)はサポートベクターマシン (SVM) の訓練で生じる2次計画問題 (QP) を解くためのアルゴリズムである。1998年にマイクロソフトリサーチのJohn Plattによって発明された[1]。SMOはサポートベクターマシンの訓練のために広く使われ、人気のLIBSVMツールによって実装される[2][3]。以前から利用できたSVM訓練法はより一層複雑で、高価なサードパーティーのQPソルバーを必要としたので、1998年のSMOアルゴリズムの公表はSVMコミュニティでたくさんの興奮を引き起こした[4]。
→詳細は「サポートベクターマシン」を参照
データセット (x1, y1), ..., (xn, yn) に関する二項分類問題を考える。ここで xi は入力ベクトル、yi ∈ {-1, +1} はそれに対応する2値ラベルである。ソフトマージンサポートベクターマシンは以下の双対問題で表される2次計画問題を解くことによって訓練される:
ただし
ここで C は SVM hyperparameter、K(xi, xj) はカーネル関数で、どちらもユーザが与える。変数 はラグランジュ乗数である。