2012-09-21 49 views
3

我有一個網絡,它有3個輸入,2個隱藏層(每個6個神經元,Sigmoid激活功能)和一個神經元作爲輸出。我期望我的網絡是連續的,因爲我沒有看分類網絡(希望是有道理的)。神經網絡訓練。只有幾個結果

我的輸入代表一年中的天數(0-365範圍)。我實際上將它們標準化爲0-1範圍(因爲sigmoid)。

我的問題是如下:然而,小的訓練錯誤獲得,重新使用訓練集時的實際值是不正確的。根據我運行的時代數量,我會得到不同的結果。

如果我訓練我的網絡超過幾千次,我只會得到兩個可能的結果。如果我對它進行較少的培訓,我會得到更多可能的結果,但這些價值遠不及我的預期。

我讀過一個連續的網絡,最好也使用兩個隱藏層。

我不知道我在做什麼錯。如果你能得到任何幫助,那會很好。讓我知道你是否需要更多細節。

由於

UPDATE 1

我減少了訓練集合中的元素的數量。這一次網絡匯聚在少數時代。下面是訓練誤差:


培訓網絡


迭代#1。錯誤:0.0011177179783950614

迭代#2。錯誤:0.14650660686728395

迭代#3。錯誤:0.0011177179783950614

迭代#4。錯誤:0.023927628368006597

迭代#5。錯誤:0.0011177179783950614

迭代#6。錯誤:0.0034446569367911364

迭代#7。錯誤:0.0011177179783950614

迭代#8。錯誤:8.800816244191594E -4-


最終錯誤:0.0011177179783950614


+0

你能否提供更多的細節......也許是一個時代的表#和準確性? –

+0

我在原帖中添加了培訓錯誤。這是你的預期嗎?謝謝 –

回答

5

你的輸出神經元應當具有線性激活函數(而不是乙狀結腸)。線性激活函數的輸出只是所有輸入的加權和。

如果您在輸出層使用線性激活函數,則不必在0和1之間擴展輸出目標值。

關於層數...一個隱藏層對於大多數問題通常是足夠的,但它因問題而異,您只需嘗試不同的網絡結構並查看最佳效果。

+0

我將輸出激活函數改爲線性。現在我總是得到0的輸出值。 –

+0

需要什麼樣的信息才能更好地瞭解我的問題?謝謝 –