2つの遺伝的アルゴリズムの比較


9

同等に動作するはずの遺伝的アルゴリズムの実装が2つあります。ただし、解決できない技術的な制限により、同じ入力が与えられた場合、それらの出力はまったく同じではありません。

それでも、パフォーマンスに大きな違いはないことを示したいと思います。

異なる初期乱数シードを使用して、2つのアルゴリズムのそれぞれに対して同じ構成で20回実行します。各実行のためにと生成誤差最小 人口の最良の個体の適応度を記録しました。アルゴリズムはエリート保持メカニズムを採用しているため、最高の個人の適合度は単調に減少しています。実行は1000世代で構成されるため、実行ごとに1000個の値があります。計算に非常に費用がかかるため、これ以上データを取得できません。

どのテストを採用すべきですか?簡単な方法は、おそらく最終世代のエラーのみを比較することでしょう(ここでも、ここでどのテストを使用しますか?)しかし、一般的に収束動作を比較することも考えられます。


ちょうど明確化:遺伝的アルゴリズムがランダムにソリューションを検索するため、実行の最初のセグメントが価値のあるソリューションを生成する可能性は低いのではないですか?また、「母集団の最小誤差」とはどういう意味ですか?既知の真の値と実行中の1000の値からの任意の解との最小差を意味する場合、実行の結果の偏った表示ではありませんか?結局のところ、実際には、各実行で最終的なソリューションを受け入れ、それより前のすべてを拒否しますよね?
whuber

エラーとは、基本的には1 / fitnessを意味するので、世代の中で最高の個人の価値について話しています。私はすべての世代の最高の個人のフィットネス値を記録しました。つまり、1000 * 20 * 2の数値があり、それぞれが特定の実行の特定の世代における最高の個人の「フィットネス」に対応しています。
nisc 2010

最初の質問は不適切であったと思いますが、いくつかの説明を追加しました..
nisc

回答:


9

確率的アルゴリズムのテストはかなりトリッキーになる可能性があります!

私はシステム生物学で働いており、モデルのシミュレーションに使用できる多くの確率的シミュレータがあります。単一のモデルからの2つの実現は通常異なるため、これらのシミュレータのテストは注意が必要です。

dsmts我々は(解析)特定のモデルの期待値と分散を計算しました。次に、仮説検定を実行して、シミュレーターが真実と異なるかどうかを判断します。詳細はユーザーガイドのセクション3を参照してください。基本的に、平均値のt検定と分散のカイ2乗検定を行います。

あなたのケースでは、2つのシミュレータを比較しているので、代わりに2標本のt検定を使用する必要があります。


すべての世代の情報をどのように使用しますか?
nisc 2010

最も簡単な方法は、複数のテストを実行することです。つまり、すべての世代でテストしてから、Bonferroniまたはfdr補正を使用します。
csgillespie 2010

すべての世代で比較する場合、1/1000 * 0.05の有意水準でテストする必要がありますか?ちょっと厳しいですね。
nisc 2010

確かに、しかし、あなたは多くのテストも行っています-すべてを持つことはできません;)p値をランク付けし、起こり得るエラーが発生する可能性がある場所を確認するためのガイドとしてそれらを使用できます。
csgillespie 2010

1
ボンフェローニ補正の代わりに、より強力なボンフェローニホルムを常に使用できます。ここに私のanyswerを参照してください:stats.stackexchange.com/questions/575/...
ヘンリック

4

たぶん、同じアルゴリズムの2つの実行の平均差を、異なるアルゴリズムの2つの実行の平均差と比較できます。その違いを測定する方法の問題は解決しませんが、より扱いやすい問題である可能性があります。そして、時系列の個々の値は、互いに評価される個々のデータポイントとして扱われる必要がなく、差分計算にフィードされます(n番目のステップでの特定の違いが本当に望んでいるものだとは思わないについてのステートメントを作成します)。

詳細に関する更新 -最終エラー以外に、時系列のどの機能に興味がありますか?私はあなたが実際に解決する3つの異なる質問を得たと思います:

  1. あなたにとっての類似性を構成するものは何ですか、つまり、2つの方法が異なるとは思わないと言ったとき、どういう意味ですか?
  2. それをどのように定量化しますか-1の後で答えることができ、
  3. 2つの方法の有意差をどのようにテストできますか?

私が最初の投稿で言っていたのは、(1)への答えはおそらく1000世代のそれぞれの個人差を考慮していないということだけでした。そして、時系列ごとに、または少なくとも時系列間の類似性のためにスカラー値を考え出すことをお勧めします。そうして初めて、実際の統計の質問にたどり着きます(これは3つすべての点について少なくとも知っていますが、要素ごとにスカラー値を持っているとき、私がたった今尋ねた同様の質問で対応のあるt検定を使用するようにアドバイスされました)。


合理的に聞こえますが、詳細はありますか?
nisc 2010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.