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-スパムと0-スパムではないようにトレーニングしています。

編集:マトリックスの形成中にメモリ不足エラーが表示される傾向があったため、7メールのバッチサイズを使用してトレーニングすることにしました。ハムとスパムの標準エンロンデータセットを使用しました。私はバックプロパゲーションを介してニューラルネットワークをトレーニングしていました-1入力-1非表示-1出力層で、最初の層に20個のニューロン、6個の非表示層ニューロンがあります。

そこで、Gmailで元のスパムメールを使ってトレーニングを開始し、エンロンデータセットに切り替える前に非常に悪い結果を出しました。かなりのトレーニングを経て、満足のいく成果が得られました。

テストしたところ、14通のメールのうち6通がスパムとして検出されていました。

スパムメールのバッチ1やハムメールのバッチ2などの代替トレーニングを使用して、ネットワークがスパムの場合は1出力、ハムの場合は0の出力をトレーニングしました。

しかし、今では400〜500通のメールをトレーニングしすぎた後、再び悪い結果が出たと思います。私は学習率を下げましたが、助けにはなりませんでした。何が問題なのですか?

4

1 に答える 1

0

私のコメントを答えに要約すると...もしあなたがネットであなたが期待する結果を生み出していて、追加のトレーニングの後、出力がより正確でないなら、それはオーバートレーニングされている可能性が高いです

これは、データセットが小さいか、十分に変化しない場合に特に発生しやすくなります。エポックの最適な数を見つけることは、ほとんど試行錯誤です。

于 2012-11-20T20:23:09.017 に答える