Bạn muốn biết lý do tại sao chúng tôi bận tâm với việc làm mịn tất cả trong trình phân loại Naive Bayes (khi chúng ta có thể loại bỏ các tính năng chưa biết thay thế).
Câu trả lời cho câu hỏi của bạn là: không phải tất cả các từ phải được biết trong tất cả các lớp.
Giả sử có hai lớp M và N với các tính năng A , B và C , như sau:
M: A = 3, B = 1, C = 0
(Trong lớp M , A xuất hiện 3 lần và B chỉ một lần)
N: A = 0, B = 1, C = 3
(Trong lớp N , C xuất hiện 3 lần và B chỉ một lần)
Hãy xem điều gì xảy ra khi bạn vứt bỏ các tính năng xuất hiện 0 lần.
A) Vứt bỏ các tính năng xuất hiện số lần không trong bất kỳ lớp nào
Nếu bạn vứt bỏ các tính năng A và C vì chúng xuất hiện 0 lần trong bất kỳ lớp nào, thì bạn chỉ còn lại tính năng B để phân loại tài liệu.
Và mất thông tin đó là một điều xấu như bạn sẽ thấy dưới đây!
Nếu bạn được trình bày với một tài liệu kiểm tra như sau:
B = 1, C = 3
(Nó chứa B một lần và C ba lần)
Bây giờ, kể từ khi bạn đã loại bỏ các tính năng Một và B , bạn sẽ không có thể cho biết liệu các tài liệu nêu trên thuộc về lớp M hoặc lớp N .
Vì vậy, mất bất kỳ thông tin tính năng là một điều xấu!
B) Vứt bỏ các tính năng xuất hiện số lần không trong tất cả các lớp
Có thể khắc phục vấn đề này bằng cách loại bỏ chỉ những tính năng xuất hiện 0 lần trong tất cả các lớp không?
Không, bởi vì điều đó sẽ tạo ra vấn đề của riêng nó!
Tài liệu kiểm tra sau đây minh họa những gì sẽ xảy ra nếu chúng ta làm điều đó:
A = 3, B = 1, C = 1
Xác suất của M và N đều trở thành số không (vì chúng tôi không vứt bỏ xác suất 0 của A trong lớp N và xác suất 0 của C trong lớp M ).
C) Đừng vứt bỏ mọi thứ - Thay vào đó hãy sử dụng Smoothing
Làm mịn cho phép bạn phân loại chính xác cả hai tài liệu trên bởi vì:
- Bạn không bị mất thông tin đếm trong các lớp có thông tin đó và
- Bạn không cần phải tranh cãi với số không.
Phân loại Naive Bayes trong thực tế
Trình phân loại Naive Bayes trong NLTK được sử dụng để loại bỏ các tính năng không có số lượng trong bất kỳ lớp nào.
Điều này được sử dụng để làm cho nó hoạt động kém khi được đào tạo bằng cách sử dụng một quy trình EM cứng (trong đó trình phân loại được khởi động từ rất ít dữ liệu đào tạo).