Tại sao các phân loại Bayes ngây thơ thực hiện tốt như vậy?


38

Phân loại Naive Bayes là một lựa chọn phổ biến cho các vấn đề phân loại. Có nhiều lý do cho việc này, bao gồm:

  • "Zeitgeist" - nhận thức rộng rãi sau thành công của các bộ lọc thư rác khoảng mười năm trước
  • Dễ viết
  • Mô hình phân loại nhanh để xây dựng
  • Mô hình có thể được sửa đổi với dữ liệu đào tạo mới mà không phải xây dựng lại mô hình

Tuy nhiên, chúng là 'ngây thơ' - tức là chúng cho rằng các tính năng là độc lập - điều này trái ngược với các phân loại khác như phân loại Entropy tối đa (chậm tính toán).

Giả định độc lập thường không thể được giả định và trong nhiều trường hợp (hầu hết?), Bao gồm cả ví dụ về bộ lọc thư rác, điều đó đơn giản là sai.

Vậy tại sao Trình phân loại Naive Bayes vẫn hoạt động rất tốt trong các ứng dụng như vậy, ngay cả khi các tính năng không độc lập với nhau?

Câu trả lời:


23

Bài báo này dường như chứng minh (tôi không thể theo toán học) rằng các vịnh tốt không chỉ khi các tính năng độc lập mà còn khi các phụ thuộc của các tính năng tương tự nhau giữa các tính năng:

Trong bài báo này, chúng tôi đề xuất một lời giải thích mới về hiệu suất tuyệt vời của Bayes ngây thơ. Chúng tôi cho thấy rằng, về cơ bản, phân phối phụ thuộc; tức là, sự phụ thuộc cục bộ của một nút phân phối trong mỗi lớp, đồng đều hay không đồng đều và cách các phụ thuộc cục bộ của tất cả các nút làm việc cùng nhau, nhất quán (hỗ trợ một phân loại nhất định) hoặc không nhất quán (loại bỏ lẫn nhau), đóng một vai trò quan trọng. Do đó, cho dù sự phụ thuộc giữa các thuộc tính mạnh đến mức nào, Bayes ngây thơ vẫn có thể là tối ưu nếu các phụ thuộc phân phối đồng đều trong các lớp hoặc nếu các phụ thuộc triệt tiêu lẫn nhau


1
Định tính, điều đó có ý nghĩa. Các tính năng phụ thuộc sẽ dẫn đến trọng số - vì vậy một phân phối đồng đều hoặc phân phối hủy bỏ, sẽ hủy bỏ trọng số này. Tuy nhiên, phụ thuộc "lop-side" có lẽ sẽ vẫn hoạt động kém? Tôi đoán đối với ví dụ về thư rác, chúng ta sẽ mong đợi rất nhiều sự phụ thuộc cho các tính năng + thư rác, nhưng không nhất thiết phải là các tính năng trong trường hợp chung. Tuy nhiên, một người có thể nhận được rất nhiều email hợp pháp về một chủ đề cụ thể, vì vậy trong trường hợp đó sẽ có rất nhiều tính năng phụ thuộc - sẽ cân bằng các tính năng + spam.
winwaed

3
Tôi cũng giới thiệu bài viết này: cs.stanford.edu/people/ang/ con / con
Dov

25

Hầu hết các vấn đề về Machine Learning đều dễ dàng!

Xem ví dụ tại blog của John Langford . Điều anh ấy thực sự nói là ML làm cho vấn đề trở nên dễ dàng và điều này đặt ra một vấn đề cho các nhà nghiên cứu về việc họ có nên thử áp dụng các phương pháp cho một loạt các vấn đề đơn giản hay tấn công các vấn đề khó khăn hơn không. Tuy nhiên, sản phẩm phụ là đối với nhiều vấn đề, dữ liệu có thể phân tách tuyến tính (hoặc ít nhất là gần như), trong trường hợp đó, bất kỳ phân loại tuyến tính nào cũng sẽ hoạt động tốt! Thực tế là các tác giả của bài báo lọc thư rác ban đầu đã chọn sử dụng Naive Bayes, nhưng họ đã sử dụng một Perceptron, SVM, Phân tích phân biệt đối xử của Fisher, Hồi quy logistic, AdaBoost, hoặc hầu hết mọi thứ khác có thể sẽ hoạt động tốt.

Thực tế là tương đối dễ dàng để mã hóa thuật toán giúp. Ví dụ, để mã hóa SVM, bạn cần phải có Bộ giải QP hoặc bạn cần mã hóa thuật toán SMO không phải là một nhiệm vụ tầm thường. Tất nhiên bạn có thể tải xuống libsvm nhưng trong những ngày đầu tùy chọn đó không có sẵn. Tuy nhiên, có nhiều thuật toán đơn giản khác (bao gồm cả Perceptron được đề cập ở trên) rất dễ viết mã (và cho phép cập nhật gia tăng như câu hỏi đề cập).

Tất nhiên, đối với các bài toán phi tuyến khó, có thể xử lý các phi tuyến là cần thiết. Nhưng ngay cả điều này có thể là một nhiệm vụ tương đối đơn giản khi Phương thức hạt nhân được sử dụng. Câu hỏi thường trở thành "Làm cách nào để tôi thiết kế một hàm nhân hiệu quả cho dữ liệu của mình" thay vì "Tôi nên sử dụng trình phân loại nào".


Tôi nghĩ rằng "dễ dàng" có lẽ là tương đối, nhưng có phân loại thư rác là "dễ dàng hơn" tôi nghĩ rằng hầu hết mọi người giả định cách đây 12 năm hoặc lâu hơn. Các phương thức hạt nhân có thể là một cách tiếp cận để tạo ra một trình phân loại nhanh và đơn giản, nhưng "Làm cách nào để tôi thiết kế một hàm nhân hiệu quả cho dữ liệu của mình" có vẻ như một số máy học trở thành "học của con người" (nghĩa là tìm hiểu rõ hơn về dữ liệu và mối quan hệ liên kết của nó)?
winwaed

1
Vâng, nó là tương đối, và cũng có rất nhiều vấn đề, vì vậy vẫn còn nhiều vấn đề khó khăn ngoài kia! Và tôi nghĩ rằng ranh giới giữa ML và việc học của con người luôn mờ nhạt ... nếu bạn đang tạo ra một mô hình xác suất siêu lạ mắt nào đó, bạn đang làm điều tương tự. NFLT cũ tốt cho chúng ta biết rằng một phương pháp không thể giải quyết tất cả các vấn đề, tuy nhiên phương pháp đó phức tạp, vì vậy chúng ta sẽ luôn cần con người thiết kế mô hình / hạt nhân / thuật toán hoặc bất cứ điều gì cần thiết để lấy thêm dữ liệu của bạn.
tdc

đúng - chắc chắn là một dòng mờ!
winwaed

1
Tại sao các downvote? Muốn bình luận?
tdc

7

Đã sử dụng rộng rãi Phân loại Naive Bayesian trong các công cụ phân loại phân khúc, kinh nghiệm của tôi phù hợp với các bài báo được công bố cho thấy NBC có thể so sánh chính xác với phân biệt tuyến tính và GIỎI / CHAID khi có sẵn tất cả các biến dự đoán.

(Theo độ chính xác cả "tỷ lệ trúng" trong việc dự đoán giải pháp chính xác là giải pháp có khả năng nhất, cũng như hiệu chuẩn, nghĩa là, ước tính 75% thành viên là đúng trong 70% -80% trường hợp.)

Hai xu của tôi là NBC hoạt động rất tốt bởi vì:

  • Tương quan giữa các biến dự đoán không mạnh như người ta tưởng (điểm thông tin lẫn nhau từ 0,05 đến 0,15 là điển hình)
  • NBC có thể xử lý tốt các biến đa phân rời rạc, không yêu cầu chúng tôi phải phân đôi rõ ràng chúng hoặc coi các biến số thứ tự là hồng y.
  • NBC sử dụng đồng thời tất cả các biến trong khi GIỎI / CHAID chỉ sử dụng một vài biến

Và đó là khi tất cả các biến được quan sát. Điều khiến NBC thực sự rút ra khỏi gói là nó xuống cấp một cách duyên dáng khi một hoặc nhiều biến dự đoán bị thiếu hoặc không được quan sát. GIỎ HÀNG / CHAID và phân tích phân biệt tuyến tính dừng hoàn toàn trong trường hợp đó.

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.