Làm mịn trong mô hình Naive Bayes


13

Công cụ dự đoán Naive Bayes đưa ra dự đoán của mình bằng công thức này:

P(Y=y|X=x)=αP(Y=y)iP(Xi=xi|Y=y)

Trong đó là một yếu tố bình thường hóa. Điều này đòi hỏi phải ước tính các tham số từ dữ liệu. Nếu chúng ta làm điều này với -smoothing, thì chúng ta có được ước tínhP ( X i = x i | Y = y ) kαP(Xi=xi|Y=y)k

P^(XTôi= =xTôi|Y= =y)= =#{XTôi= =xTôi,Y= =y}+k#{Y= =y}+nTôik

trong đó có giá trị có thể cho . Tôi ổn với điều này. Tuy nhiên, trước đây, chúng tôi cóX inTôiXTôi

P^(Y= =y)= =#{Y= =y}N

trong đó có ví dụ trong tập dữ liệu. Tại sao chúng ta cũng không làm mịn trước? Hay đúng hơn, chúng ta làm mịn trước? Nếu vậy, chúng ta chọn tham số làm mịn nào? Có vẻ hơi ngớ ngẩn khi chọn , vì chúng tôi đang thực hiện một phép tính khác. Có một sự đồng thuận? Hay nó không quá quan trọng?Nk

Câu trả lời:


5

Lý do điển hình để làm mịn ở vị trí đầu tiên là xử lý các trường hợp trong đó . Nếu điều này không được thực hiện, chúng ta sẽ luôn nhận được bất cứ khi nào xảy ra.#{XTôi= =xTôi|Y= =y}= =0P(Y= =y|X= =x)= =0

Điều này xảy ra khi, ví dụ, phân loại tài liệu văn bản mà bạn gặp phải một từ không có trong dữ liệu đào tạo của bạn hoặc chỉ không xuất hiện trong một số lớp cụ thể.

Mặt khác, trong trường hợp xác suất trước của lớp, , tình huống này sẽ không xảy ra. Nếu nó làm điều này có nghĩa là bạn đang cố gán các đối tượng cho các lớp thậm chí không xuất hiện trong dữ liệu đào tạo.P(Y= =y)

Ngoài ra, tôi chưa bao giờ gặp phải thuật ngữ -smoothing. Laplace hoặc làm mịn phụ gia là phổ biến hơn nhiều.k


1
Lý do để làm mịn nói chung là để tránh làm quá dữ liệu. Trường hợp số đếm của một số lớp bằng 0 chỉ là một trường hợp cụ thể của overfit (điều đó xảy ra đặc biệt xấu). Bạn vẫn có thể muốn làm mịn các xác suất khi mọi lớp được quan sát. Tôi cho rằng tôi bị làm phiền bởi sự bất đối xứng rõ ràng - Làm mịn Laplace tương ứng với giả định rằng có thêm các quan sát trong tập dữ liệu của bạn. Tại sao bạn lại bỏ qua những quan sát khi lắp trước?
Chris Taylor

Tôi có thể lập luận rằng sẽ không có ý nghĩa gì khi làm trơn lớp trước vì MLE cho có thể tốt hơn rất nhiều so với ước tính của . Nếu tôi có lý do để tin rằng ước tính lớp học của tôi bị sai lệch, tôi sẽ đặt sang một bộ xác thực và tự điều chỉnh các mục sư của lớp. Theo kinh nghiệm của tôi, quá mức có xu hướng ít gặp vấn đề với Bayes ngây thơ (trái ngược với đối tác phân biệt đối xử của nó, hồi quy logistic). Có lẽ bạn sẽ thích hoặc điều trị Bayes hơn ? P(Y= =y)P(XTôi= =xTôi|Y= =y)
alto

"tình huống này không nên xảy ra. Nếu nó xảy ra có nghĩa là bạn đang cố gán các đối tượng cho các lớp thậm chí không xuất hiện trong dữ liệu đào tạo". Uhh ... làm thế nào một bộ phân loại sẽ gán một đối tượng cho một lớp mà nó chưa từng thấy trước đây (nghĩa là không có trong dữ liệu đào tạo)?
Jemenake

@Jemenake Vấn đề thường được gọi là học tập Zero-shot, ví dụ như xem Zero-Shot Learning với Mã đầu ra ngữ nghĩa
alto

Khi chúng ta huấn luyện mô hình bằng cách sử dụng tập dữ liệu huấn luyện, chúng ta có thể xây dựng một vocab bằng cách sử dụng các từ xuất hiện trong tập dữ liệu huấn luyện, vậy tại sao không loại bỏ các từ mới không có trong vocab khi đưa ra dự đoán về tập kiểm tra?
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.