線形活性化関数を持つ単層直接分配ネットワークの非反復トレーニングの方法

この記事にはコードは1行もありません。過去半年間開発してきたニューラルネットワークのトレーニング方法の理論があります。 次の記事でこのメソッドを実装する予定です。



ニューラルネットワークの非反復トレーニングの可能性は非常に大きく、これが潜在的にNSを学習する最速の方法です。 最も単純な場合(単純化する場所がない場合)から、非反復トレーニングの作業サイクルを開始したいと思います。 すなわち、線形活性化機能を備えた単層直接分配ネットワークでは、加重加算器です。 1つのニューロンのエラー関数は次のように定義されます。





flosW= sumni=1[yi summj=1wj cdotxij]2







どこで W = \ {w_1、... w_k \};W = \ {w_1、... w_k \}; 、mはニューラルネットワークの入力数、nはトレーニングサンプルのパワーです。これは、各ニューロンの理想的な出力値「y」と入力ベクトル「x」のペアで構成されます。 また、各ニューロンを個別にトレーニングできることも注目に値します。



ネットワークは次の場合にトレーニングされます。 flosW\右min 、つまり エラーが最小の場合。



活性化関数が線形であり、誤差関数の方程式が二次関数である場合、そのような関数には最大値がなく、したがって、  frac partialflosW partialwi=0 最小条件です。 最初にこの導関数を定義し、それを0と同等にしましょう。





 frac partialflosW partialwk=2 cdot sumni=1yi summj=1wj cdotxijxik=0;







一連の変換の後、次のようになります。





 summj=1wj cdot sumni=1xij cdotxik= sumni=1xik cdotyi;







ここで、kはシステム内の方程式の数です。



トレーニングを完了するには、重みベクトルWを計算する必要があります。最後の式が各方程式について記述されている場合、Wに関するSLAEであることに気付くのは難しくありません。 。 各ニューロンの重みは次のように記述できます。





wj= fracdetAjdetA;A= beginpmatrixa11.........a1m..................am1.........amm endpmatrix;B= beginpmatrixb1....bm endpmatrix;akj= sumni=1xij cdotxik;bk= sumni=1yi cdotxik;







これが行列です Aj これは、j番目の列がベクトルBで置き換えられた行列「A」です。これは、ニューロンが何らかの方法で接続されていないという事実のため、1つのニューロンのトレーニングです。



PS記事にコメントがあれば、書いてください。建設的な批判にいつも満足しています。



All Articles