有一點,你說你正在做二元預測,當你說「重複預測」時,即使有你的澄清,也很難理解你的意思。我猜測你的二元分類器有兩個輸出,一個用於A類,另一個用於B類,對於給定的樣本,你得到的值大致相同。如果是這種情況,那麼首先要做的就是使用1個輸出。一個二元分類問題更好地建模爲1個輸出,範圍介於0和1之間(S形輸出神經元)。這樣就不會產生歧義,網絡必須選擇一個或另一個,或者當它感到困惑時,你會得到〜0.5,這將是明確的。
其次,網絡開始學習得很好,然後在過度訓練之後表現更差,這是非常普遍的。特別是對於小數據集,比如你擁有的數據集。事實上,即使我對你的數據集的知識知之甚少,我也會投入一點小小的賭注,使你像XGA Boost這樣的算法獲得更好的性能而不是神經網絡(我假設你使用的是神經網絡,而不是字面上的感知器)。
但是關於隨着時間的推移性能下降。當發生這種情況時,您希望查看一些名爲「提前停止」的內容。在某個時候,網絡將開始記憶輸入,並且可能是發生的一部分。基本上你要訓練,直到你的測試數據的表現開始惡化。
爲了解決這個問題,您可以應用各種形式的正則化(L2正則化,丟失,批處理歸一化)。您還可以減少網絡的大小。 5層256個神經元對於這個問題聽起來太大了。嘗試修剪它,我敢打賭你的結果會改善。神經網絡中有一個適合建築規模的最佳位置。當你的網絡太大時,它可能並經常會過度適應。當它太小時,對於數據來說不夠充分。 Angge Ng的課程對於處理這個問題有一些有用的實用建議。
可以是很多東西。例如你的NN可以學習一個常量。請顯示代碼,最好是數據。 – Maxim
重複預測是什麼意思? –
湯姆,你應該編輯你的問題來改進它,而不是添加答案。現在添加這樣的答案標誌着你的問題被回答,並減少了任何人都會看到它的可能性。我已將這些答案的文本移至問題中,我已將它們標記爲不是答案,因此您的問題得到了適當的關注。 –