遺伝的アルゴリズムとニューラルネットワークの組み合わせの課税への応用

遺伝的アルゴリズムとニューラルネットワークの関係は何ですか

遺伝的アルゴリズムはニューラル ネットワークの設計に使用され、ニューラル ネットワークにおける遺伝的アルゴリズムの適用は、主にネットワーク学習、ネットワーク構造設計、ネットワーク解析の 3 つの側面に反映されます。1. ネットワーク学習における遺伝的アルゴリズムの応用 ニューラル ネットワークでは、ネットワーク学習に遺伝的アルゴリズムを使用できます。

このとき、2つの側面で機能します。 (1) 学習ルールの最適化 遺伝的アルゴリズムを使用して、ニューラルネットワークの学習ルールを自動的に最適化し、学習率を高めます。(2) ネットワーク重み係数の最適化では、遺伝的アルゴリズムの大域最適化と暗黙的並列処理の特性を利用して、重み係数最適化の速度を向上させます。

2. ネットワーク設計における遺伝的アルゴリズムの応用 遺伝的アルゴリズムを使用して優れたニューラル ネットワーク構造を設計するには、最初のステップはネットワーク構造の符号化問題を解決することであり、その後、選択、交叉、突然変異の操作によって最適な構造を得ることができます。

(1) 直接エンコード方式 ニューラルネットワークの構造をバイナリ文字列で直接表現する方式 遺伝的アルゴリズムにおいて、「染色体」は本質的にニューラルネットワークとの写像関係です。ネットワークの最適化は「染色体」の最適化によって実現されます。

(2) パラメトリック符号化方式 パラメトリック符号化で使用される符号化は比較的抽象的であり、ネットワーク層の数、各層のニューロンの数、各層の相互接続モードなどの情報が含まれます。一般に、進化後に最適化された「染色体」を解析し、ネットワークの構造を生成します。

(3) 生殖・成長法 この方法は、神経回路網の構造を「染色体」に直接エンコードするのではなく、単純な成長文法規則を「染色体」にエンコードし、これらの成長文法規則を遺伝関数によって継続的に処理する方法です。アルゴリズムを変更し、最終的には解決する問題に適したニューラル ネットワークを生成します。

この方法は、自然界の生物の成長と進化と一致しています。3. ネットワーク分析における遺伝的アルゴリズムの応用 遺伝的アルゴリズムは、ニューラル ネットワークの分析に使用できます。分散ストレージの特性やニューラル ネットワークのその他の特性により、トポロジからその機能を直接理解することは一般に困難です。

遺伝的アルゴリズムは、ニューラルネットワーク上で機能解析、特性解析、状態解析を行うことができます。遺伝的アルゴリズムはさまざまな分野に応用可能であり、その可能性と広い展望を示していますが、まだ研究すべき課題も多く、さまざまな欠陥も残されているのが現状です。

第一に、変数が多い場合、値の範囲が大きい場合、または特定の範囲がない場合、収束速度が低下すること、第二に、最適解の近傍を見つけることはできますが、最も邪魔な解の位置を見つけることができないことです。正確に決定される; 最後に、遺伝的アルゴリズムのパラメータ選択のための定量的な方法はありません。

遺伝的アルゴリズムについては、その基礎的な数学理論をさらに研究する必要があり、他の最適化手法を使用してその利点と欠点とその理由を理論的に証明する必要もあり、ハードウェアベースの遺伝的アルゴリズムも研究する必要があり、一般的なプログラミングも必要です。遺伝的アルゴリズムの形式など

Google AI Writing Project: ニューラルネットワーク疑似オリジナル

ニューラルネットワークと遺伝的アルゴリズムの関係は何ですか

遺伝的ニューラルネットワークの識別原理

4.3.1 遺伝的 BP の概要 遺伝的認識は、複雑で重畳された非線形システムの識別と記述に適した、遺伝的アルゴリズム + ニューラル ネットワークの新しい最適化技術です。ニューラル ネットワーク アルゴリズムは、現時点では比較的成熟した識別および分類方法ですが、ネットワークの重みのトレーニングには常に欠陥がありました。

したがって、遺伝的アルゴリズムの改善に基づいて、特定のアプリケーションと組み合わせて、本論文では遺伝的学習重みに基づくニューラルネットワーク識別方法を採用し、良好な結果を達成しました。

従来の遺伝的アルゴリズムは堅牢ですが、他の方法(または元のアルゴリズム)と効果的に組み合わせて、特定の問題に対する新しいハイブリッドアルゴリズムを形成する場合にのみ、遺伝的アルゴリズムを実際に広く使用できます。

ハイブリッドアルゴリズムは、元のアルゴリズムの長所を維持するだけでなく、遺伝的アルゴリズムの利点も維持する必要があるため、従来の遺伝的アルゴリズムの適応度関数、コーディング、および遺伝的演算子を、要件を満たすように適切に修正する必要があります。ハイブリッドアルゴリズム。

4.3.1.1 適応度値の情報 従来のアルゴリズムでは、適応度はユークリッド距離で実現される大域最小値として表現されることが多かった。

たとえば、適合度値は次の形式で表されることがよくあります。 貯留層特性の調査と予測 式では:) Yi は i 番目のサンプルの実際の出力、Yi は i 番目のサンプルの期待される出力、Nは学習サンプルの数です。

この表現には強力な単一点フィッティング能力があり、精度要件を満たすことができますが、ほとんどの場合、分散や連続性など、サンプル全体のいくつかの特性も考慮する必要があります。GA で使用される唯一の情報である適合度値は、サンプル間の差異を反映するだけでなく、サンプル間の相関も考慮する必要があります。

このようにして、激しい発振やネットワークの耐障害性の低さなどの弱点はある程度克服されます。したがって、より効果的に重みを選択するために、サンプルの遺伝的操作を確保しながらサンプル間の水平方向のつながりを強化するために、グレー システムのグレー相関を導入します。

X0={X0(K), K=1, 2,...,n} を親シーケンスとし、Xi={Xi(K), K=1, 2,..., ni=1, 2, ...,m} はサブシーケンスです。

この場合、相関係数は次のようになります。 貯留層特性の調査と予測 相関度は次のようになります。 貯留層特性の調査と予測 4.3.1.2 符号化問題 GA では、バイナリ ビット列符号化が一般的な符号化技術です。しかし、実際のプログラミングでは浮動小数点数を使って直接表現した方が有利です。

その主な理由は、(1) ネットワーク重みの範囲が不明確であることによる符号化の困難を回避するため、(2) 符号化および復号化の処理を中止し、学習アルゴリズムの高速化を図るため、(3) 10 進数の導入によるものです。数値列の長さを変更しない場合、計算精度が大幅に向上します。

たとえば、(-10, 10) の間の値が 7 つの 2 進数の文字列で表される場合、最も高い精度は次のようになります。 貯留層の特性の調査と予測は、同じ長さの 10 進数の文字列 (-10) で表されます。 、10).値、符号ビットと小数点が占める 1 ビットを削除し、残りの 4 ビットは 10 進数値を表し、精度は最大 0.0001 に達します。

4.3.1.3 ハイブリッド オペレーターの修正 符号化方法の変更により、ハイブリッド オペレーターは数値特性を持つベクトルの線形結合として設計できます。

通常は以下の形で表されます。SaとSbの2個体が交配した場合、その個体はリザーバー特性の研究と予測になります。ここでuの値は(0,1)であり、値の範囲も適宜狭めることができます。状況に応じて。

u が定数の場合、交差演算子は一貫交差となり、u が代数によって変化する場合、交差演算子は不均一交差となります。遺伝的アルゴリズムでは、反復回数が増加するにつれて、個人の平均パフォーマンスが徐々に増加し、個人間の差が減少します。

個体が一貫性を持ち、アルゴリズムの収束性能に影響を与えるのを防ぐために、この論文では、貯留層特性の調査と予測ができるように、u に次の変更を加えます。ここで、t は現在の世代番号、T は事前に設定された最大値です。世代数が増加すると、u が 1 から 0 に変化し、ハイブリダイゼーションの勾配プロセスが完了します。

4.3.1.4 突然変異演算子の変更 個々の x=(v1, v2,...,vn) と設定すると、各コンポーネントは一定の確率で突然変異し、1 回の突然変異後の結果は (v1,...,,..) になります。 .,vn), 1< =K<=n、値は次の方法でランダムに決定されます: 貯留層の特性の調査と予測 式では: LB、UB は K 番目の変数の左と右の近傍であり、関数Δ(t, y) は (0, y ) を返し、代数 t の増加とともにこの値を 0 に近づけます。このように選択された関数により、演算子はアルゴリズムの初期段階で空間全体を均一に検索できます。アルゴリズムの後段でローカル検索を実行します。

貯留層特性調査と予測式: r は [0, 1] 上の乱数、T はあらかじめ設定された最大世代数、t は現在の世代数、b は不一致度を決定するパラメータであり、0.5 とします。ここ。

4.3.1.5 成熟前の収束 成熟前の収束とは、全体的な最適解にはまだ到達していないものの、GA が親の性能を超える子孫を生み出すことができなくなったことを意味しますが、主な症状は適応度値が数世代にわたって変化しないことです。あるいは数十世代。

他の手法における極値問題と似ていますが、必ずしも極小点に現れるとは限らない点が異なります。現在、この問題を解決する方法には、主に再起動方法、動的パラメータ符号化方法、ハイブリッド方法などが含まれます。

プログラムのパフォーマンスを容易にするために、動的メモリ ウィンドウ W を導入します。これは、最適なターゲット値が現在の世代から変更されていない世代の数を記録するために使用されます。Wが一定値に達すると未熟収束と考えられ、このときハイブリダイゼーションオペレーターと突然変異オペレーターが急激に増加して遺伝子組み換えが実現される。

もちろん、この方法を収束問題の判断に使用することは厳密ではなく、アルゴリズムの収束性能の評価は主に時間計算量と空間計算量に反映されるはずです。

GA のようなランダム検索特性を持つ特定のメソッドの場合、理論的には、乱数が完全に使い果たされ、ターゲット値が変更されていない場合にのみ、早期収束とみなすことができます。しかし、実際にはそうすることは不可能です。

したがって、乱数の総数に応じて、乱数パラメータの最大数を毎回計算し、必要な回数を大まかに見積もることができ、この回数が動的記憶機構 W とみなすことができます。4.3.2 遺伝的 BP ネットワーク構造 遺伝的アルゴリズムは、一般に 2 つの方法でニューラル ネットワークに適用できます。

1 つの方法は、遺伝的アルゴリズムを使用して、既知の構造でネットワークをトレーニングし、ネットワークの接続重みを最適化することです。もう 1 つの方法は、遺伝的アルゴリズムを使用して、ネットワークのサイズ、構造、学習パラメーターを見つけることです。

現時点では、この手法は理論的にはまだ完全に成熟しておらず、最適化メカニズムや学習効率についてはさらなる研究が必要であり、実用化にはまだ一定の距離があります。多層フィードフォワード ニューラル ネットワークの場合、最も広く使用されている学習アルゴリズムは BP アルゴリズムです。

しかし、BP 自体の固有の学習メカニズムの限界により、BP アルゴリズムを根本的に改善することは非常に困難です。

BP の学習プロセスは、実際には接続重みの組み換えと最適化のプロセスであるため、ネットワーク構造の維持を前提として、接続重みの最適な組み合わせを達成できる学習方法を見つけることが実用的に重要です。

GA の利点は、BP アルゴリズムの収束が遅く局所的に収束しやすいという欠点を克服するために使用され、同時に BP アルゴリズムと組み合わせることで、GA を単独で使用すると最適に近い解決策しか見つけられないという問題も解決します。短時間で最適解に近づくため、BP アルゴリズムの勾配情報を導入することでこの現象を回避できます。

GA アルゴリズムと BP アルゴリズムは、さまざまな方法で組み合わせることができます。 最初に BP、次に GA: まず BP を使用して、平均誤差が有意に減少しなくなるまで、事前に選択された構造で ANN (人工ニューラル ネットワーク) をトレーニングし、次に、次に、GA を使用して複数の世代を最適化します。

このような探索は、許容誤差が満たされるか、探索が収束しないことが判明するまで繰り返されます。この組み合わせ方法の基本的な考え方は、まず BP を使用して誤差関数がパラメーター空間内の最小値を取るパラメーターの組み合わせの位置を決定し、次に GA を使用して可能な極小値を取り除くことです。

この組み合わせを適用するには、事前に ANN の構造を選択する必要があります。つまり、ANN の接続重みを決定するためにのみ使用できます。当然のことながら、事前に選択したANN構造が不合理であったり、関連するパラメータ(学習率など)が不適切な場合には、探索が収束しない可能性があります。

最初に GA、次に BP: GA は、適応度関数の平均が有意に増加しなくなるまで、ANN モデルを記述するパラメーターの組み合わせを繰り返し最適化するために使用されます。これに基づいて、BP アルゴリズムを使用してそれらを最適化します。

この組み合わせ方法の基本的な考え方は、GA を使用して ANN モデルを大まかに選択し、次に BP アルゴリズムを使用してそれを洗練および最適化することです。

この組み合わせ方法の利点は、汎用性が高いことです。前の組み合わせ方法と同様に、指定された構造の下で一部のパラメーターを最適化するために使用できるほか、ANN 構造、学習率、などの他のパラメーターの最適化にも使用できます。などに使用することもできますが、これらを組み合わせて使用​​することが好ましいです。

図 4-4 GABP 構造図 GA と BP を組み合わせる上記の 2 つの方法は、比較的基本的な 2 つの方法であり、これに基づいてさまざまな具体的な実装スキームを導き出すことができます。

ただし、BP アルゴリズム自体には選択すべきパラメータが多く、選択方法に従うべきルールがないため、GA と BP を組み合わせると、解決すべき問題もある程度複雑になります。

このため、ここでは、BP ネットワークの非線形分類能力とネットワーク構造を使用して分類器を設計し、遺伝的学習の結果を BP 最適化せずにネットワークに直接送信し、それを介して出力する、改良された GABP 手法を提案します。ネットワーク構造の結果。

この改善は、システムの非線形性を反映するだけでなく、以前の処理方法と接続し、GA 学習によって重み値を最適化し、動作速度を向上させます。図 4-4 に示すように、ネットワークは 3 層の BP ネットワークです。

4.3.3 遺伝的 BP 計算プロセス 遺伝的 BP アルゴリズムの具体的な手順は次のとおりです。 (1) 区間 (-1, 1) で初期ネットワーク重みの N グループをランダムに生成します。

(2) BP アルゴリズムを使用して、N セットの初期値を個別にトレーニングします。N セットの重みのうち少なくとも 1 つが精度要件を満たしている場合、アルゴリズムは終了します。そうでない場合は、ステップ (3) に進みます。

(3) トレーニング後のより良い重みの N セットに対応する上限と下限に従って値の間隔を決定し、トレーニングされた重みの N セットとともに、間隔内で新しい権限の N セットをランダムに生成します。完全な遺伝子合計 2*N 個の重みグループを含むグループが形成されます。

(4) これらの 2*N の重みグループから選択、交叉、突然変異などの遺伝的操作を実行します。(5) 遺伝子操作された 2*N グループの重みからより良いものを N グループ選択し、(2) に戻ります。図 4-5 改良された GABP 計算フローチャート GABP 計算プロセス図を図 4-5 に示します。

trainbrのニューラルネットワークに遺伝的アルゴリズムをプラス!メリット、それとも効果があるのか​​!

遺伝的アルゴリズムはニューラル ネットワークの設計に使用され、ニューラル ネットワークにおける遺伝的アルゴリズムの適用は、主にネットワーク学習、ネットワーク構造設計、ネットワーク解析の 3 つの側面に反映されます。1. ネットワーク学習における遺伝的アルゴリズムの応用 ニューラル ネットワークでは、ネットワーク学習に遺伝的アルゴリズムを使用できます。

このとき、2つの側面で機能します。 (1) 学習ルールの最適化 遺伝的アルゴリズムを使用して、ニューラルネットワークの学習ルールを自動的に最適化し、学習率を高めます。(2) ネットワーク重み係数の最適化では、遺伝的アルゴリズムの大域最適化と暗黙的並列処理の特性を利用して、重み係数最適化の速度を向上させます。

2. ネットワーク設計における遺伝的アルゴリズムの応用 遺伝的アルゴリズムを使用して優れたニューラル ネットワーク構造を設計するには、最初のステップはネットワーク構造の符号化問題を解決することであり、その後、選択、交叉、突然変異の操作によって最適な構造を得ることができます。

(1) 直接エンコード方式 ニューラルネットワークの構造をバイナリ文字列で直接表現する方式 遺伝的アルゴリズムにおいて、「染色体」は本質的にニューラルネットワークとの写像関係です。ネットワークの最適化は「染色体」の最適化によって実現されます。

(2) パラメトリック符号化方式 パラメトリック符号化で使用される符号化は比較的抽象的であり、ネットワーク層の数、各層のニューロンの数、各層の相互接続モードなどの情報が含まれます。一般に、進化後に最適化された「染色体」を解析し、ネットワークの構造を生成します。

(3) 生殖・成長法 この方法は、神経回路網の構造を「染色体」に直接エンコードするのではなく、単純な成長文法規則を「染色体」にエンコードし、これらの成長文法規則を遺伝関数によって継続的に処理する方法です。アルゴリズムを変更し、最終的には解決する問題に適したニューラル ネットワークを生成します。

この方法は、自然界の生物の成長と進化と一致しています。3. ネットワーク分析における遺伝的アルゴリズムの応用 遺伝的アルゴリズムは、ニューラル ネットワークの分析に使用できます。分散ストレージの特性やニューラル ネットワークのその他の特性により、トポロジからその機能を直接理解することは一般に困難です。

遺伝的アルゴリズムは、ニューラルネットワーク上で機能解析、特性解析、状態解析を行うことができます。遺伝的アルゴリズムはさまざまな分野に応用可能であり、その可能性と広い展望を示していますが、まだ研究すべき課題も多く、さまざまな欠陥も残されているのが現状です。

第一に、変数が多い場合、値の範囲が大きい場合、または特定の範囲がない場合、収束速度が低下すること、第二に、最適解の近傍を見つけることはできますが、最も邪魔な解の位置を見つけることができないことです。正確に決定される; 最後に、遺伝的アルゴリズムのパラメータ選択のための定量的な方法はありません。

遺伝的アルゴリズムについては、その基礎的な数学理論をさらに研究する必要があり、他の最適化手法を使用してその利点と欠点とその理由を理論的に証明する必要もあり、ハードウェアベースの遺伝的アルゴリズムも研究する必要があり、一般的なプログラミングも必要です。遺伝的アルゴリズムの形式など

ニューラル ネットワーク、アリのコロニー アルゴリズム、遺伝的アルゴリズムについて

ニューラルネットワークは並列性と適応性が非常に高く、応用分野は非常に広く、制御、情報、予測などあらゆる非線形問題に応用できます。アリのコロニー アルゴリズムは、最初に TSP 問題に適用されて成功し、その後、さまざまな組み合わせ最適化問題で広く使用されました。

しかし、このアルゴリズムの理論的基礎は比較的弱く、アルゴリズムの収束性は証明されておらず、多くのパラメータの設定は経験にのみ基づいており、実際の効果も平均的であり、使用が時期尚早であることがよくあります。遺伝的アルゴリズムは比較的成熟したアルゴリズムであり、全体的な最適化能力が非常に強力で、最適解に迅速に近づくことができます。

主に組み合わせ最適化の NP 問題を解くために使用されます。これら 3 つのアルゴリズムは相互に統合でき、たとえば、GA はニューラル ネットワークの初期重みを最適化して、ニューラル ネットワークのトレーニングが極小値に陥るのを防ぎ、収束を高速化できます。

アリ コロニー アルゴリズムはニューラル ネットワークのトレーニングにも使用できますが、最大最小アリ コロニー アルゴリズムやバンド エリート戦略など、最適化されたアリ コロニー アルゴリズムを必ず使用してください。

ヒーローの皆さん、ハイブリッド アルゴリズムとは何ですか? ニューラルネットワークと遺伝的アルゴリズムの組み合わせでしょうか?ありがとう

ハイブリダイゼーション?混ぜるということですか?ニューラル ネットワークと遺伝的アルゴリズムが混合された例は数多くあり、遺伝的アルゴリズムとシミュレーテッド アニーリング アルゴリズム、変数近傍検索アルゴリズムとタブー検索アルゴリズムなど、他のインテリジェント アルゴリズムが混合されています。

遺伝的アルゴリズムにおけるハイブリダイゼーションについて話している場合、ハイブリダイゼーション アルゴリズムは遺伝的アルゴリズムを指す必要があります。

遺伝的アルゴリズムは、ニューラル ネットワークによってトレーニングされたモデルをどのように呼び出しますか

遺伝的アルゴリズムによって最適化された BP ニューラル ネットワーク モデリングは、他の人のプログラムで作成されたシミュレーションを利用しており、私は最近になってそれを整理する時間ができました。目標: y=x1^2+x2^2 非線形システムをモデル化するには、1500 セットのデータを使用してネットワークを構築し、500 セットのデータを使用してネットワークをテストします。

BP ニューラル ネットワークの初期ニューロン間の重みとしきい値は一般にランダムに選択されるため、局所最小値に陥りやすくなります。この方法では、遺伝的アルゴリズムを使用して初期ニューロン間の重みとしきい値を最適化し、遺伝的アルゴリズムを使用する前後の効果を比較します。

手順: 遺伝的アルゴリズムの最適化を行わない BP ニューラル ネットワーク モデリング 1. 2000 セットの 2 次元乱数 (x1、x2) をランダムに生成し、対応する出力 y=x1^2+x2^2 と最初の 1500 セットのデータを計算します。データの最後の 500 セットはテスト データ input_test として使用されます。

そして、遺伝的アルゴリズムで同じデータを使用するために、データをデータに保存します。2. データ前処理:正規化処理。3. BP ニューラル ネットワークの隠れ層の数、時間、ステップ、および目標を構築します。

4. トレーニング データ input_train を使用して、BP ニューラル ネットワーク ネットをトレーニングします。5. テスト データ input_test を使用してニューラル ネットワークをテストし、予測データを非正規化します。6. 予測データと期待データの間の誤差を分析します。

遺伝的アルゴリズムによって最適化されたBPニューラルネットワークモデリング 1. 前のステップで保存したデータを読み取る; 2. データを正規化する; 3. 隠れ層の数を設定する; 4. 進化の数、集団サイズ、交叉確率、突然変異確率を初期化する5. 母集団を実数でエンコードし、予測データと期待データ間の誤差を適応度関数として使用する; 6. 進化数が上限に達するまで、選択、交叉、突然変異、および適応度の計算操作をループで実行する最適な初期重みとしきい値を取得します; 7. BP ニューラル ネットワークを構築するために最適な初期重みとしきい値が取得されます; 8. トレーニング データ input_train を使用して BP ニューラル ネットワーク net をトレーニングします; 9. テスト データ input_test を使用してテストしますニューラル ネットワークと予測データの反正規化処理 10. 予測データと期待データの間の誤差を分析します。

遺伝的アルゴリズムと組み合わせたニューラル ネットワーク: 最も価値のある問題を見つける 5

 

おすすめ

転載: blog.csdn.net/aifamao3/article/details/127443614