2012-11-20 31 views
0

我創建了一個用於檢測垃圾郵件的神經網絡。 它涉及以下步驟;神經網絡訓練中的奇怪行爲?

1.Formation of tf-idf matrix of terms and mails. 
2.Reduction of matrix using PCA. 
3.Feeding the 20 most important terms according to eigen values to neural network as features. 

我正在爲1-Spam和0-Not spam進行培訓。

EDITS: 我決定通過批量處理7封郵件來訓練它,因爲它在形成矩陣時容易出現內存不足錯誤。我使用了火腿和垃圾郵件的標準enron數據集。 我曾經通過後向傳播訓練神經網絡-1個輸入-1個隱藏-1個輸出層,第一層有20個神經元,有6個隱藏層神經元。

因此,我開始在我的gmail中使用我的原始垃圾郵件進行培訓,在將其切換到enron數據集之前給出了非常糟糕的結果。訓練相當多後,獲得滿意的結果。

當我測試時,14封郵件中有6封被發現垃圾郵件。

我使用了垃圾郵件第1批和火腿郵件第2批等替代培訓,以便網絡訓練1個垃圾郵件輸出和0個火腿。

但是現在經過太多的訓練後,我估計400-500封電子郵件,如果再次給出不好的結果。我減少了學習速度,但沒有幫助。 怎麼回事?

+0

你在這裏沒有給我們太多的信息。 –

+0

我編輯過。請告訴我,如果你需要一些具體的信息,我很困難。謝謝 – Hooli

+0

對於數量較少的時代,它是否會給你預期的結果?如果是這樣,你的數據集是太小/偏見或網絡過度訓練:http://en.wikipedia.org/wiki/Overfitting –

回答

0

總結我的意見到一個答案......如果你的網絡產生的結果,你會期望,然後經過額外的培訓後輸出不太準確,那麼有一個很好的機會,它是overtrained

如果您的數據集很小或變化不足,這種情況尤其容易發生。尋找最優數量的時期大多是反覆試驗。

+0

哦對!感謝您的澄清!現在,我正在採取1000年的時間條件..我應該改變它嗎? – Hooli

+0

@IDK嘗試不同的金額並進行比較。如果您繪製50,100,250,500,1000,2000,3000的圖形,您將能夠真正看到這種影響。這些應該會爲您提供廣泛的準確性。 –