いくつかのトレーニングデータに基づいてレコードを2つのカテゴリ(true / false)に分類するプログラムを実装する必要があり、どのアルゴリズム/方法論を検討すべきか疑問に思っていました。人工ニューラルネットワーク、遺伝的アルゴリズム、機械学習、ベイジアン最適化など、多くの選択肢があるようで、どこから始めればよいのかわかりませんでした。したがって、私の質問は次のとおり です。問題に使用する学習アルゴリズムをどのように選択すればよいですか。
これが役立つ場合、ここに私が解決する必要がある問題があります。
トレーニングデータ:
トレーニングデータは、次のような多くの行で構成されます。
Precursor1, Precursor2, Boolean (true/false)
実行
には、多くの前駆体が与えられます。
その後、
- さまざまなアルゴリズムからアルゴリズムAを選択し(またはアルゴリズムを動的に生成し)、これらの前駆体のあらゆる可能な組み合わせに適用し、放出される「レコード」を収集します。「レコード」は、いくつかのキーと値のペアで構成されています*。
いくつかの素晴らしいアルゴリズムを適用し、これらのレコードを2つのカテゴリ(true / false)に分類します。
電車のデータと同じ形式のテーブルを生成します。
Precursor1, Precursor2, Boolean
そして、プログラム全体は、正解/不正解の数に基づいて採点されます。
*:「レコード」は次のようになります(これが理にかなっていることを願っています)
Record [1...*] Score
-Precursor1 -Key
-Precursor2 -Value
可能なキーの数は限られています。レコードにはこれらのキーの異なるサブセットが含まれます(一部のレコードにはkey1、key2、key3 ...があり、他のレコードにはkey3、key4 ...などがあります)。
実際に2つの学習が必要です。1つはステップ1です。前駆体のペアなどを調べて、比較のためにレコードを発行するために適用するアルゴリズムを決定するモジュールが必要です。もう1つは、ステップ2です。レコードのコレクションを分析し、それらを2つのカテゴリ(true / false)に分類するモジュールが必要です。
前もって感謝します!