"SupportVectorMachine" (機械学習メソッド)

詳細とサブオプション

  • サポートベクトルマシンは二項分類器である.カーネル関数を使って例から特徴を抽出する.このメソッドは,訓練時に,クラスを分割するマージン最大化超平面を求める.マルチクラス分類問題は(1対1あるいは1対全のストラテジを使って)二項分類問題の集合に簡約される.現在の実装では.バックエンドでLibSVMフレームワークが使われている.
  • オプション"KernelType"を使って使用するカーネルタイプを選択することができる.次は,"KernelType"の可能な設定である.
  • "RadialBasisFunction"指数放射基底関数をカーネルとして使う
    "Polynomial"多項式関数をカーネルとして使う
    "Sigmoid"シグモイド関数をカーネルとして使う
    "Linear"線形関数をカーネルとして使う
  • カーネル"RadialBasisFunction"の形状
  • カーネル"Polynomial"の形状
  • カーネル"Sigmoid"の形状
  • カーネル"Linear"の形状
  • 次は,使用可能なオプションである.
  • "BiasParameter"1多項式カーネルおよびシグモイドカーネルのバイアス項 c
    "GammaScalingParameter" Automatic先行カーネルのパラメータ
    "KernelType" "RadialBasisFunction"より高次元に写像する際に使うカーネル
    "MulticlassStrategy" Automaticマルチクラスの分類器を得るために使う方法
    "PolynomialDegree" 3多項式カーネルの多項式 d の次数
  • 次は,"MulticlassStrategy"の可能な設定である.
  • "OneVersusOne"クラスの各ペアについて二項分類器を訓練する
    "OneVersusAll"各クラスについて1つの二項分類器を訓練する
  • "GammaScalingParameter"はサポートベクトルの影響を制御する.ガンマの値が大きいと影響の半径は小さくなる.
  • "PolynomialDegree"オプションは多項式カーネルタイプに独特である.
  • "MulticlassStrategy"オプションは二項分類器のマルチクラス分類器への一般化に使われる. "OneVersusOne"ストラテジは各クラスを互いに対して検定するのに対し,"OneVersusAll"ストラテジは各クラスを訓練集合の残りに対して検定する.

例題

すべて開くすべて閉じる

  (2)

ラベル付きの例で分類器を訓練する:

分類器についての情報を得る:

新たな例を分類する:

線形分離が不可能なデータを生成する:

可視化する:

このデータ集合で分類器を訓練する:

訓練集合と各クラスの確率分布を特徴の関数としてプロットする:

オプション  (5)

"GammaScalingParameter"  (1)

"GammaScalingParameter"サブオプションの特定の値で分類器を訓練する:

"GammaScalingParameter"はサポートベクトルの影響を制御する.

データを生成し,可視化する:

"GammaScalingParameter"を変えて2つの分類器を訓練する:

影響半径がどのように変わったかを見るために,検定集合に対する両者の性能を見る:

"KernelType"  (2)

特定の"KernelType"を使って分類器を訓練する:

2つの分類器を"KernelType"の例を変えて訓練する:

両者の性能を比較する:

"MulticlassStrategy"  (1)

"FisherIris"データ集合を使い,2つの分類器を"MulticlassStrategy"オプションを変えて訓練する:

検定集合についての両者の確度を見る."OneVersusOne"オプションの方が一般に性能がよい:

"PolynomialDegree"  (1)

"Mushroom"訓練集合を使い,多項式カーネルタイプの次数を変えて2つの分類器を訓練する:

対応する訓練時間を比較する: