AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  AI(人工知能)用語集  >  サポートベクターマシン

サポートベクターマシン

サポートベクターマシン(SVM)は教師あり学習と呼ばれる機械学習の手法の一つです。二値分類・マルチクラス分類などの分類や、回帰に用いられます。訓練データから、各データ点との距離が最大となるマージンを最大化する超平面(分離超平面)を求め、パラメータを学習します。
サポートベクターとは、超平面との距離が最も近いデータの集合です。1963年に線形SVMが考案され、1992年に非線形に拡張されて応用が広がりました。

学習はラグランジュの未定乗数法とカルーシュ・クーン・タッカー(KKT)条件を用いて、最適化問題の一種である凸二次計画問題を解きます。多くの学習モデルが複数の局所最適解をもつのに対し、SVMは唯一の大域的最適解をもつため優位性になっています。


非線形SVMでは、データサンプルを高次元空間へ写像し、特徴空間上で線形分離を行います。「正定値カーネルであれば、このカーネルが特徴空間中での内積となるような変換が存在する」(マーサーの定理)を満たすカーネル(類似度)関数を用います。
これにより、高次元空間での内積は簡易に計算できます(カーネルトリック)。カーネルが対応する空間での超平面は、元の空間では非常に複雑な分類曲面に対応します。

よく使われるカーネル関数には、線形カーネルと非線形なガウスカーネルがあります。超平面が直線である線形カーネルは、同じ分類器であるロジスティック回帰に似た挙動を示します。
一般に、データのサンプル数が少ない場合には線形カーネルが、サンプル数が比較的多い場合にはガウスカーネルが有効とされます。

非線形カーネルには他に

・多項式カーネル
・文字列カーネル
・カイ2乗カーネル
・ヒストグラム交差カーネルなど

があります。カーネル関数の定義により、文字列やグラフといった非数値データにも応用できます。


SVMのデータ分布による区別では、はっきり分かれることを前提としたマージンを「ハードマージン」、誤判別を許すことを前提としたマージンを「ソフトマージン」とそれぞれ呼びます。このような分類誤りの許容度はコストパラメータで調整します。

SVMは1990年代以降、その強力な分類精度から流行しました。しかしながら、カーネル法は大規模データになると計算が遅くて使えないという致命的欠点がありました。このことから、後に大規模データに強いニューラルネットワークが代わって主流となりました。
この問題には、2007年の乱択化フーリエ特徴関数の登場などによるカーネル法の高速化で、大規模データへの対処が試みられています。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加

AI(人工知能)入門セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー IoT入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

Facebookページ