2010-09-05 141 views
2

我想寫一個簡單的神經網絡,可以拿出重量來說,例如,y = x函數。這是我的代碼: http://codepad.org/rPdZ7fOz神經網絡,python

正如你所看到的,錯誤級別從來沒有真正降低太多。我試圖改變勢頭和學習速度,但沒有多大幫助。我的輸入,隱藏和輸出的數量是否正確,我想要做什麼?如果不是,它應該是什麼?如果是這樣,還有什麼可能是錯的?

回答

2

據我所知,您正在嘗試訓練網絡以提供輸出值1,2,3,4。然而,在輸出端,您使用的sigmoid(math.tanh(..))的值始終在-1和1之間。

因此,您的神經網絡的輸出總是在-1和1之間,因此嘗試嘗試時總會出現很大的錯誤以適應該範圍之外的輸出值。

(我只是檢查了0.1縮放你的輸入和輸出值的時候,似乎是一個不錯的訓練進展,我在最後得到:

error 0.00025 

神經網絡你如果你想做分類(例如,如果NN輸出是< 0,則將數據點分配給A類,如果它大於0,則將B分配給B)。它看起來像你想要做的是迴歸(適合一個實值函數)。

您可以在輸出節點刪除sigmoid,但您必須稍微修改反向傳播過程才能將其考慮在內。