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

Optimize by Generation (YAGGA)

概要

この演算子は、元の属性セットから一部の属性を選択する場合があり、元の属性セットから新しい属性を生成する場合もあります。 YAGGA(Yet Another Generating Genetic Algorithm)は、属性の追加または削除(または両方)がより良い適合性を証明しない限り、属性の元の数を変更しません。

詳細

機能の選択だけでは不十分な場合があります。これらの場合、機能空間の他の変換を実行する必要があります。指定された属性から新しい属性を生成すると、機能空間が拡張されます。おそらく、拡張機能空間で仮説を簡単に見つけることができます。この演算子は、属性選択手順と属性生成手順を組み合わせたものと考えることができます。元の属性セットから一部の属性を選択し、元の属性から新しい属性を生成することもあります。 (生成)突然変異は、さまざまな確率で以下のいずれかを実行できます。

  • 確率p / 4:新しく生成された属性を特徴ベクトルに追加します。
  • 確率p / 4:ランダムに選択された元の属性を特徴ベクトルに追加します。
  • 確率p / 2:ランダムに選択された属性を特徴ベクトルから削除します。

したがって、特徴ベクトルの長さが拡大および縮小できることが保証されます。より長いまたはより短い人がより良いフィットネスを持っていることが証明されない限り、平均して元の長さを維持します。

遺伝的アルゴリズム(GA)は、自然進化のプロセスを模倣する検索ヒューリスティックです。このヒューリスティックは、最適化と検索の問題に対する有用なソリューションを生成するために日常的に使用されます。遺伝的アルゴリズムは、より大きなクラスの進化的アルゴリズム(EA)に属し、継承、突然変異、選択、クロスオーバーなどの自然進化にヒントを得た手法を使用して、最適化問題の解決策を生成します。遺伝的アルゴリズムの基本的なアルゴリズムを学習するには、最適化選択(進化)演算子の説明を学習してください。

この演算子はネストされた演算子です。つまり、サブプロセスがあります。サブプロセスはパフォーマンスベクトルを返す必要があります。この演算子を適用するには、サブプロセスの基本的な理解が必要です。サブプロセスの基本的な理解については、サブプロセス演算子のドキュメントをご覧ください。

分化

Optimize by Generation (YAGGA2)

YAGGA2オペレーターは、通常のYAGGAオペレーターの改良版です。このオペレーターは、より多くの機能ジェネレーターを許可し、冗長性防止のためのいくつかの手法を提供します。これにより、冗長性の少ない機能を含む小さなExampleSetが作成されます。

入力

  • 設定された例(IOObject)この入力ポートには、ExampleSetが必要です。このExampleSetは、サブプロセスで処理するために、ネストされたチェーンの最初のポート(サブプロセス内)で使用できます。

出力

  • 設定例(IOObject)遺伝的アルゴリズムは、入力ExampleSetに適用されます。結果のExampleSetは、このポートを介して配信されます。
  • 属性の重み(平均ベクトル)属性の重みは、このポートを介して配信されます。
  • パフォーマンスアウト(パフォーマンスベクトル)このポートは、選択した属性のパフォーマンスベクトルを提供します。パフォーマンスベクトルは、パフォーマンス基準値のリストです。

パラメーター

  • limit_max_total_number_of_attributesこのパラメーターは、すべての世代の属性の総数を制限する必要があるかどうかを示します。 trueに設定すると、最大数は属性パラメーターの最大合計数によって指定されます。 範囲:ブール
  • max_total_number_of_attributesこのパラメーターは、「属性の最大数の制限の最大数」パラメーターがtrueに設定されている場合にのみ使用可能です。このパラメーターは、すべての世代の属性の最大総数を指定します。 範囲:整数
  • use_local_random_seedこのパラメーターは、ランダム化にローカルランダムシードを使用する必要があるかどうかを示します。同じ値のローカルランダムシードを使用すると、同じランダム化が生成されます。 範囲:ブール
  • local_random_seedこのパラメータは、 ローカルランダムシードを指定します。このパラメーターは、 ローカルシードの使用パラメーターがtrueに設定されている場合にのみ使用できます。 範囲:整数
  • show_stop_dialogこのパラメーターは、最適な機能スペースの検索を停止する停止ボタンのあるダイアログを表示するかどうかを決定します。最適なフィーチャスペースの検索が停止されると、それまでに見つかった最適な個人が返されます。 範囲:ブール
  • maximal_fitnessこのパラメーターは、最大適合度を指定します。適合度がこの値に達すると、最適化は停止します。 範囲:実数
  • population_sizeこのパラメータは、母集団のサイズ、つまり世代ごとの個体数を指定します。 範囲:整数
  • maximum_number_of_generationsこのパラメーターは、アルゴリズムを終了するまでの世代数を指定します。 範囲:整数
  • use_plusこのパラメーターは、新しい属性の生成に加算関数を適用する必要があるかどうかを示します。 範囲:ブール
  • use_diffこのパラメーターは、新しい属性の生成に差分関数を適用する必要があるかどうかを示します。 範囲:ブール
  • use_multこのパラメーターは、乗算関数を新しい属性の生成に適用する必要があるかどうかを示します。 範囲:ブール
  • use_divこのパラメータは、除算関数を新しい属性の生成に適用する必要があるかどうかを示します。 範囲:ブール
  • use_reciprocalsこのパラメーターは、新しい属性の生成に逆関数を適用する必要があるかどうかを示します。 範囲:ブール
  • use_early_stoppingこのパラメーターは、早期停止を有効にします。 trueに設定されていない場合、常に最大世代数が実行されます。 範囲:ブール
  • generations_without_improvalこのパラメーターは、 早期停止パラメーターの使用がtrueに設定されている場合にのみ使用できます。このパラメーターは、早期停止の停止基準を指定します。つまり、パフォーマンスを改善せずにn世代後に停止します。 nはこのパラメーターで指定されます。 範囲:整数
  • tournament_sizeこのパラメーターは、トーナメントメンバーとして使用される現在の人口の割合を指定します。 範囲:実数
  • start_temperatureこのパラメーターは、スケーリング温度を指定します。 範囲:実数
  • dynamic_selection_pressureこのパラメーターをtrueに設定すると、完全な最適化の実行中に選択圧力が最大に増加します。 範囲:ブール
  • keep_best_individual trueに設定されている場合、各世代の最高の個人が次の世代に選択されることが保証されます。 範囲:ブール
  • p_initialize属性がオンになる初期確率は、このパラメーターによって指定されます。 範囲:実数
  • p_crossover個人が交差のために選択される確率は、このパラメーターによって指定されます。 範囲:実数
  • crossover_typeこのパラメーターにより、クロスオーバーのタイプを選択できます。 範囲:選択
  • use_heuristic_mutation_probabilityこのパラメーターがtrueに設定されている場合、突然変異の確率は1 / nnは属性の数)として選択されます。それ以外の場合、突然変異の確率は、 p突然変異パラメーターRange:booleanで指定する必要があります
  • p_mutation属性が変更される確率は、このパラメーターで指定されます。 -1に設定すると、確率は1 / nに設定されます。nは属性の総数です。 範囲:実数

チュートリアルプロセス

多項式データセットにYAGGAを適用する

「多項式」データセットは、Retrieve演算子を使用してロードされます。 ExampleSetを見ることができるように、ブレークポイントがここに挿入されます。 ExampleSetには、label属性以外に5つの通常の属性があることがわかります。世代別最適化(YAGGA)演算子は、ExampleSetに適用されます。世代別最適化(YAGGA)はネストされた演算子です。つまり、サブプロセスがあります。サブプロセスがパフォーマンスベクトルを提供する必要があります。このパフォーマンスベクトルは、基になる遺伝的アルゴリズムによって使用されます。この演算子のサブプロセスを見てください。ネストされた演算子であるスプリット検証演算子が使用されます。 Split Validationオペレーターのサブプロセスをご覧ください。線形回帰演算子は、モデルをトレーニングするために「トレーニング」サブプロセスで使用されます。トレーニング済みモデルは、「テスト」サブプロセスの「モデルの適用」演算子を使用して適用されます。パフォーマンスは、パフォーマンス(回帰)演算子を使用して測定され、結果のパフォーマンスベクトルは、基になるアルゴリズムによって使用されます。プロセスを実行し、結果ワークスペースに切り替えます。 5つの属性を持っていたExampleSetには、6つの属性があります。属性「a1」および「a2」は元の属性セットから選択され、属性「gensym2」、「gensym35」、「gensym63」、および「gensym72」が生成されました。 YAGGAは属性削減演算子ではないため、結果の属性の数は元の属性の数より少なくなりません。より良い適合性があることが証明されたものに応じて、属性の数を増減する場合があります(またはしない場合があります)。

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