スパムを検出するためのニューラルネットワークを作成しました。次の手順が含まれます。
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通のメールをトレーニングしすぎた後、再び悪い結果が出たと思います。私は学習率を下げましたが、助けにはなりませんでした。何が問題なのですか?