問題を解決するためにニューラルネットワーク(またはその逆)とは対照的に、遺伝的アルゴリズムをいつ使用するかを決定するための経験則(または一連の例)はありますか?
両方の方法を混在させることができる場合があることは承知していますが、2つの方法の大まかな比較を探しています。
問題を解決するためにニューラルネットワーク(またはその逆)とは対照的に、遺伝的アルゴリズムをいつ使用するかを決定するための経験則(または一連の例)はありますか?
両方の方法を混在させることができる場合があることは承知していますが、2つの方法の大まかな比較を探しています。
回答:
ウィキペディアから:
遺伝的アルゴリズム(GA)のために計算に使用される検索技術である見つける正確な又は近似解最適化及び検索の問題をします。
そして:
ニューラルネットワークは、非線形統計データモデリングツールです。これらを使用して、入力と出力の間の複雑な関係をモデル化したり、データのパターンを見つけることができます。
解の価値を定量化できる問題がある場合、遺伝的アルゴリズムは解空間の有向検索を実行できます。(例えば、2点間の最短ルートを見つける)
異なるクラスに多数のアイテムがある場合、ニューラルネットワークは「学習」して、以前に「表示」されたことのないアイテムを分類できます。(例:顔認識、音声認識)
実行時間も考慮する必要があります。遺伝的アルゴリズムは、許容できる解決策を見つけるのに長い時間がかかります。ニューラルネットワークの「学習」には長い時間がかかりますが、新しい入力をほぼ瞬時に分類できます。
遺伝的アルゴリズム(そのセクシーな名前にもかかわらず)は、ほとんどの場合、最適化手法です。それは主に、いくつかの変数があり、これらの変数の値の最適な組み合わせを見つけたいと考えていることになります。それは自然進化から技術を借りてそこに到達するだけです。
ニューラルネットワークはパターンの認識に役立ちます。それらは脳の単純化したモデルに従い、それらの間の重みの数を変更することにより、入力に基づいて出力を予測しようとします。
これらは2つの根本的に異なるエンティティですが、重複して解決できる問題がある場合もあります。
GAは、定義した構造に新しいパターンを生成します。
NNは、提供するトレーニングデータに基づいて既存のパターンを分類(または認識)します。
GAは、ソリューションの大規模な状態空間を効率的に検索し、1つ以上の優れたソリューションに収束しますが、必ずしも「最良の」ソリューションとは限りません。
NNはパターンを認識することを学ぶことができますが(トレーニングを介して)、彼らが学んだことを理解することは悪名高いほど困難です。
それらの間には多くの類似点があるので、それらの相違点のみを概説するようにします。
オンラインパターン(時間とともに変化するパターン)を分析できる。一般に、これは時間的に変化するサンプルであり、照合および予測する必要があります。
例:
特定の変更されない問題に寄与すると思われる属性をコーディングできる場合に使用されます。これらの属性をコード化できることに重点が置かれ(属性が何であるかを知っていることもあります)、問題は大部分が不変です(そうでない場合、進化は収束しません)。
例:
バックプロパゲーションアルゴリズムの代わりに遺伝的アルゴリズムを使用して、ニューラルネットワークの重みを更新できます。この例については、http : //www.ai-junkie.com/ann/evolved/nnt1.htmlを参照して ください。