私は、選択されたデータのセットを持つプロジェクトに取り組んでおり、各データには異なる属性があります。属性を使用して、選択したシナリオに最適なデータを選択するには、フィットネス関数を使用する必要があります。
ただし、自分のフィットネス関数を定義する方法を説明しているサイトは実際には見つかりません。私が持っているのは、それが遺伝的アルゴリズムの一部であるということだけです。これは私が得た限りです。それで、ここでいくつかの指針を得ることができますか?
私は、選択されたデータのセットを持つプロジェクトに取り組んでおり、各データには異なる属性があります。属性を使用して、選択したシナリオに最適なデータを選択するには、フィットネス関数を使用する必要があります。
ただし、自分のフィットネス関数を定義する方法を説明しているサイトは実際には見つかりません。私が持っているのは、それが遺伝的アルゴリズムの一部であるということだけです。これは私が得た限りです。それで、ここでいくつかの指針を得ることができますか?
これは GA の難しい部分 (まあ、それとデータ表現) であり、実際には経験によってのみ学ぶことができます。
当然のことながら、関数は結果がどれだけ優れているかを測定するものでなければなりません。特に、幅広いデータにわたって滑らかでなければなりません。データが何であれ、フィットネス関数は改善するための正しい方法を示さなければなりません。
したがって、たとえば、答えが正しくない限りゼロになるフィットネス関数は役に立ちません。開始時に正しい答えに近づくのに役立ちません。
また、状況が良くなるにつれて増加するが、最善の解決策を特定しないフィットネス関数もあまり良くありません。母集団が特定のポイントまで改善されてから行き詰まるからです。
したがって、腰を落ち着けて、データの例をいくつか書き出してから、どのような関数を使用できるかを考える必要があります。悪いデータには低い値を、良いデータには高い値を与える何かが必要です。そして、それは2つの間でうまく調整されます。
最初に思いついたクレイジーなアイデアを試してから、それをどのようにすれば素敵な数学的形式に変換できるか見てみましょう。ブレインストーミングを行い、試行錯誤を続けてください...おそらく、最初の選択があまり良くないことに気付くでしょう。GA を実行すると、何が起こっているのかをより詳細に調べて改善することができます。
必要なものは実際にフィットネス機能であると確信していますか?
フィットネス関数は、おっしゃる通り、遺伝的アルゴリズムで使われるものです。これは、アルゴリズムの各反復で使用され、現在の母集団における問題に対して提案されたすべてのソリューションの品質を評価します。適合度関数は、母集団内の単一の解がどれだけ優れているかを評価します。たとえば、遺伝的アルゴリズムを使用して関数の x 値と y 最小値を見つけようとしている場合、単位の適合度関数は単純に負の y になる可能性があります。 -value (値が小さいほど、フィットネス関数が高くなります)。
私が基本的に言おうとしているのは、フィットネス関数は属性をあまり処理せず、結果を評価するだけです。
属性を含むデータの最も代表的なサンプルを選択したい場合は、分類またはクラスタリングの方法も検討する必要がありますか? 選択したシナリオがどのように表現されるかについてはあまり情報を提供しませんでしたが、おそらくデータをクラスター化することができます (k-means クラスタリング アルゴリズムを試して、分類エラーが大幅に減少しなくなるまでクラスターの数を増やしてみてください)。シナリオの要件が決まったら、代表的なデータ クラスターを選択するよりも?
データ表現に関してクエリがどのように表現されているかについて詳細を説明した場合、誰かから別の (またはより良い) 回答が得られた可能性があります。
繰り返しになりますが、遺伝的アルゴリズムまたは AI / 機械学習分野の他の部分を学ぶことが唯一の目標である場合は、博士号が提案したことを正確に行い、本、音声講義を探し、そのためのクラスに登録するか、同様のことを行う必要があります。