RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

Optimize Parameters (Evolutionary)

概要

この演算子は、そのサブプロセスで演算子の選択されたパラメーターの最適値を見つけます。進化的計算アプローチを使用します。

詳細

この演算子は、グリッド検索(パラメーターの最適化(Grid)演算子の場合)または貪欲な検索(パラメーターの最適化(2次)演算子の場合)よりも適切なことが多い進化的アプローチを使用して、パラメーターセットの最適値を見つけます。より良い結果につながります。これはネストされた演算子です。つまり、サブプロセスがあります。サブプロセスを複数回実行して、指定されたパラメーターの最適値を見つけます。

この演算子は、 パラメーターポートを介して最適なパラメーター値を提供します。パラメーターポートは、 パラメーターの書き込み演算子を使用してファイルに書き込むこともできます。このパラメーターセットは、パラメーターの読み取り演算子を使用して別のプロセスで読み取ることができます。パラメータの最適値のパフォーマンスベクトルは、 パフォーマンスポートを介して配信されます。サブプロセスの追加の結果は、 結果ポートを介して配信されます。

他のパラメーター最適化スキームもRapidMinerで利用できます。パラメーターの最適化(進化)演算子は、最適な範囲と依存関係がまったくわからない場合に便利です。このパラメーター最適化演算子と同様に機能する別の演算子は、ループパラメーター演算子です。最適化演算子とは対照的に、この演算子はすべてのパラメーターの組み合わせを単純に繰り返します。これは、プロットの目的に特に役立ちます。

分化

Optimize Parameters (Grid)

パラメーターの最適化(グリッド)オペレーターは、パラメーターの選択値のすべての組み合わせに対してサブプロセスを実行し、最適なパラメーター値を提供します。

入力

  • 入力 (IOObject)この演算子は複数の入力を持つことができます。 1つの入力が接続されると、別の入力ポート(使用可能な場合)を受け入れる準備ができた別の入力ポートが使用可能になります。入力の順序は同じままです。この演算子の最初の入力ポートで提供されるオブジェクトは、ネストされたチェーンの最初の入力ポート(サブプロセス内)で利用できます。すべての入力を正しい順序で接続することを忘れないでください。サブプロセスレベルで適切な数のポートが接続されていることを確認してください。

出力

  • パフォーマンス(パフォーマンスベクトル)このポートは、選択したパラメーターの最適値のパフォーマンスベクトルを提供します。パフォーマンスベクトルは、パフォーマンス基準値のリストです。
  • パラメーター(パラメーターセット)このポートは、選択したパラメーターの最適値を提供します。この最適なパラメーターセットは、パラメーターの書き込み演算子を使用してファイルに書き込むことができます。書き込まれたパラメーターセットは、パラメーターの読み取り演算子を使用して別のプロセスで読み取ることができます。
  • 結果(IOObject)サブプロセスの追加の結果は、結果ポートを介して配信されます。この演算子は複数の出力を持つことができます。 1つの結果ポートが接続されると、別の結果ポートが使用可能になり、別の出力(ある場合)を配信する準備が整います。出力の順序は同じままです。サブプロセスの最初の結果ポートで配信されるオブジェクトは、オペレーターの最初の結果ポートで配信されます。すべての出力を正しい順序で接続することを忘れないでください。適切な数のポートが接続されていることを確認してください。

パラメーター

  • edit_parameter_settingsパラメーターは、 パラメーター設定編集メニューから選択します。このメニューからパラメータとその可能な値を選択できます。このメニューには、この演算子のサブプロセス内のすべての演算子をリストする演算子ウィンドウがあります。あなたは演算子ウィンドウ任意のオペレータをクリックすると、その演算子のすべてのパラメータは、 パラメータ・ウィンドウに表示されます。メニューの矢印キーを使用して、任意のパラメーターを選択できます。選択したパラメーターは、 「選択したパラメーター」ウィンドウにリストされます。最適な値を見つけたいパラメーターのみを選択する必要があります。この演算子は、指定された範囲内のパラメーターの最適値を見つけます。選択したすべてのパラメーターの範囲を指定する必要があります。選択したパラメーター([選択したパラメーター]ウィンドウのパラメーター )をクリックすると、[ グリッド/範囲 ]オプションが有効になります。このオプションを使用すると、選択したパラメーターの値の範囲を指定できます。 MinおよびMaxフィールドは、それぞれ範囲の下限と上限を指定するためのものです。この演算子のステップスケールオプションは無効になっています。この演算子は非数値パラメータをサポートしていないため、数値パラメータのみが表示されることに注意してください。 範囲:メニュー
  • error_handlingこのパラメーターを使用すると、内部プロセスの実行中に発生したエラーを処理する方法を選択できます。次のオプションがあります。
    • fail_on_error:エラーが発生した場合、プロセスの実行はエラーメッセージで失敗します。
    • ignore_error:エラーが発生した場合、エラーは無視され、プロセスの実行は次の反復で続行されます。

    範囲:選択

  • max_generationsこのパラメーターは、アルゴリズムを終了するまでの世代数を指定します。 範囲:整数
  • use_early_stoppingこのパラメーターは、早期停止を有効にします。 trueに設定されていない場合、常に最大世代数が実行されます。 範囲:ブール
  • generations_without_improvalこのパラメーターは、 早期停止パラメーターの使用がtrueに設定されている場合にのみ使用できます。このパラメーターは、早期停止の停止基準を指定します。つまり、パフォーマンスを改善せずにn世代後に停止します。 nはこのパラメーターで指定されます。 範囲:整数
  • specify_population_sizeこのパラメーターは、母集団のサイズを指定します。 trueに設定されていない場合、指定されたExampleSetの例ごとに1人が使用されます。 範囲:ブール
  • population_sizeこのパラメータは、 母集団サイズの指定パラメータがtrueに設定されている場合にのみ使用できます。このパラメーターは、人口サイズ、つまり世代ごとの個人数を指定します。 範囲:整数
  • keep_bestこのパラメーターは、最高の個人が生き残るかどうかを指定します。これはエリート選択とも呼ばれます。次世代の最高の個人を変わらずに保持することは、エリート主義またはエリート主義の選択と呼ばれます。 範囲:ブール
  • mutation_typeこのパラメーターは、突然変異演算子のタイプを指定します。 範囲:選択
  • selection_typeこのパラメーターは、この進化的アルゴリズムの選択スキームを指定します。 範囲:選択
  • tournament_fractionこのパラメーターは、 選択タイプパラメーターが「トーナメント」に設定されている場合にのみ使用できます。トーナメントメンバーとして使用される現在の人口の割合を指定します。 範囲:実数
  • crossover_prob個人がクロスオーバーのために選択される確率は、このパラメーターによって指定されます。 範囲:実数
  • use_local_random_seedこのパラメーターは、ランダム化にローカルランダムシードを使用する必要があるかどうかを示します。同じ値のローカルランダムシードを使用すると、同じランダム化が生成されます。 範囲:ブール
  • local_random_seedこのパラメータは、 ローカルランダムシードを指定します。このパラメーターは、 ローカルシードの使用パラメーターがtrueに設定されている場合にのみ使用できます。 範囲:整数
  • show_convergence_plotこのパラメーターは、収束プロットを含むダイアログを描画するかどうかを示します。 範囲:ブール

チュートリアルプロセス

Optimize Parameters(Evolutionary)オペレーターを介したSVMオペレーターのパラメーターの最適値の検索

「重み付け」データセットは、検索演算子を使用してロードされます。最適化パラメーター(進化)演算子が適用されます。パラメーターの最適化(進化)オペレーターのパラメーター設定の編集パラメーターをご覧ください。 [選択されたパラメータ]ウィンドウで、SVMオペレータのCおよびガンマパラメータが選択されていることがわかります。 Selected ParametersウィンドウでSVM.Cパラメータをクリックすると、Cパラメータの範囲が0.001〜100000に設定されていることがわかります。次に、Selected ParametersウィンドウでSVM.gammaパラメータをクリックすると、ガンマパラメータの範囲は0.001〜1.5に設定されます。サブプロセスのすべての反復で、SVM(LibSVM)オペレーターのCおよび/またはガンマパラメーターの値は、最適値の検索で変更されます。

Optimize Parameters(Evolutionary)演算子のサブプロセスをご覧ください。まず、データの分割演算子を使用して、データを2つの等しいパーティションに分割します。 SVM(LibSVM)オペレーターは1つのパーティションに適用されます。結果の分類モデルは、両方のパーティションで2つのモデルの適用演算子を使用して適用されます。テストパーティションとトレーニングパーティションの両方でのSVMモデルの統計的パフォーマンスは、パフォーマンス(分類)演算子を使用して測定されます。最後に、Log演算子を使用して必要な結果を保存します。

Logオペレーターのlogパラメーターには、5つのものが保存されます。パラメーターの最適化(進化)オペレーターの反復は、SVMオペレーターの適用カウントによってカウントされます。これは「Count」という名前の列に保存されます。トレーニングパーティションに適用されたパフォーマンス(分類)演算子の分類エラーパラメーターの値は、「トレーニングエラー」という名前の列に格納されます。テストパーティションに適用されたパフォーマンス(分類)演算子の分類エラーパラメーターの値は、「テストエラー」という名前の列に格納されます。 SVM(LibSVM)オペレーターのCパラメーターの値は、「SVM C」という名前の列に格納されます。 SVM(LibSVM)演算子のガンマパラメーターの値は、「SVM gamma」という名前の列に格納されます。また、保存された情報は、filenameパラメーターで指定されたファイルに書き込まれることに注意してください。

プロセスの最後に、パラメーターの書き込み演算子を使用して、ファイルに最適なパラメーターセットを書き込みます。このファイルは、パラメーターの読み取り演算子を使用して読み取り、これらのパラメーター値を別のプロセスで使用できます。

プロセスを実行し、結果ワークスペースに切り替えます。最適なパラメーターセットの値はSVM.C = 56462およびSVM.gamma = 0.115であることがわかります。次に、Logオペレーターによって保存された値を見て、これらの値を確認します。テーブルビューに切り替えて、保存された値を表形式で表示します。最小テストエラーは0.064(20回目の反復で)であることがわかります。この反復のCおよびガンマパラメーターの値は、最適なパラメーターセットで指定された値と同じです。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル