2 クラス サポート ベクター マシン モジュール

この記事では Azure Machine Learning デザイナーのモジュールについて説明します。

サポート ベクターマシン アルゴリズムに基づくモデルを作成するには、このモジュールを使用します。

サポート ベクター マシン (SVM) は、よく調査されたクラスの教師あり学習手法です。 この特定の実装は、連続変数かカテゴリ変数に基づいて、推定される 2 つの結果を予測するのに適しています。

モデルのパラメーターを定義した後、トレーニング モジュールを使用し、ラベル列または結果列を含んだ "タグ付けされたデータセット" を与えることによってモデルをトレーニングします。

サポート ベクター マシンについて

サポート ベクター マシンは、機械学習アルゴリズムの中でも最も初期のものであり、情報検索からテキストや画像の分類まで、さまざまな用途で SVM モデルは使用されてきました。 SVM は、分類タスクと回帰タスクの両方に使用できます。

この SVM モデルは、ラベル付けされたデータを必要とする教師あり学習モデルです。 このアルゴリズムは、トレーニング プロセスで入力データを分析し、"超平面" と呼ばれる多次元の特徴空間でパターンを認識します。 入力されたすべての例はこの空間内の点として表現され、各カテゴリ間のギャップが最も広く明確に分割されるような方法で出力カテゴリにマップされます。

予測の場合は、新しい例が SVM アルゴリズムによって、それぞれのカテゴリに割り当てられ、同じ空間にマッピングされます。

構成方法

このタイプのモデルでは、データセットを正規化したうえで分類器のトレーニングに使用することをお勧めします。

  1. 2 クラス サポート ベクター マシン モジュールをパイプラインに追加します。

  2. [Create trainer mode](トレーナー モードの作成) オプションを設定して、モデルのトレーニング方法を指定します。

    • Single Parameter (単一パラメーター) : モデルの構成方法がわかっている場合、特定の値のセットを引数として渡すことができます。

    • [Parameter Range](パラメーター範囲) : 最適なパラメーターがわからない場合は、モデルのハイパーパラメーターの調整モジュールを使用することにより、最適なパラメーターを見つけることができます。 ある値の範囲を指定すると、トレーナーが設定の複数の組み合わせに対して反復処理を行い、最適な結果を生み出す値の組み合わせを決定します。

  3. モデルの構築時に使用されるイテレーションの回数を示す数値を [Number of iterations](イテレーションの数) に入力します。

    このパラメーターを使用して、トレーニングの速度と正確性のトレードオフを制御できます。

  4. L1 正則化の重みとして使用する値を [ラムダ] に入力します。

    モデルのチューニングには、この正則化係数を使用できます。 値を大きくすると、モデルの複雑度に対するペナルティーが大きくなります。

  5. トレーニング前にフィーチャーを正規化する場合は、 [Normalize features](フィーチャーの正規化) オプションを選択します。

    正規化を適用すると、トレーニング前に、データ ポイントが平均値を中心として 1 単位の標準偏差を備えるようにスケーリングされます。

  6. 係数を正規化するには、 [Project to the unit sphere](単位球面への投影) オプションを選択します。

    単位空間に値を投影すると、トレーニング前に、データ ポイントが 0 を中心として 1 単位の標準偏差を備えるようにスケーリングされます。

  7. 繰り返し実行したときの再現性を確保したい場合は、シードとして使用する整数値を [Random number seed](乱数シード) に入力します。 それ以外の場合、システム クロック値がシードとして使用され、実行するごとに、わずかに違った結果が得られます。

  8. ラベルが付けられたデータセットを接続し、モデルをトレーニングします。

    • [Create trainer mode](トレーナー モードの作成)[Single Parameter](単一パラメーター) に設定した場合は、タグ付けされたデータセットと モデルのトレーニング モジュールを接続します。

    • [Create trainer mode](トレーナー モードの作成)[Parameter Range](パラメーター範囲) に設定した場合は、[Tune Model Hyperparameters](モデルのハイパーパラメーターの調整) を使用して、タグ付けしたデータセットを接続してモデルをトレーニングします。

    注意

    パラメーター範囲を [モデルのトレーニング] に渡すと、単一のパラメーター リストの既定値のみが使用されます。

    [Tune Model Hyperparameters](モデルのハイパーパラメーターの調整) モジュールによって、パラメーターごとに設定の範囲が求められているとき、それに単一のパラメーター値セットを渡した場合、それらの値は無視され、学習器の既定値が使用されます。

    [Parameter Range](パラメーター範囲) オプションを選択し、任意のパラメーターに単一の値を入力した場合、指定した単一の値はスイープ全体で使用されます。これは、他のパラメーターが値の範囲の中で変化する場合でも同様です。

  9. パイプラインを送信します。

結果

トレーニングの完了後:

  • トレーニングされたモデルのスナップショットを保存するには、 [モデルのトレーニング] モジュールの右側のパネルにある [出力] タブを選択します。 [データセットの登録] アイコンを選択して、再利用可能なモジュールとしてモデルを保存します。

  • このモデルをスコアリングに使用するには、モデルのスコア付け モジュールをパイプラインに追加します。

次のステップ

Azure Machine Learning で使用できる一連のモジュールを参照してください。