2 クラス サポート ベクター マシン モジュールTwo-Class Support Vector Machine module

この記事では Azure Machine Learning デザイナー (プレビュー) 内のモジュールについて説明します。This article describes a module in Azure Machine Learning designer (preview).

サポート ベクターマシン アルゴリズムに基づくモデルを作成するには、このモジュールを使用します。Use this module to create a model that is based on the support vector machine algorithm.

サポート ベクター マシン (SVM) は、よく調査されたクラスの教師あり学習手法です。Support vector machines (SVMs) are a well-researched class of supervised learning methods. この特定の実装は、連続変数かカテゴリ変数に基づいて、推定される 2 つの結果を予測するのに適しています。This particular implementation is suited to prediction of two possible outcomes, based on either continuous or categorical variables.

モデルのパラメーターを定義した後、トレーニング モジュールを使用し、ラベル列または結果列を含んだ "タグ付けされたデータセット" を与えることによってモデルをトレーニングします。After defining the model parameters, train the model by using the training modules, and providing a tagged dataset that includes a label or outcome column.

サポート ベクター マシンについてAbout support vector machines

サポート ベクター マシンは、機械学習アルゴリズムの中でも最も初期のものであり、情報検索からテキストや画像の分類まで、さまざまな用途で SVM モデルは使用されてきました。Support vector machines are among the earliest of machine learning algorithms, and SVM models have been used in many applications, from information retrieval to text and image classification. SVM は、分類タスクと回帰タスクの両方に使用できます。SVMs can be used for both classification and regression tasks.

この SVM モデルは、ラベル付けされたデータを必要とする教師あり学習モデルです。This SVM model is a supervised learning model that requires labeled data. このアルゴリズムは、トレーニング プロセスで入力データを分析し、"超平面" と呼ばれる多次元の特徴空間でパターンを認識します。In the training process, the algorithm analyzes input data and recognizes patterns in a multi-dimensional feature space called the hyperplane. 入力されたすべての例はこの空間内の点として表現され、各カテゴリ間のギャップが最も広く明確に分割されるような方法で出力カテゴリにマップされます。All input examples are represented as points in this space, and are mapped to output categories in such a way that categories are divided by as wide and clear a gap as possible.

予測の場合は、新しい例が SVM アルゴリズムによって、それぞれのカテゴリに割り当てられ、同じ空間にマッピングされます。For prediction, the SVM algorithm assigns new examples into one category or the other, mapping them into that same space.

構成方法How to configure

このタイプのモデルでは、データセットを正規化したうえで分類器のトレーニングに使用することをお勧めします。For this model type, it is recommended that you normalize the dataset before using it to train the classifier.

  1. 2 クラス サポート ベクター マシン モジュールをパイプラインに追加します。Add the Two-Class Support Vector Machine module to your pipeline.

  2. [Create trainer mode](トレーナー モードの作成) オプションを設定して、モデルのトレーニング方法を指定します。Specify how you want the model to be trained, by setting the Create trainer mode option.

    • Single Parameter (単一パラメーター) : モデルの構成方法がわかっている場合、特定の値のセットを引数として渡すことができます。Single Parameter: If you know how you want to configure the model, you can provide a specific set of values as arguments.

    • [Parameter Range](パラメーター範囲) : 最適なパラメーターがわからない場合は、モデルのハイパーパラメーターの調整モジュールを使用することにより、最適なパラメーターを見つけることができます。Parameter Range: If you are not sure of the best parameters, you can find the optimal parameters by using the Tune Model Hyperparameters module. ある値の範囲を指定すると、トレーナーが設定の複数の組み合わせに対して反復処理を行い、最適な結果を生み出す値の組み合わせを決定します。You provide some range of values, and the trainer iterates over multiple combinations of the settings to determine the combination of values that produces the best result.

  3. モデルの構築時に使用されるイテレーションの回数を示す数値を [Number of iterations](イテレーションの数) に入力します。For Number of iterations, type a number that denotes the number of iterations used when building the model.

    このパラメーターを使用して、トレーニングの速度と正確性のトレードオフを制御できます。This parameter can be used to control trade-off between training speed and accuracy.

  4. L1 正則化の重みとして使用する値を [ラムダ] に入力します。For Lambda, type a value to use as the weight for L1 regularization.

    モデルのチューニングには、この正則化係数を使用できます。This regularization coefficient can be used to tune the model. 値を大きくすると、モデルの複雑度に対するペナルティーが大きくなります。Larger values penalize more complex models.

  5. トレーニング前にフィーチャーを正規化する場合は、 [Normalize features](フィーチャーの正規化) オプションを選択します。Select the option, Normalize features, if you want to normalize features before training.

    正規化を適用すると、トレーニング前に、データ ポイントが平均値を中心として 1 単位の標準偏差を備えるようにスケーリングされます。If you apply normalization, before training, data points are centered at the mean and scaled to have one unit of standard deviation.

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

    単位空間に値を投影すると、トレーニング前に、データ ポイントが 0 を中心として 1 単位の標準偏差を備えるようにスケーリングされます。Projecting values to unit space means that before training, data points are centered at 0 and scaled to have one unit of standard deviation.

  7. 繰り返し実行したときの再現性を確保したい場合は、シードとして使用する整数値を [Random number seed](乱数シード) に入力します。In Random number seed, type an integer value to use as a seed if you want to ensure reproducibility across runs. それ以外の場合、システム クロック値がシードとして使用され、実行するごとに、わずかに違った結果が得られます。Otherwise, a system clock value is used as a seed, which can result in slightly different results across runs.

  8. ラベル付けされたデータセットと、いずれかのトレーニング モジュールを接続します。Connect a labeled dataset, and one of the training modules:

    • [Create trainer mode](トレーナー モードの作成)[Single Parameter](単一パラメーター) に設定した場合は、モデルのトレーニング モジュールを使用します。If you set Create trainer mode to Single Parameter, use the Train Model module.
  9. パイプラインを実行します。Run the pipeline.

[結果]Results

トレーニングの完了後:After training is complete:

  • トレーニングされたモデルのスナップショットを保存するには、 [モデルのトレーニング] モジュールの右側のパネルにある [出力] タブを選択します。To save a snapshot of the trained model, select the Outputs tab in the right panel of the Train model module. [データセットの登録] アイコンを選択して、再利用可能なモジュールとしてモデルを保存します。Select the Register dataset icon to save the model as a reusable module.

  • このモデルをスコアリングに使用するには、モデルのスコア付けモジュールをパイプラインに追加します。To use the model for scoring, add the Score Model module to a pipeline.

次のステップNext steps

Azure Machine Learning で使用できる一連のモジュールを参照してください。See the set of modules available to Azure Machine Learning.