リストされた論文では、著者は、EMIノイズが比較的低い周波数帯域からのパケットを使用してSVMをトレーニングするだけで、分類器のノイズ量を最小限に抑えようとしています。したがって、彼らは次のように特徴選択ステップに遺伝的アルゴリズムを組み込んでいます。
まず、この場合の遺伝的アルゴリズムは、特定の問題の周波数帯域の数に等しい長さの0と1の束になります。各「スロット」(実際には遺伝的アルゴリズムでは「遺伝子」と呼ばれます)は、分類器をトレーニングするときにその周波数帯域のデータを使用する必要があるかどうかに対応します。
したがって、データに合計10の周波数帯域を使用している場合、各個人または染色体(スロット/遺伝子のグループ)のサイズは10になり、次のようになります(10個の1 / 0の束)
0110101000
それで、あなたはランダムな染色体の全体の束を生成することから始めます、全体の束はいくつですか?問題によって異なりますが、判断するには確かにある程度の努力が必要です...ハードウェアの機能に応じて、この値を数億から数百万まで大幅に試してみることをお勧めします。
さて、今あなたは0、1のランダムな束を持っているので、何が正しいですか?
ここが楽しい部分です。データを選択する際に、これらの染色体のそれぞれが(個別に/一度に1つずつ)どれだけうまくいくかを評価する必要があります。したがって、各染色体について、データを循環し、SVNをトレーニングします。その特定の染色体がそのパケットの周波数帯域に対応するスポットに「1」を持っている場合に限り、データパケット。
つまり、染色体の例:1000000001があり、最初の周波数帯域に対応するパケットを受信したとすると、SVNのトレーニングセットにそれを受け入れます。この染色体の5番目の周波数帯のパケットを受け取った場合は、それを破棄します。
GAは特徴選択ステップにのみ使用されるため、染色体が「受け入れられた」パケットデータを確認し、このデータを使用して、SVNを通常どおりにトレーニングします(トレーニングデータセット全体ではありません)。次に、このデータを使用してトレーニングしたSVNからエラーを計算し、その良さに基づいて染色体にスコアを割り当てます。
すべての染色体に対してこれを繰り返すと、すべての染色体のリストと、結果のSVNが分類でどれだけうまくいったかがわかります。次に、これまでで最高のパフォーマンスを発揮する染色体を保存し、遺伝的アルゴリズムの手順を実行して、まったく新しい染色体のバッチを作成します。アイデアは、前のステップでうまく機能している染色体を組み合わせることで、SVNのデータを選択するためのさらに優れた染色体を取得できるということです。そして、新しい染色体がこれまでで最高のパフォーマンスを発揮しなくなるまで、この評価/再結合の手順を繰り返すだけです。
わかる?