我一直在玩神經網絡。我從近似XOR函數開始,沒有太多問題。但是,然後我攻擊了近似sqrt函數的問題。如何處理神經網絡中的實數?
的問題是輸入和輸出可以是任何實數,不僅號碼0,1] [
有沒有一種方法,我可以處理,神經網絡,使其能直接輸出實數?
或者我必須將輸入和輸出數據標準化爲0,1 [範圍?這不是精確度的損失嗎?
謝謝
我一直在玩神經網絡。我從近似XOR函數開始,沒有太多問題。但是,然後我攻擊了近似sqrt函數的問題。如何處理神經網絡中的實數?
的問題是輸入和輸出可以是任何實數,不僅號碼0,1] [
有沒有一種方法,我可以處理,神經網絡,使其能直接輸出實數?
或者我必須將輸入和輸出數據標準化爲0,1 [範圍?這不是精確度的損失嗎?
謝謝
最後,我發現最合理和最通用的解決方案是對輸入進行歸一化,然後對輸出進行非規格化。
用戶必須設置輸入/輸出範圍,然後一切正常。
這是大多數神經網絡框架所做的。
您可以在輸出圖層中選擇另一個激活函數,例如, g(a)= a(身份)。但是,您應該有一個隱藏層,具有非線性激活函數(tanh,logistic)以近似非線性函數。
我剛剛嘗試過。如果我使用tanh或sigmoid作爲隱藏層的激活函數,然後使用輸出圖層中的身份激活函數,那麼我的權重正在變成無窮大時遇到了一些問題......這可能是我的反向傳播算法的一個問題。 – 2013-04-24 07:09:13
這是我能想到這樣一個簡單問題的唯一原因。也許這有助於看到正確的實現,例如https://github.com/AlexanderFabisch/OpenANN/blob/master/src/FullyConnected.cpp(函數:forwardPropagate和backpropagate;帶有矩陣運算) – alfa 2013-04-24 07:59:48