我想弄清楚這整個機器學習的東西,所以我正在做一些測試。我想讓它學習竇功能(用弧度角度)。該神經網絡是:使用ReLu機器學習返回NaN
1輸入(弧度角)/ 2個隱藏層/ 1輸出(竇的預測)
對於壁球激活我使用:RELU並注意到這一點很重要當我使用Logistic函數而不是RELU時,腳本正在工作。所以要做到這一點,我已經做了一個循環,開始於0,並在180結束,它將翻譯弧度(弧度= loop_index * Math.PI/180)的數字,然後它將基本上做這個弧度角的正弦,並存儲弧度和正弦結果。
所以,我的表是這樣的一個條目:{輸入:[RADIAN ANGLE],輸出:[罪(弧度)]}
for(var i = 0; i <= 180; i++) {
radian = (i*(Math.PI/180));
train_table.push({input:[radian],output:[Math.sin(radian)]})
}
我用這個表來訓練使用過我的神經網絡Entropy,學習率爲0.3,迭代次數爲20000次。
的問題是,它失敗了,當我試圖預測任何事情,它返回「南」
我使用的框架突觸(https://github.com/cazala/synaptic)這裏是我的代碼的jsfiddle:https://jsfiddle.net/my7xe9ks/2/
你需要分享完整的代碼,而不僅僅是這部分,這似乎毫不相關恕我直言。 –
添加語言標籤可能會有所幫助。那是JavaScript?你在使用哪個庫?你如何計算交叉熵? –
我使用JavaScript使用此框架:https://github.com/cazala/synaptic,這裏是我的代碼jsfiddle:https://jsfiddle.net/my7xe9ks/2/ – Raphael