多クラス デシジョン ジャングル
重要
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 (クラシック) の多クラス Decision ジャングルモジュールを使用して、 decision ジャングルと呼ばれる監視学習アルゴリズムに基づく機械学習モデルを作成する方法について説明します。
このモジュールを使用してモデルとそのパラメーターを定義し、ラベル付けされたトレーニングデータセットを接続して、 トレーニングモジュールのいずれかを使用してモデルをトレーニングします。 トレーニング済みのモデルを使用して、複数の値を持つターゲットを予測することができます。
デシジョンジャングルの詳細
Decision ジャングル は、 デシジョンフォレストの最近の拡張機能です。 デシジョン ジャングルは、決定の無閉路有向グラフ (DAG) のアンサンブルで構成されます。
デシジョン ジャングルには次のような利点があります。
ツリーの分岐をマージできるようにすることで、通常、デシジョン DAG のメモリ占有領域が減り、デシジョン ツリーより汎化のパフォーマンスが向上します。ただし、トレーニング時間が若干長くなります。
デシジョン ジャングルは、非線形の決定境界を表す非パラメーター型のモデルです。
統合された特徴選択と分類が行われ、ノイズの多い特徴が存在する状況での回復性がある。
この機械学習アルゴリズムの背後にある調査の詳細については、「 Decision ジャングル: 分類 (ダウンロード可能な PDF) のためのコンパクトで豊富なモデル 」を参照してください。
多クラスデシジョンジャングルモデルを構成する方法
Studio (クラシック) で実験に 多クラス Decision ジャングル モジュールを追加します。 このモジュールは、 [Machine Learning]\(機械学習\) の [Initialize]\(初期化\) の [分類] にあります。
モジュールをダブルクリックして [Properties]\(プロパティ\) ウィンドウを開きます。
再サンプリング方法では、複数のツリーを作成する方法 (バギングまたは replication) を選択します。
バギング: バギングを使用するには、このオプションを選択します。これはブートストラップ集約とも呼ばれます。
デシジョン フォレストに含まれる各ツリーからは、予測の手段としてガウス分布が出力されます。 アグリゲーションとは、個々のツリーから返された全ガウス分布の組み合わせによって得られるガウス分布の融合体のモーメントと最初の 2 つのモーメントが一致するガウス分布を見つけ出すことです。
[レプリケート]: レプリケーションを使用するには、このオプションを選択します。 この方法では、各ツリーがまったく同じ入力データでトレーニングされます。 各ツリーノードに使用される分割述語の決定はランダムなままであるため、さまざまなツリーが作成されます。
[Create trainer mode](トレーナー モードの作成) オプションを設定して、モデルのトレーニング方法を指定します。
単一パラメーター: モデルを構成する方法がわかっている場合は、このオプションを使用します。
パラメーター範囲: 最適なパラメーターがわからず、パラメータースイープを使用する場合は、このオプションを使用します。
デシジョン dag の数: ensemble 作成できるグラフの最大数を示します。
デシジョン dag の最大深度: 各グラフの最大深度を指定します。
デシジョン dag の最大幅: 各グラフの最大幅を指定します。
デシジョン DAG レイヤーごとの最適化ステップ数: 各 DAG をビルドするときに実行するデータの反復回数を示します。
カテゴリの特徴に不明な値を許可する: テストデータまたは検証データで不明な値のグループを作成するには、このオプションを選択します。 既知の値に対してはモデルの精度が低くなる可能性がある一方、新しい (不明な) 値に対しては予測精度が向上する可能性があります。
このオプションをオフにした場合、モデルはトレーニングデータに含まれていた値のみを受け入れることができます。
ラベル付けされたデータセットと、いずれかのトレーニング モジュールを接続します。
[Create trainer mode]\(トレーナー モードの作成\) を [Single Parameter]\(単一パラメーター\) に設定した場合は、モデルのトレーニング モジュールを使用します。
[Create trainer mode]\(トレーナー モードの作成\) を [Parameter Range]\(パラメーター範囲\) を設定する場合は、[Tune Model Hyperparameters]\(モデルのハイパーパラメーターの調整\) モジュールを使用します。 このオプションを使用すると、アルゴリズムは、指定した設定の複数の組み合わせに対して反復処理を行い、最適なモデルを生成する値の組み合わせを決定します。
注意
パラメーター範囲を [モデルのトレーニング] に渡すと、パラメーター範囲リストの 1 番目の値のみが使用されます。
[Tune Model Hyperparameters]\(モデルのハイパーパラメーターの調整\) モジュールによって、パラメーターごとに設定の範囲が求められているとき、それに単一のパラメーター値セットを渡した場合、それらの値は無視され、学習器の既定値が使用されます。
[Parameter Range]\(パラメーター範囲\) オプションを選択し、任意のパラメーターに単一の値を入力した場合、指定した単一の値はスイープ全体で使用されます。これは、他のパラメーターが値の範囲の中で変化する場合でも同様です。
実験を実行します。
結果
トレーニングの完了後:
- スコアリングにモデルを使用するには、それをモデルのスコア付けに接続し、新しい入力例の値を予測します。
例
Machine learning でのデシジョンフォレストの使用方法の例については、 Azure AI Galleryを参照してください。
- 多クラス分類器の比較のサンプル: いくつかのアルゴリズムを使用し、その長所と短所について説明します。
テクニカル ノート
このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。
関連する研究
[ レプリケート ] オプションを使用したトレーニングプロセスの詳細については、次を参照してください。
使用上のヒント
データが制限されている場合、またはモデルのトレーニングにかかる時間を最小限に抑える必要がある場合は、次の推奨事項を試してください。
トレーニングセットの制限
トレーニング セットに限られた数のインスタンスが含まれている場合は次のようにします。
- 多数の (たとえば、20 を超える) デシジョン DAG を使用してデシジョン ジャングルを作成します
- バギング オプションを使用して再サンプリングする。
- DAG 層ごとに多数の (たとえば、10,000 を超える) 最適化ステップを指定する。
トレーニング時間の制限
トレーニング セットに多数のインスタンスが含まれており、トレーニング時間が制限されている場合は次のようにします。
- 少数のデシジョン Dag (5-10 など) を使用するデシジョンジャングルを作成します。
- レプリケート オプションを使用して再サンプリングする。
- DAG 層ごとにより少ない (たとえば、2,000 未満の) 最適化ステップを指定する。
モジュールのパラメーター
名前 | Range | Type | Default | 説明 |
---|---|---|---|---|
再サンプリング方法 | Any | ResamplingMethod | バギング | 再サンプリング方法を選択します |
デシジョン DAG の数 | >=1 | Integer | 8 | アンサンブルで作成可能なデシジョン グラフの数を指定します。 |
デシジョン DAG の最大深度 | >=1 | Integer | 32 | アンサンブルで作成するデシジョン グラフの最大の深さを指定します。 |
デシジョン DAG の最大幅 | >=8 | Integer | 128 | アンサンブルで作成するデシジョン グラフの最大幅を指定します。 |
デシジョン DAG 層ごとの最適化ステップの数 | >=1000 | Integer | 2048 | デシジョン グラフの各レベルの最適化に使用するステップの数を指定します。 |
カテゴリ型の特徴の不明な値を許可する | Any | Boolean | True | 既存のカテゴリ型の特徴の不明な値を新しい追加の特徴にマップできるかどうかを示します |
出力
名前 | 型 | 説明 |
---|---|---|
未トレーニング モデル | ILearner インターフェイス | 未トレーニング多クラス分類モデル |