サポート・ベクター・マシーンとは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|動画|商品|全文検索
Weblio 辞書 > 学問 > OR事典 > サポート・ベクター・マシーンの意味・解説 

OR事典

日本オペレーションズ・リサーチ学会日本オペレーションズ・リサーチ学会

サポート・ベクター・マシーン

読み方さぽーと・べくたー・ましん
【英】:support vector machine

概要

線形判別関数求め教師付き機械学習法のひとつである.判別関数の複雑さの度合い判別精度双方考慮した,二次計画問題として定式化され,判別関数算出される.ここで用いられる二次計画問題構造特化した最適化アルゴリズムが知られており,データ数が多い大規模判別問題でも,多く場合実用的速度最適化を行うことが可能である.また,カーネル関数を用いることで,非線形判別関数算出することも可能である.

詳説

サポート・ベクター・マシン (SVM) は, 判別関数求め教師付き学習法のひとつである.

今, N\,個の属性を持ったデータM\,与えられており,これを,N\,次元空間\mathbb{R}^{N}\,の点\boldsymbol{a}_{1}, \boldsymbol{a}_{2},\ldots, \boldsymbol{a}_{M} \in \mathbb{R}^{N}\,考える. 各点\boldsymbol{a}_{j}\ (j=1,2,\ldots,M)\,2種類のクラスいづれか一方に属しており, 対応する2値のラベルy_{j} \in \{-1,+1\}\,与えられているとする. このとき, ラベルの値にしたがって点を判別する2クラス判別問題考える.

SVMでは線形関数を用いた判別を行う. N\,次元法線ベクトル\boldsymbol{w} \,および実数b\,定まる線形関数f(\boldsymbol{x}) = \boldsymbol{x}^{T} \boldsymbol{w}- b\, とすれば, 与えられたデータおよびラベルにしたがって,


f(\boldsymbol{a}_{j}) = \boldsymbol{a}_{j}^{T} \boldsymbol{w}- b \left\{ \begin{array}{ll} > 0 & \mbox{if}\ \ y_{j} = 1,\\ < 0 & \mbox{if}\ \ y_{j} = -1, \end{array} \right.\quad j=1,2,\ldots,M \, (1)\,


となるベクトル\boldsymbol{w} \,スカラb\,次に示す最適化問題を解くことで算出する.

一般的には, 与えられた点全てに対して式 (1) を満たす\boldsymbol{w},b\,存在するとは限らないので, 非負の変数\xi_{j}\ (j=1,2,\ldots,M)\,導入し, 次の制約条件


\begin{array}{lll} {\displaystyle \boldsymbol{a}_{j}^{T} \boldsymbol{w}- b + \xi_{j} \geq 1 } & \mbox{if}& y_{j} = 1, \\ {\displaystyle \boldsymbol{a}_{j} \boldsymbol{w}- b - \xi_{j} \leq -1 } & \mbox{if}& y_{j} = -1 \end{array} \, (2)\,


のもと,\xi_{j}\,の和と\boldsymbol{w}\,ノルムできるだけ小さくなる線形関数考える. すなわち, 次の二次計画問題を解き\boldsymbol{w},b\,算出する [2].


\left| \begin{array}{l} \\ \\ \\ \\ \\ \end{array} \right. 最大化 \textstyle \frac{1}{2}\| \boldsymbol{w} \|^{2}_{2} + C \ {\sum}_{j=1}^{M} \xi_{j} (3)\,
制約 \textstyle \boldsymbol{a}_{j}^{T} \boldsymbol{w}- b + \xi_{j} \geq 1, \quad \mbox{if } y_{j} = 1,
\textstyle \boldsymbol{a}_{j}^{T} \boldsymbol{w}- b - \xi_{j} \leq -1, \quad \mbox{if } y_{j} = -1,
\textstyle \xi_{j} \ge 0, \quad j=1,2,\ldots,M


ここで,C\,はあらかじめ設定された正の定数で, \textstyle \| \boldsymbol{w} \|^{2}_{2}\,\textstyle {\sum}_{j=1}^{M} \xi_{j}\,とのバランスコントロールするパラメータである. また, \textstyle \| \boldsymbol{w} \|^{2}_{2}\,正則化項とも呼ばれ, これを小さくすることは判別関数に用いるデータ属性少なくし, 過学習を防ぐ役割があるとされる [6]. 問題 (3) は, 1ノルムソフトマージンSVM呼ばれる定式化である.

通常は,この問題双対問題考え最適化を行う [5]. \alpha_{1},\alpha_{2},\ldots,\alpha_{M}\,双対変数とすれば, 問題 (3) の双対問題


\left| \begin{array}{l} \\ \\ \\ \\ \end{array} \right. 最大化 \textstyle - \frac{1}{2} \sum_{i=1}^{M}\sum_{j=1}^{M} y_{i}y_{j} \boldsymbol{a}_{i}^{T} \boldsymbol{a}_{j}\alpha_{i}\alpha_{j} + \sum_{j=1}^{M} \alpha_{j} (4)\,
制約 \textstyle \sum_{j=1}^{M} y_{j} \alpha_{j}= 0,
0 \leq \alpha_{j} \leq C,\quad j=1,2,\ldots,M


書くことができ, これは1本の等式制約と各変数の上下限制約のみの凹二次関数最大化となる. この特殊構造を用いた最適化アルゴリズム [3, 4] が知られており, データ(M)\,が数10万超えるような大規模問題であっても, 高速最適化が可能である.

双対問題 (4) の最適解\alpha^{*}_{1},\alpha^{*}_{2},\ldots,\alpha^{*}_{M}\,とすれば,KKT条件より主問題 (3) の最適解\boldsymbol{w}^{*},b^{*}\,とは, \textstyle \boldsymbol{w}^{*} = \sum_{j=1}^{M} \alpha_{j}^{*} y_{j} \boldsymbol{a}_{j}\,となる関係があり, さらに0<\alpha_{k}^{*}<C\,となる添え字k\,とすれば, b^{*} = \boldsymbol{a}^{T}_{k} \boldsymbol{w}^{*}-y_{k}\,となることが示される. また, 特に添え字集合SV=\{j|\alpha_{j}^{*} \not = 0 \}\,を定義すれば,j \in SV\,に対応するデータ\boldsymbol{a}_{j}\,をサポート・ベクターと呼ぶ.したがって, 判別関数双対問題最適解とサポート・ベクターにより次のように表されることとなる.


f(\boldsymbol{x}) = \boldsymbol{x}^{T} \boldsymbol{w}^{*} - b^{*} = \sum_{j \in SV} \alpha_{j}^{*} y_{j} \boldsymbol{x}^{T} \boldsymbol{a}_{j} - b^{*}\, (5)\,


さらに, 双対問題 (4) や主問題 (3) は, サポート・ベクター以外を全て取り除いても最適解不変であり, これらの点はSVMでの判別はまった寄与ていないことになる.

SVM最大特徴は, 双対問題(4)を応用することで非線形判別関数構成できる点にある. 非線形判別関数構成するためには, まず, 適当な非線形変換\phi: \mathbb{R}^{N} \to {\mathcal F}\,使いデータ\boldsymbol{a}_{j}\,をより高い次元特徴空間{\mathcal F}\,元へ射影する. 射影された{\mathcal F}\,の元\phi(\boldsymbol{a}_{1}),\phi(\boldsymbol{a}_{2}),\ldots,\phi(\boldsymbol{a}_{M})\,に対して, {\mathcal F}\,上で線形判別関数求めれば, 元の空間で見れば非線形判別関数求めたこととなる.

ここで, 双対問題 (4) に注目すれば,{\mathcal F}\,上の内積\phi(\boldsymbol{a}_{i})^{T}\phi(\boldsymbol{a}_{j})\,の値のみが得られれば定式化が可能であり, 特徴空間での点\phi(\boldsymbol{a}_{j})\,座標を必ずしも必要としないことが分かる. そこで, SVMではカーネル関数呼ばれる特殊な関数\mathcal {K} ( {\cdot} , {\cdot} )\,を用い元のデータ\boldsymbol{x}, \boldsymbol{x}' \in \mathbb{R}^{N}\,から直接{\mathcal F}\,の元\phi(\boldsymbol{x}),\phi(\boldsymbol{x}')\,内積\phi(\boldsymbol{x})^{T}\phi(\boldsymbol{x}')\,算出し, 双対問題最適化により非線形判別関数求められる [1]. よく用いられる代表的カーネル関数として, 多項式カーネル\mathcal{K} (\boldsymbol{x}, \boldsymbol{x}' ) = \left( \boldsymbol{x}^{T}\boldsymbol{x}' + c \right)^{d}\,RBFカーネル \mathcal{K} (\boldsymbol{x},\boldsymbol{x}' ) = \exp\left( -\| \boldsymbol{x} - \boldsymbol{x}' \|^{2}/ \sigma^{2} \right )\,, (ただしd\,自然数パラメータ, c,\sigma\,実数パラメータである) などがある.


カーネル関数の値\mathcal{K} ( \boldsymbol{a}_{i}, \boldsymbol{a}_{j} ) \,i-j\,成分とするM\,次の対称行列K\,とすれば, K\,が半正定値行列となるようなカーネル関数をMercerカーネル(あるいは半正定値カーネル)と呼び, このようなカーネル関数であれば,\mathcal{K} ( \boldsymbol{a}_{i}, \boldsymbol{a}_{j} )=\phi(\boldsymbol{a}_{i})^{T}\phi(\boldsymbol{a}_{j})\,となる特徴空間への変換\phi(\cdot)\,存在することが保証される. 多項式カーネルRBFカーネルはMercerカーネルである [5].また, Mercerカーネルを用いるのであれば, 対応した双対問題は常に凹二次関数最大化となり, 通常二次計画問題解法を用いれば大域的に最適化が可能である.

すなわち, 双対問題最適解\alpha_{j}^{*}\,とすれば, カーネル関数を用いた場合には, 次の非線形判別関数求められることとなる.


f(\boldsymbol{x}) = \sum_{j \in SV}\alpha_{j}^{*} y_{j} \mathcal{K} ( \boldsymbol{x}, \boldsymbol{a}_{j} )- b^{*}.\, (6)\,


すなわち, 判別関数f(\cdot)\,は, サポート・ベクター \boldsymbol{a}_{j}\ (j \in SV)\,に対応するカーネル関数\mathcal{K} (\boldsymbol{x}, \boldsymbol{a}_{j} )\,重ね合せとして算出されると見ることができる.



参考文献

[1] B. E. Boser, I. M. Guyon, and V. N. Vapnik, "A training algorithm for optimal margin classifiers," in Proceedings of the fifth annual workshop on Computationa learning theory, USA, 144-152, 1992.

[2] C. Cortes and V. Vapnik, "Support-vector networks," Machine learning, 20 (1995), 273-297.

[3] T. Joachims, "Making large-scale support vector machine learning practical," in Advances in Kernel Methods, B. Schölkopf, C. Burges, and A. Smola, eds., The MIT Press, 169-184, 1999.

[4] J. C. Platt, "Fast training of support vector machines using sequential minimal optimization," in Advances in Kernel Methods, B. Schölkopf, C. Burges, and A. Smola, eds., The MIT Press, 185-208. 1999.

[5] J. Shawe-Taylor and N. Cristianini, Kernel Methods for Pattern Analysis, Cambridge University Press, 2004.

[6] V. N. Vapnik, The nature of statistical learning theory, Statistics for Engineering and Information Science, Springer-Verlag, 2000.






サポート・ベクター・マシーンに関係した商品


サポート・ベクター・マシーンのページへのリンク

[PR] おすすめ情報

サポート・ベクター・マシーンのお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「サポート・ベクター・マシーン」を見る
_ _   


サポート・ベクター・マシーンのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
日本オペレーションズ・リサーチ学会日本オペレーションズ・リサーチ学会
Copyright (C) 2012 (社)日本オペレーションズ・リサーチ学会 All rights reserved.

©2012 Weblio RSS