本文へ移動

G検定(ジェネラリスト検定)

さぽーとべくちゃーましん

サポートベクターマシン

SVM

Support Vector Machine

線形関数 wx+b の符号でデータをクラスに分け、訓練データから最も離れた境界、つまりマージンが最大になる超平面を選ぶという考え方に立つ、教師あり学習の分類手法です。

詳しい説明

どんな分類器か

サポートベクターマシン(Support Vector Machine、略称SVM)は、教師あり学習でデータをクラスに分ける分類手法です。深層学習の教科書であるイアン・グッドフェロー(Ian Goodfellow)、ヨシュア・ベンジオ(Yoshua Bengio)、アーロン・クールヴィル(Aaron Courville)の『Deep Learning』(2016年)は、SVMを教師あり学習で最も影響力のある手法の1つとして紹介しています。

SVMの判定は、入力 x に重み w を掛けてバイアス b を足した線形関数 wx+b に基づきます。wx+b の値が正なら陽性クラス、負なら陰性クラスと予測します。wx+b がちょうど0になる点の集まりが、2つのクラスを分ける境界になります。

ロジスティック回帰との違い

線形関数 wx+b を使う点で、SVMはロジスティック回帰に似ています。違いは出力の中身にあります。ロジスティック回帰は、あるクラスに属する確率を出力します。SVMは確率を出さず、どちらのクラスに属するかという識別の結果だけを出力します。『Deep Learning』もこの点を両者の違いとして説明しています。

どの境界を選ぶか

2つのクラスを直線や平面、一般には超平面と呼ばれる境界で完全に分けられるデータでは、分け方は1通りに決まりません。統計学習の教科書『An Introduction to Statistical Learning』(2013年)は、データを分離超平面で完全に分離できるなら、そのような超平面は実際には無限に存在すると述べています。

そこで、どの超平面を選ぶかの基準が必要になります。各訓練データから超平面までの垂直距離を測り、そのうち最も小さいものをマージン(margin)と呼びます。マージンが最大になる超平面、つまり訓練データから最も離れた分離超平面を最大マージン超平面(maximal margin hyperplane)と呼び、これを境界に使う分類器を最大マージン分類器(maximal margin classifier)と呼びます。SVMは、このマージンを最大にするという考え方を土台にした手法です。

境界を決めるサポートベクター

最大マージン超平面から等しい距離にあり、超平面の位置を直接左右する訓練データは、サポートベクター(support vectors)と呼ばれます。マージンは最も近い訓練データまでの距離で測るため、境界の位置はこれらの点によって決まります。手法の名前にもこの語が入っています。

起源として引用される論文

『Deep Learning』は、SVMの文献としてベルンハルト・ボーザー(Bernhard E. Boser)らの1992年の論文と、コリンナ・コルテス(Corinna Cortes)とウラジーミル・ヴァプニク(Vladimir Vapnik)の1995年の論文を挙げています。

あわせて読む語

マージンを最大にする具体的な計算はマージン最大化のページで、カーネルを使った拡張はカーネルとカーネルトリックのページで説明します。

試験で問われること

G検定

  • SVMは線形関数 wx+b に基づく教師あり学習の分類手法で、値が正なら陽性クラス、負なら陰性クラスと予測します。この基本の形を押さえておくと、関連する語も理解しやすくなります。
  • ロジスティック回帰と同じく線形関数を使いますが、SVMは確率を出力せず、クラスの識別結果だけを出す点が違いとして整理されます。
  • データを完全に分けられる分離超平面は無数にあり、その中から訓練データまでの最小の垂直距離であるマージンが最大になる超平面を選ぶ、という考え方が中心にあります。
  • 最大マージン超平面から等しい距離にあり、境界の位置を直接左右する訓練データをサポートベクターと呼びます。語と役割を対にして覚えておくとよいでしょう。

最終更新日: 2026/09/23