2 クラス平均化パーセプトロン

平均化パーセプトロン二項分類モデルを作成します

カテゴリ: Machine Learning/初期化モデル/分類

注意

適用対象: Machine Learning Studio (クラシック)

このコンテンツは、Studio (クラシック) のみに関連しています。 Azure Machine Learning デザイナーに同様のドラッグアンドドロップモジュールが追加されました。 この記事では、2つのバージョンの比較について詳しく説明します。

モジュールの概要

この記事では、Azure Machine Learning Studio (クラシック) の 2 クラスの平均パーセプトロン モジュールを使用して、平均パーセプトロンアルゴリズムに基づいて機械学習モデルを作成する方法について説明します。

この分類アルゴリズムは、教師あり学習手法であるため、ラベル列を含む "タグ付けされたデータセット" が必要となります。 モデルとタグ付きデータセットを入力として指定し、モデルを トレーニング したり、 モデルのハイパーパラメーターを調整したりすることによって、モデルをトレーニングできます。 その後は、トレーニング済みのモデルを使用して新しい入力例の値を予測することができます。

平均パーセプトロンモデルの詳細

平均化パーセプトロンメソッド は、ニューラルネットワークの初期および非常に単純なバージョンです。 この手法では、線形関数に基づいて入力がいくつかの可能な出力に分類され、特徴ベクターから得られる重みのセットと結合されます。このため、"パーセプトロン" と呼ばれます。

単純なパーセプトロン モデルは線形分離可能なパターンを学習するのに適しています。一方、ニューラル ネットワーク (特にディープ ニューラル ネットワーク) は、より複雑なクラス境界をモデル化できます。 ただし、パーセプトロンはより高速であり、ケースを順次処理するため、継続的なトレーニングで使用できます。

2 クラス平均化パーセプトロンの構成方法

  1. Studio (クラシック) で、 2 クラスの平均パーセプトロン モジュールを実験に追加します。

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

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

    • パラメーターの範囲: 最適なパラメーターがわからない場合は、複数の値を指定し、 チューニングモデルハイパーパラメーター モジュールを使用して最適な構成を見つけて、最適なパラメーターを見つけます。 トレーナーは、指定された設定の複数の組み合わせに対して反復処理を行い、最適なモデルを生成する値の組み合わせを決定します。

  3. [Learning rate](学習速度)学習速度 の値を指定します。 学習率の値は、モデルをテストして修正するたびに確率的勾配降下で使用されるステップのサイズを制御します。

    速度の値を小さくすると、モデルのテストが頻繁に実行されますが、ローカルで停滞する可能性があります。 ステップのサイズを大きくすることで収束速度は速くなりますが、真の極小値から離れていってしまうおそれがあります。

  4. [Maximum number of iterations](イテレーションの最大数) には、アルゴリズムによってトレーニング データを検証する回数を入力します。

    早く停止することで、より優れた一般化がもたらされる場合が多いです。 イテレーションの回数を増やすと適合が向上する反面、過剰適合のおそれがあります。

  5. [Random number seed](乱数シード) には、必要に応じて、シードとして使用する整数値を入力します。 繰り返し実行したときの実験の再現性を確保したい場合は、シードを使用することをお勧めします。

  6. トレーニングセットと検証セットで不明な値のグループを作成するには、[ 不明なカテゴリレベルを許可 する] オプションを選択します。 既知の値に対してはモデルの精度が低くなる可能性がある一方、新しい (不明な) 値に対しては予測精度が向上する可能性があります。

    このオプションをオフにした場合、モデルに与えることができる値は、トレーニング データに含まれているものに限定されます。

  7. トレーニングデータセットと トレーニングモジュールのいずれかを接続します。

    注意

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

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

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

結果

トレーニングの完了後:

この学習アルゴリズムの使用例については、 Azure AI Galleryを参照してください。

テクニカル ノート

このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。

使用上のヒント

この種類のモデルの場合、分類器のトレーニングに使用する前にデータセットを正規化することをお勧めします。 正規化オプションについては、「 データの正規化」を参照してください。

平均化パーセプトロン モデルは、ニューラル ネットワーク初期の単純なバージョンです。 そのため、目標が精度よりも速度である場合、単純なデータセットで力を発揮します。 ただし、目的の結果が得られない場合は、次のいずれかのモデルを試してみてください。

モジュールのパラメーター

名前 Range Type Default 説明
Learning rate (学習率) >=double.Epsilon Float 1.0 確率的勾配降下法オプティマイザーの初期学習率。
イテレーションの最大数 >=1 Integer 10 トレーニングのデータセットに対して実行される、確率的勾配降下法のイテレーションの数。
乱数シード Any Integer モデルで使用される乱数ジェネレーターのシードです。 既定の場合は空白のままにします。
不明なカテゴリ レベルの許可 Any Boolean True True の場合、各カテゴリ列の追加レベルを作成します。 トレーニング データセットでは使用できないテスト データセットのレベルはすべて、この追加レベルにマップされます。

出力

名前 Type 説明
未トレーニング モデル ILearner インターフェイス One-vs-All Multiclassモデルのトレーニング、またはクロス検証モデルモジュールに接続できる未トレーニングの二項分類モデル。

関連項目

分類
モジュールの一覧 (アルファベット順)