Làm thế nào để học phát hiện email spam?


8

Tôi muốn tìm hiểu làm thế nào một trình phát hiện thư rác được thực hiện. Tôi không cố gắng xây dựng một sản phẩm thương mại, nó sẽ là một bài tập học tập nghiêm túc đối với tôi. Do đó, tôi đang tìm kiếm các tài nguyên, chẳng hạn như các dự án hiện tại, mã nguồn, bài viết, giấy tờ, vv mà tôi có thể theo dõi. Tôi muốn học bằng các ví dụ, tôi không nghĩ mình đủ giỏi để làm điều đó từ đầu. Lý tưởng nhất là tôi muốn có được bàn tay của mình ở Bayesian.

Có điều gì như vậy không? Ngôn ngữ lập trình không phải là vấn đề đối với tôi.

Câu trả lời:


6

Trước hết hãy kiểm tra điều này một cách cẩn thận. Bạn sẽ tìm thấy một bộ dữ liệu đơn giản và một số giấy tờ để xem xét.

NHƯNG vì bạn muốn bắt đầu một dự án học tập đơn giản, tôi khuyên bạn không nên xem qua các bài viết (rõ ràng là không cơ bản ) nhưng hãy cố gắng xây dựng người học bayesian của riêng bạn, điều này không quá khó.

Cá nhân tôi đề nghị các bài giảng của Andrew Moore về các Mô hình đồ họa xác suất có sẵn miễn phí và bạn có thể học hỏi từ chúng một cách đơn giản và từng bước một.

Nếu bạn cần trợ giúp chi tiết hơn, chỉ cần nhận xét về câu trả lời này và tôi sẽ vui lòng giúp đỡ :)

Tận hưởng việc học Baysian!


6

Trong Khóa học về máy học của Andrew Ng trên Coursera (đôi khi là khóa học hàng đầu cho Coursera), các lập trình viên tập thể dục cho Support Vector Machines là một ví dụ thực hiện phân loại thư rác. Các bài giảng là tuyệt vời, thậm chí nổi tiếng, và cũng đáng xem.

Ngoài ra còn có khóa học được đăng từ anh ấy:

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


2

Có một giới thiệu cơ bản về phương pháp Bayes để phát hiện thư rác trong cuốn sách "Làm khoa học dữ liệu - Nói thẳng từ tiền tuyến" của Cathy O'Neil, Rachel Schutt.

Chương này rất hay, bởi vì nó giải thích tại sao các mô hình khoa học dữ liệu phổ biến khác không hoạt động đối với các trình phân loại spam. Toàn bộ cuốn sách sử dụng R trong suốt, vì vậy chỉ chọn nó nếu bạn thích làm việc với R.

Nó sử dụng email Enron được đặt làm dữ liệu đào tạo, vì nó có email được chia thành thư rác / không phải thư rác.


2

Đây thực sự là một vấn đề thực sự sâu sắc mà nhiều người và các công ty đã làm việc. Dưới đây là một số điều cơ bản:

d

Bây giờ dữ liệu ở trong một không gian hữu ích, nhưng là một không gian thực sự cao. Tôi khuyên bạn nên giảm kích thước này bằng cách nào đó, nhưng đó là toàn bộ chủ đề cho một chủ đề khác.

Cuối cùng, bạn có thể huấn luyện một số thuật toán để phân loại các mẫu (đó là những gì các câu trả lời khác nói về). Có rất nhiều sự lựa chọn tuyệt vời - mạng lưới thần kinh, adaboost, SVM, Naive Bayes và các mô hình phân loại đồ họa đều sẽ cho bạn kết quả tốt. Nhiều trong số này cũng có triển khai trong scikit-learn.

Nhưng các thuật toán tốt nhất thúc đẩy thực tế rằng vấn đề này thực sự là một vấn đề học tập chuyển giao. Đó là, các bản phân phối mà dữ liệu đào tạo và kiểm tra có thể không hoàn toàn giống nhau - bởi vì những thứ mà một người cho là thư rác có thể khác với những thứ mà người khác nghĩ là thư rác.


Bạn có thể giải thích đoạn cuối của bạn ("học chuyển") không? Bạn có thể cung cấp bất kỳ liên kết hoặc tên?
Valentas

1
Trong học máy thông thường, chúng tôi có một số dữ liệu đến từ một phân phối xác suất cụ thể. Sau đó, chúng tôi tìm hiểu một số loại mô hình trên dữ liệu đó, hy vọng rằng mô hình sẽ khái quát thành các ví dụ không thấy trong quá trình đào tạo. Điều này sẽ chỉ hoạt động nếu các mẫu không nhìn thấy này đến từ cùng một phân phối xác suất, vì vậy chúng tôi giả sử đây là trường hợp. Trong học chuyển, chúng tôi không đưa ra giả định đó. Đây là một bài khảo sát trên hiện trường.
Jordan A

Và làm thế nào để bạn đưa ra dbiến? Đây có phải là một số cố định được lựa chọn bởi một nhà khoa học?
Martin Vseticka

ddd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.