私はこの機械学習のすべてを理解しようとしているので、いくつかのテストを行っていました。私はそれにsinus関数(ラジアンの角度)を学ばせたいと思っていました。ニューラルネットワークは、次のとおりです。RELUをし、それが注意することが重要です。ReLu return NaNを使用した機械学習
1入力(ラジアン角度)/ 2隠された層/ 1出力(洞の予測)
スカッシュ活性化のために私が使用しています私がRELUの代わりにロジスティック関数を使用していたときにスクリプトが動作していたことを示しています。
これを行うには、0から開始して180で終了するループを作成し、ラジアン(radian = loop_index * Math.PI/180)の数値を変換します。このラジアン角の副鼻腔を開き、ラジアンおよび副鼻腔の結果を格納する。
だから私のテーブルには、エントリに対して次のようになります。{入力:[ラジアンANGLE]、出力:[罪(ラジアン)]}
for(var i = 0; i <= 180; i++) {
radian = (i*(Math.PI/180));
train_table.push({input:[radian],output:[Math.sin(radian)]})
}
私はクロスを使用して、私のニューラルネットワークを訓練するためにこの表を使用エントロピー、学習率0.3、繰り返し回数20000
問題は、私は、私はフレームワークシナプス(https://github.com/cazala/synaptic)を使用しています、それは「NaNの」返し
を何かを予測しようとすると、それは、失敗ということで、ここに私のコードのJSfiddleです:https://jsfiddle.net/my7xe9ks/2/
この部分だけでなく、完全にコードを共有する必要がありますが、これはまったく関係のないIMHOと思われます。 –
言語タグを追加すると役立ちます。それはJavaScriptですか?どのライブラリを使用していますか?どのようにクロスエントロピーを計算していますか? –
私はこのフレームワークを使用してjavascriptを使用しています:https://github.com/cazala/synapticここに私のコードのjsfiddleです:https://jsfiddle.net/my7xe9ks/2/ – Raphael