2014-03-03 62 views

回答

0

號可以有多個隱藏層,就像在此

- >隱藏1 - >隱藏2 - >出

或者,也可以有多個輸出神經元(在單個輸出層) 。

從技術上講,你可以設置的神經元和層的任何安排,但是你喜歡它們連接起來,並打電話給他們任何你想要的,但上面是這樣做的一般方法。

+0

我的問題是關於輸出層不能隱藏層和我的問題正在訓練他們。似乎pybrain將不允許訓練多個輸出層。 – Firestrand

+0

問題是,如何計算訓練錯誤?錯誤是理想和實際輸出之間的差異。如果你有2個輸出層,你使用哪一個層?如果你同時使用它,就如同@ lmjohns3提到的那樣,它將你的兩個輸出層的神經元組合成一個更大的層。 – andrelucas

+0

我沒有看到用pybrain設置它的方法。 – Firestrand

0

這將是你作爲程序員更多的工作,但如果你想有兩個不同的輸出,你總是可以串連你的輸出到一個載體,用其作爲輸出網絡。

in --> hidden --> concatenate([out1, out2]) 

阿這種方法的可能顯著缺點是,如果兩個輸出是不同的尺度,那麼級聯會扭曲誤差度量使用對網絡進行訓練。

但是,如果你能使用兩個獨立的輸出,那麼你仍然需要解決這個問題,可能是由某種方式加權您使用兩個誤差指標。

這個問題潛在的解決方案可以包括使得它們在一個共同的尺度存在定義自定義誤差度量(例如,通過使用加權平方誤差或加權交叉熵的變體)和/或標準化的兩個輸出數據集。

+1

我目前的需求是2輸出softmax圖層,所以我不能連接它們。我同意,但在其他情況下,我可以簡單地將我的輸出結合到一個層中。至於規模,當然有許多縮放方法可以確保這不是問題。 – Firestrand