3

我想將輸入分類爲3種可能性之一。使用3個網絡每個輸出一個還是一個網絡3個輸出更好? (即,3個網絡,輸出長度爲3 [1,0,0]多個神經網絡,每個輸出一個或多個輸出?

的一個熱矢量輸出01或1個網絡取決於到來的數據是如何複雜分類是否答案改變?

在什麼量輸出是否有意義分割的網絡(如果有的話)?例如,如果我想分成20組,這有區別嗎?

回答

6

我會說這將使使用單一的網絡,更有意義多個輸出

主要原因是隱藏層(我假設你至少有一個隱藏層)可以被解釋爲將數據從原始空間(特徵空間)轉換到更適合任務的不同空間(分類在你的情況)。例如,當訓練網絡從原始像素識別人臉時,可能會使用隱藏層首先檢測簡單形狀(例如基於像素的小線條),然後使用另一個隱藏層來檢測簡單形狀,如眼睛/鼻子來自第一層的線條等(它可能不完全像這樣「乾淨」,但這是一個易於理解的例子)。

使得網絡可以學到改造通常是對分類任務有用,不管具體的例子有什麼課。例如,無論實際圖像是否包含臉部,能夠檢測圖像中的眼睛是有用的;如果你確實發現了兩隻眼睛,你可以將它分類爲一張臉,否則你將它歸類爲不是臉。在這兩種情況下,你都在尋找眼睛。

因此,通過拆分成多個網絡,你可能最終會在所有網絡學習非常相似的模式呢。那麼你可能已經節省了自己的計算工作,並且只學過一次。

分裂成多個網絡的另一個缺點是,你可能會導致您的數據集變得不平衡(或更加不平衡,如果它已經是失衡的)。假設你有三個類,每個類有三分之一的數據集。如果您使用三個網絡進行三個二元分類任務,則突然總是有1/3「1」類和2/3「0」類。然後,網絡可能會偏向於預測各處的0,因爲這三個問題中的每一個都是大多數類別。

注意,這都是基於我的直覺;如果您有時間,最好的解決方案是簡單地嘗試兩種方法並測試!我認爲我從未見過有人在實踐中使用多個網絡進行單一分類任務,所以如果您只有一個方法的時間,我建議去一個網絡。

我認爲唯一的情況下,將真正意義使用多個網絡的是,如果你真的想預測多個不相關的值(或在非強關係至少值)。例如,如果給定圖像,你想1)預測圖像上是否有狗,2)它是照片還是繪畫。那麼最好使用兩個網絡,每個網絡具有兩個輸出,而不是具有四個輸出的單個網絡。