2 クラス平均化パーセプトロン
重要
Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。
2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。
- ML Studio (クラシック) から Azure Machine Learning への機械学習プロジェクトの移動に関する情報を参照してください。
- Azure Machine Learning についての詳細を参照してください。
ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。
平均化パーセプトロン二項分類モデルを作成します
カテゴリ: Machine Learning/ モデルの初期化 / 分類
注意
適用対象: Machine Learning Studio (クラシック) のみ
類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。
モジュールの概要
この記事では、Machine Learning Studio (クラシック) の 2 クラス平均 Perceptron モジュールを使用して、平均パーセプトロン アルゴリズムに基づいて機械学習モデルを作成する方法について説明します。
この分類アルゴリズムは、教師あり学習手法であるため、ラベル列を含む "タグ付けされたデータセット" が必要となります。 モデルとタグ付けされたデータセットをモデルのトレーニングまたはモデルの調整ハイパーパラメーターへの入力として指定することで、モデルをトレーニングできます。 その後は、トレーニング済みのモデルを使用して新しい入力例の値を予測することができます。
平均パーセプトロン モデルの詳細
平均 化されたパーセプトロンメソッドは 、ニューラル ネットワークの初期の非常に単純なバージョンです。 この手法では、線形関数に基づいて入力がいくつかの可能な出力に分類され、特徴ベクターから得られる重みのセットと結合されます。このため、"パーセプトロン" と呼ばれます。
単純なパーセプトロン モデルは線形分離可能なパターンを学習するのに適しています。一方、ニューラル ネットワーク (特にディープ ニューラル ネットワーク) は、より複雑なクラス境界をモデル化できます。 ただし、パーセプトロンはより高速であり、ケースを順次処理するため、継続的なトレーニングで使用できます。
2 クラス平均化パーセプトロンの構成方法
Studio (クラシック ) の実験に 2 クラス平均 Perceptron モジュールを追加します。
[Create trainer mode]\(トレーナー モードの作成\) オプションを設定して、モデルのトレーニング方法を指定します。
[Learning rate]\(学習速度\) に学習速度の値を指定します。 学習率の値は、モデルをテストして修正するたびに確率的勾配降下で使用されるステップのサイズを制御します。
速度の値を小さくすると、モデルのテストが頻繁に実行されますが、ローカルで停滞する可能性があります。 ステップのサイズを大きくすることで収束速度は速くなりますが、真の極小値から離れていってしまうおそれがあります。
[Maximum number of iterations]\(イテレーションの最大数\) には、アルゴリズムによってトレーニング データを検証する回数を入力します。
早く停止することで、より優れた一般化がもたらされる場合が多いです。 イテレーションの回数を増やすと適合が向上する反面、過剰適合のおそれがあります。
[Random number seed]\(乱数シード\) には、必要に応じて、シードとして使用する整数値を入力します。 繰り返し実行したときの実験の再現性を確保したい場合は、シードを使用することをお勧めします。
[不明な カテゴリ レベルを許可する ] オプションを選択して、トレーニング セットと検証セット内の不明な値のグループを作成します。 既知の値に対してはモデルの精度が低くなる可能性がある一方、新しい (不明な) 値に対しては予測精度が向上する可能性があります。
このオプションをオフにした場合、モデルに与えることができる値は、トレーニング データに含まれているものに限定されます。
Connectデータセットと、トレーニング モジュールの 1 つを作成します。
[Create trainer mode]\(トレーナー モードの作成\) を [Single Parameter]\(単一パラメーター\) に設定した場合は、モデルのトレーニング モジュールを使用します。
[Create trainer mode]\(トレーナー モードの作成\) を [Parameter Range]\(パラメーター範囲\) を設定する場合は、[Tune Model Hyperparameters]\(モデルのハイパーパラメーターの調整\) モジュールを使用します。
注意
パラメーター範囲を [モデルのトレーニング] に渡すと、パラメーター範囲リストの 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 の場合、各カテゴリ列の追加レベルを作成します。 トレーニング データセットでは使用できないテスト データセットのレベルはすべて、この追加レベルにマップされます。 |
出力
名前 | 型 | 説明 |
---|---|---|
未トレーニング モデル | ILearner インターフェイス | トレーニングされていない二項分類モデル。このモデルは、One-vs-All Multiclass、モデルのトレーニング、またはモデルのクロス検証モジュールに接続できます。 |