𝗡𝗮𝗶𝘃𝗲 𝗕𝗮𝘆𝗲𝘀 là một thuật toán học máy cực kỳ phổ biến trong phân loại, nhưng tại sao lại gọi là "naive" (ngây thơ)?
"Naive" ở đây là vì thuật toán này giả định rằng các đặc trưng (features) trong dữ liệu là độc lập với nhau khi biết lớp (label). Nghe đơn giản quá phải không?
Ví dụ, trong bài toán phân loại email spam, 𝗡𝗮𝗶𝘃𝗲 𝗕𝗮𝘆𝗲𝘀 sẽ giả định rằng từ "free" và "money" không liên quan đến nhau, dù thực tế chúng thường đi chung trong email rác. Nhưng thuật toán này vẫn cho kết quả rất tốt trong thực tế!
𝗚𝗶𝗮̉ đ𝗶̣𝗻𝗵 𝗰𝘂̉𝗮 𝗡𝗮𝗶𝘃𝗲 𝗕𝗮𝘆𝗲𝘀 𝗹𝗮̀ 𝗴𝗶̀?
Naive Bayes dựa trên một giả định gọi là 𝗖𝗼𝗻𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗜𝗻𝗱𝗲𝗽𝗲𝗻𝗱𝗲𝗻𝗰𝗲 (Độc lập có điều kiện). Có nghĩa là:
Khi biết lớp (label), các đặc trưng không còn phụ thuộc vào nhau nữa.
𝘾𝙤̂𝙣𝙜 𝙩𝙝𝙪̛́𝙘: P(X1,X2,...,Xn∣Y) = P(X1∣Y)⋅P(X2∣Y)⋅...⋅ P(Xn∣Y)
Điều này giúp thuật toán tính toán dễ dàng và nhanh chóng hơn rất nhiều, thay vì phải xử lý toàn bộ mối quan hệ giữa các đặc trưng.
Đ𝗼̣̂𝗰 𝗹𝗮̣̂𝗽 𝘃𝗮̀ 𝗽𝗵𝘂̣ 𝘁𝗵𝘂𝗼̣̂𝗰 𝗸𝗵𝗮́𝗰 𝗻𝗵𝗮𝘂 𝘁𝗵𝗲̂́ 𝗻𝗮̀𝗼?
𝙄𝙣𝙙𝙚𝙥𝙚𝙣𝙙𝙚𝙣𝙘𝙚 (Đ𝙤̣̂𝙘 𝙡𝙖̣̂𝙥)
Hai sự kiện A và B là độc lập nếu: P(A∩B)=P(A)⋅P(B)
Điều này có nghĩa là xác suất xảy ra của sự kiện A không bị ảnh hưởng bởi sự kiện B và ngược lại. Trong ngữ cảnh của Naive Bayes, tính độc lập giữa các đặc trưng có nghĩa là, nếu chúng ta biết lớp Y, sự thay đổi trong giá trị của một đặc trưng không ảnh hưởng đến xác suất của các đặc trưng còn lại.
Ví dụ: Trong một bài toán phân loại email spam, Naive Bayes giả định rằng các từ trong email là độc lập với nhau khi đã biết email là spam hay không. Thực tế, điều này có thể không chính xác (vì các từ có thể có mối quan hệ với nhau, ví dụ "free" và "money" thường xuất hiện cùng nhau trong email spam), nhưng giả định này vẫn hữu ích trong nhiều trường hợp.
𝗗𝗲𝗽𝗲𝗻𝗱𝗲𝗻𝗰𝗲 (𝗣𝗵𝘂̣ 𝘁𝗵𝘂𝗼̣̂𝗰)
Hai sự kiện A và B là phụ thuộc nếu: P(A∩B)≠P(A)⋅P(B)
Điều này có nghĩa là xác suất xảy ra của sự kiện A bị ảnh hưởng bởi sự kiện B và ngược lại. Trong các bài toán thực tế, các đặc trưng thường có sự phụ thuộc với nhau, ví dụ trong bài toán nhận diện khuôn mặt, các đặc trưng về ánh sáng và góc nhìn có thể có sự phụ thuộc nhất định.
Trong thực tế, các đặc trưng trong dữ liệu thường phụ thuộc lẫn nhau. Nhưng Naive Bayes vẫn giả định chúng độc lập để đơn giản hóa bài toán – đây chính là lý do nó được gọi là "ngây thơ"!
𝗞𝗲̂́𝘁 𝗹𝘂𝗮̣̂𝗻:
𝗡𝗮𝗶𝘃𝗲 𝗕𝗮𝘆𝗲𝘀 có thể "ngây thơ" trong giả định, nhưng nhờ sự đơn giản này mà nó trở nên cực kỳ hiệu quả và phổ biến, đặc biệt là trong các bài toán như:
- Phân loại văn bản (email spam, cảm xúc bình luận).
- Nhận diện ngôn ngữ.
Và nhiều ứng dụng khác.
Ngây thơ đôi khi lại là sức mạnh!
Bạn đã dùng Naive Bayes trong dự án nào chưa? Chia sẻ ở dưới nhé!
Không có nhận xét nào:
Đăng nhận xét
Cảm ơn bạn rất nhiều ạ