最適化問題の遺伝的アルゴリズムがあります。同じ入力と同じパラメーター(母集団のサイズ、世代のサイズ、クロスオーバー、突然変異)での複数の実行に対するアルゴリズムの実行時間をプロットしました。
実行時間は実行ごとに異なります。これは正常ですか?
また、大きな入力で実行すると、期待に反して実行時間が増加する代わりに減少する場合があることにも気付きました。これは予想されますか?
遺伝的アルゴリズムのパフォーマンスを実験的に分析するにはどうすればよいですか?
最適化問題の遺伝的アルゴリズムがあります。同じ入力と同じパラメーター(母集団のサイズ、世代のサイズ、クロスオーバー、突然変異)での複数の実行に対するアルゴリズムの実行時間をプロットしました。
実行時間は実行ごとに異なります。これは正常ですか?
また、大きな入力で実行すると、期待に反して実行時間が増加する代わりに減少する場合があることにも気付きました。これは予想されますか?
遺伝的アルゴリズムのパフォーマンスを実験的に分析するにはどうすればよいですか?
回答:
典型的なアプローチは、進化的アルゴリズム(EA)のいくつかの実行を実行し、時間の経過に伴う平均パフォーマンスをプロットすることです(実行最高の個々の NOT母集団平均の平均パフォーマンス)。
目安としては、最低30回の実行をお勧めします(もちろん、50回から100回の実行がより適切です)。
平均は、一連の実行で達成された最良値よりも優れていますが、分散も考慮する必要があります。
ランディオルソンのウェブサイトにいくつかの良い例があります:
いくつかの複製に対する両方のアルゴリズムの平均適合度。このグラフから、私たちのアルゴリズムは平均して現在の最良のアルゴリズムよりもパフォーマンスが良いと結論付けます。
各アルゴリズムの95%信頼区間での平均適合度。このグラフは、私たちのアルゴリズムが実際には現在の最良のアルゴリズムよりもパフォーマンスが優れているわけではなく、偶然のために平均してパフォーマンスが優れているように見えるだけであることを示しています。
母平均の信頼区間を計算する方法の基本的な内訳は次のとおりです。
標本平均を特定する 。ながら とは異なり 、人口平均、それらはまだ同じ方法で計算されます:
(修正された)標本標準偏差を特定する :
臨界値を計算し、、Student-t分布の。この値は信頼水準に依存し、、および観測数、 。
臨界値は、t分布表から検出されます(ほとんどの統計教科書にリストされています)。この表では と書かれている
完全に正確なクリティカルへのより良い方法 valueは、スプレッドシート(T.INV.2T
関数など)、科学計算環境(SciPyなどstats.t.ppf
)、言語ライブラリ(C ++およびなどboost::math::students_t
)に実装されている統計関数です。
見つかった値を適切な方程式に代入します。
最後のステップは、答えを解釈することです。見つかった答えは上限と下限のある間隔であるため、与えられたデータに基づいて、母集団の真の平均は下限と上限の間であり、選択された信頼水準であると述べるのが適切です。
2つのアルゴリズムの信頼区間が重なるほど、アルゴリズムが同じように実行する可能性が高くなります(または、2つのアルゴリズムを区別するのに十分なサンプリングが行われていません)。95%の信頼区間がオーバーラップしない場合、平均パフォーマンスが最も高いアルゴリズムのパフォーマンスが大幅に向上します。
EAでは、ソースの配布は基本的に正規ではなく、これまで正式に適用されていたのは正規の配布である場合のみです。
実際、それはまだ多くのことを伝えています。次の表は、4つの状況でのt間隔のパフォーマンスをまとめたものです。
Normal curve | Not Normal curve
Small sample size (n < 30) Good | Poor
Larger sample size (n ≥ 30) Good | Fair
より正確な回答を得るには、ノンパラメトリック統計が適しています(詳細については、Mark WinebergとSteffen Christensen によるEC実験分析の統計入門を参照してください)。
回答:パフォーマンスを統計的に分析します。
たとえば、このペーパーの図3を参照してください。さまざまなGAのパフォーマンスを相互に比較する、クロスオーバーが不可欠であると考えられるビルディングブロックのロイヤルロード。
プロットは、適合度(Y軸)と反復数(X軸)の変化を示しています。各アルゴリズムは複数回実行され、平均、最小、最大適合度がプロットに表示されます。したがって、一部のGAバリエーションを明確に示すと、他のバリエーションよりもパフォーマンスが向上します。
vznの回答で示唆されているように、反復に対する適合度の漸近的収束も、ほとんどの場合に非常に役立ちます。
...
(進化するフィットネス関数があるときにフィットネスが収束しない場合を除きます)。
基本的な戦略は、時間の経過とともにフィットネス関数をグラフ化することです。最良解の適合度または解の平均適合度、最悪解などをグラフ化できます。最良/最悪は階段状の特性を示し、平均はGAによって達成可能な最適値への漸近的な収束を示します。一般に、GAの解を見つけることに関連する先験的な「実行時間」は実際にはありません。通常、この漸近曲線の検査によって「十分」な時点でアルゴリズムを終了します。
このスライドショーの最後にある例のグラフを参照してください: