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

さぽーとべくたーましんsupport vector machine略語 SVM別名 サポートベクトルマシン

1行定義

サポートベクターマシンとは、クラスの境界と、境界に最も近いデータとの距離(マージン)が最大になるように境界を決める、教師あり学習の手法のことです。

くわしく

サポートベクターマシン(SVM)は、2つのクラスのデータを分ける境界を引く手法です。SVMは、境界と、境界に最も近いデータとの距離(マージン)が最も大きくなる境界を選びます。この考え方をマージン最大化といいます。

なぜマージンを広げるのか

2つのクラスのぎりぎりを通る境界では、少し違う新しいデータが来たとき、反対側に入ってしまいやすくなります。両側のデータからできるだけ離れた位置に境界を置けば、多少のずれがあっても正しく分類しやすくなります。マージンを広げることは、未知のデータへの性能(汎化性能)を高めるための工夫です。

境界に最も近い位置にあり、境界の位置を決めているデータをサポートベクターと呼びます。境界から遠いデータは、少し動かしても境界に影響しません。手法の名前はここから来ています。

ソフトマージンとカーネルトリック

現実のデータは、直線(高次元では超平面)できれいに分けられるとは限りません。そこで、一部のデータがマージンの内側に入ったり誤分類されたりすることを許し、その度合いにペナルティを課すソフトマージンが使われます。ペナルティの重さを決めるパラメータCを大きくすると誤分類を強く嫌い、小さくするとマージンを広くとります。

曲がった境界でなければ分けられないデータには、カーネルトリックを使います。データを高次元の空間に移すと超平面で分けられることがあり、その計算を、実際に移さずに済ませる方法です。

位置づけと注意点

SVMは、ディープラーニングが広まる前から、精度の高い分類手法として広く使われてきました。2クラス分類が基本ですが、複数の分類器を組み合わせて多クラス分類にも使えます。回帰に応用したサポートベクター回帰(SVR)もあります。距離をもとに境界を決めるため、特徴量の標準化が重要です。データ数が非常に多いと、学習に時間がかかりやすい点にも注意が必要です。

G検定での出題

マージン最大化の考え方、サポートベクターの意味、誤分類を一部許すソフトマージン、線形分離できないデータへのカーネルトリックの適用が問われます。

混同しやすい用語

用語意味
ロジスティック回帰入力の重み付き和をシグモイド関数に通して0から1の確率を出力し、主に2値分類に使う教師あり学習のモデル

◯×チェック

  1. ソフトマージンのSVMでは、一部のデータがマージンの内側に入ることや誤分類されることを許し、その度合いにペナルティを課す。

    答えを見る

    答え ◯ 正しい

    完全には分けられないデータに対応するための考え方です。ペナルティの重さはパラメータCで調整します。

  2. SVMは分類専用の手法であり、数値を予測する回帰問題には応用できない。

    答えを見る

    答え × 誤り

    マージンの考え方を回帰に応用したサポートベクター回帰(SVR)があります。

  3. SVMは2クラス分類が基本だが、複数の2クラス分類器を組み合わせることで多クラス分類にも使える。

    答えを見る

    答え ◯ 正しい

    1つのクラスとそれ以外を分ける一対他や、2クラスずつ分ける一対一といった組み合わせ方があります。

練習問題

サポートベクターマシンの問題(4問)
  1. SVMのマージンとカーネル
  2. SVMの過学習とハイパーパラメータ
  3. SVMとロジスティック回帰の違い
  4. CNNとSVMのカーネルの違い

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術7

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習