我使用this article來實現帶反向傳播的神經網絡,但計算錯誤時有問題。概括地說,我的S形函數擠壓我所有的節點輸出到1.0,然後導致誤差計算返回0:神經網絡:反向傳播期間計算錯誤
error = (expected - actual) * (1 - actual) * actual
^^ this term causes multiply by 0
所以我的錯誤總是0
我懷疑問題在於我的乙狀結腸實現,這是返回1.0,而不是漸進邊界低於1.0:
# ruby
def sigmoid(x)
1/(1+Math.exp(-x))
end
我是正確的是乙狀結腸從未實際上應該達到1.0,或者有我有別的東西了?
是的,你的功能應該始終低於1.我認爲一些舍入問題可能是罪魁禍首...... –