プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

ニューラルネットワークはバックプロパゲーションを使用してどのように学習しますか?


ニューラルネットワークは、人間の脳が機能する方法を模倣するプロセスを通じて、一連のデータの基本的な関係を特定しようとする一連のアルゴリズムです。このアプローチでは、ニューラルネットワークは有機または人工などのニューロンのシステムを表します。

ニューラルネットワークは、認知システムと脳の神経学的サービスにおける学習の(仮定された)手順をモデルにした分析的アプローチであり、現在からのいわゆる学習のプロセスを実行した後、他の観測から(明確な変数で)新しい観測を予測することができます情報。

バックプロパゲーションには次の手順があります-

  • ネットワークはトレーニングインスタンスを受け取り、ネットワーク内の現在の重みを使用して、1つまたは複数の出力を計算します。

  • バックプロパゲーションは、計算結果と期待される(実際の結果)の差を作成することによってエラーを計算します。

  • エラーはWebを介してフィードバックされ、重みはエラーを最小限に抑えるように変更されます。したがって、エラーはネットワークを介して返送されるため、名前が逆伝播します。

バックプロパゲーションアルゴリズムは、各トレーニングインスタンスで作成された値を実際の値と比較することにより、ネットワークの完全なエラーを計算します。出力層の重みを変更して、エラーを減らすことはできますが、取り除くことはできません。ただし、アルゴリズムは完了していません。

ネットワークの前のノードに責任を負わせ、それらのノードをリンクする重みを変更して、全体的なエラーを減らすことができます。非難を割り当てるための特定の構造は必須ではありません。バックプロパゲーションには、活性化関数の限定された導関数を取る必要のある複雑な数値手順が必要であると言えば十分です。

重みを変更するこの方法は、一般化されたデルタルールとして知られています。一般化されたデルタルールの使用に関連する2つの重要なパラメーターがあります。 1つ目は勢いで、各ユニット内のウェイトが向かっている「方向」を変換する傾向を定義します。

つまり、各ウェイトは、それが大きくなったのか小さくなったのかを記憶し、勢いはそれを同じ方向に維持しようとします。勢いの大きいネットワークは、重みを元に戻す必要のある新しいトレーニングインスタンスにゆっくりと応答します。運動量が低い場合は、ウェイトがよりオープンに振動できるようになります。

学習コストは、重みが変化する速度を制御します。学習コストの最善の方法は、ネットワークがトレーニングされるにつれて、大きく始めてゆっくりと減らすことです。もともと、重みはランダムであるため、最適な重みの近くに到達するには、高い振動が有益です。ただし、ネットワークが最適なソリューションに近づくにつれて、ネットワークが一般的な最適な重みに微調整できるように、学習コストを削減する必要があります。


  1. バックプロパゲーションはどのように機能しますか?

    バックプロパゲーションは、勾配の計算と確率的勾配降下法におけるその必要性の両方を含む手順全体を定義します。技術的には、バックプロパゲーションは、ネットワークの変更可能な重みに関するネットワークのエラーの勾配を計算するために使用されます。 バックプロパゲーションの特徴は、トレーニング対象の機能を実行できなくなるまで、更新された重みを計算してネットワークを強化する、反復的で再帰的かつ効果的なアプローチです。バックプロパゲーションには、Webデザイン時に認識されるアクティベーションサービスの派生物が必要です。 バックプロパゲーションは一般にニューラルネットワークのトレーニングで使用され、ネットワ

  2. ベイジアンビリーフネットワークはどのように学習しますか?

    ベイジアン分類器は統計的分類器です。特定のサンプルが特定のクラスに属する確率など、クラスメンバーシップの確率を予測できます。ベイジアン分類器は、データベースを高度化できる場合にも、高い効率と速度を示します。 クラスが定義されると、システムは分類を管理するルールを推測する必要があります。したがって、システムは各クラスの説明を見つけることができるはずです。説明は、トレーニングセットの予測属性のみを参照する必要があります。これにより、否定的な例ではなく、肯定的な例のみが説明を満たす必要があります。ルールの説明がすべての肯定的な例をカバーし、クラスの否定的な例のいずれもカバーされていない場合、ルール