スパムメールの検出を学ぶには?


8

スパムメール検出機能がどのように実行されるかを知りたい。私は市販の製品を作るつもりはありません。それは私にとって真剣な学習課題になります。したがって、私はフォローできる既存のプロジェクト、ソースコード、記事、論文などのリソースを探しています。私は例で学びたいのですが、一から学ぶだけでは十分ではないと思います。ベイジアンで手を汚したいのが理想です。

そのようなものはありますか?プログラミング言語は私にとって問題ではありません。

回答:


6

まず、これを注意深く確認してください。簡単なデータセットとレビューするいくつかの論文が見つかります。

しかしあなたは、単純な学習プロジェクトを開始したいと私は(明らかにされない論文を通過しないようにお勧めします基本的な)が、それほど難しいことではない、独自のベイズ学習者を構築してみてください。

私は個人的に、Andrew Mooreの無料で利用できる確率的グラフィカルモデルに関する講義スライドを提案します。これらのスライドから、簡単に段階的に学習できます。

詳細なヘルプが必要な場合は、この回答にコメントしてください。喜んでお手伝いします:)

ベイジアン学習をお楽しみください!


6

Andrew NgのCourseraでの機械学習コース(ある場合には、Courseraのフラグシップコース)では、プログラマーがサポートベクターマシンを対象に演習を行って、スパム分類を行っていました。講義は素晴らしく、有名で、一見の価値があります。

彼からこの投稿されたコースもあります:

http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/ex6/ex6.html


2

Cathy O'Neil、Rachel Schutt著の「Doing Data Science-Straight Talk From the Frontline」の本には、スパム検出のためのベイジアン手法の基本的な紹介があります。

他の一般的なデータサイエンスモデルがスパム分類子に対して機能しない理由を説明しているので、この章は適切です。本全体でRを使用しているので、Rでの作業に興味がある場合にのみ取り上げます。

Enronのメールセットは、メールがスパムに分類されているため、トレーニングデータとして使用されています。


2

これは実際には、多くの人々や企業が取り組んできた本当に詳細な問題です。ここにいくつかの基本があります:

d

これで、データは有用なスペースにありますが、非常に高次元のスペースにあります。どういうわけかこの次元を減らすことをお勧めしますが、それは別のスレッドの全体の主題です。

最後に、いくつかのアルゴリズムをトレーニングして、サンプルを分類することができます(これが他の答えです)。ニューラルネットワーク、アダブースト、SVM、単純ベイズ、グラフィック分類モデルなど、優れた選択肢がたくさんあります。これらの多くは、scikit-learnにも実装されています。

しかし、最良のアルゴリズムは、この問題が実際には転移学習問題であるという事実を利用しています。つまり、トレーニングデータとテストデータの配布元は完全に同じではない可能性があります。ある人がスパムであると考えるものの種類は、別の人がスパムであると考えるものの種類とは異なる場合があるためです。


最後の段落について詳しく説明していただけますか(「転移学習」)。リンクや名前を教えてください。
Valentas

1
従来の機械学習では、特定の確率分布からのデータがいくつかあります。次に、モデルがトレーニング中に見られない例に一般化されることを期待して、そのデータに基づいてある種のモデルを学習します。これは、これらの目に見えないサンプルが同じ確率分布に由来する場合にのみ機能するため、これが当てはまると想定します。転移学習では、その仮定を行いません。こちらが現地調査紙です。
ヨルダンA

そして、どのようにd変数を思いつきますか?科学者が選んだ固定数ですか?
Martin Vseticka、2015年

ddd
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.