Nội dung bài viết
© 2025 AI VIET NAM. All rights reserved.
Tác giả: AI VIET NAM (AI VIET NAM)
Keywords: naive bayes, conditional independence, giả định độc lập, phân loại, machine learning
Khi bắt đầu học phân loại (classification), nhiều bạn thường gặp Naive Bayes rất sớm và đôi khi thấy một cụm từ gây thắc mắc:
“Giả định độc lập có điều kiện”
Nó có nghĩa là gì? Tại sao một mô hình lại có thể đơn giản đến mức xem các đặc trưng gần như… không liên quan với nhau?
Thắc mắc này khá phổ biến, đặc biệt ở những bạn mới tiếp cận ML cơ bản (nhóm kiến thức thường xuất hiện trong mảng Regression–Classification). Bài viết dưới đây sẽ lý giải dễ hiểu từ gốc.
Hiểu ngắn gọn:
Trong Naive Bayes, mọi đặc trưng (feature) được xem là độc lập với nhau khi đã biết nhãn (label). Nghĩa là: nếu biết lớp C, thì đặc trưng X₁ không ảnh hưởng đến X₂, X₃… và ngược lại.
Nói cách khác:
Mô hình cho rằng mỗi feature đóng góp vào xác suất của lớp theo từng phần riêng lẻ. Đây chính là lý do nó được gọi là naive – “giả định đơn giản hóa”.
Giả sử bạn muốn phân loại email “spam” hay “không spam”.
Bạn có các đặc trưng:
Naive Bayes giả định rằng: Nếu biết email là spam hay không (nhãn) thì việc có từ “free” không ảnh hưởng đến khả năng có từ “click”.
Cả hai được xử lý như các “gợi ý riêng lẻ”.
Trong thực tế, nhiều đặc trưng có liên quan, nhưng Naive Bayes vẫn hoạt động tốt ở nhiều bài toán.
Nếu không có giả định này, việc tính xác suất P(X₁, X₂, …, Xₙ | C) sẽ rất khó vì:
Naive Bayes đơn giản hóa bằng cách viết lại xác suất:
P(X₁, X₂, ..., Xₙ | C) = P(X₁ | C) × P(X₂ | C) × ... × P(Xₙ | C)
Nhờ đó mô hình:
Bạn có các đặc trưng:
Khi đã biết bình luận là tích cực hay tiêu cực, mô hình coi mỗi đặc trưng đóng góp độc lập vào quyết định phân loại. Dù trong thực tế chúng có liên quan nhau, Naive Bayes vẫn xem chúng như các tín hiệu riêng lẻ.
Ở góc nhìn dự án, Naive Bayes phù hợp khi:
Nhưng cũng cần chú ý:
Giả định độc lập có điều kiện xuất hiện trong các nhóm:
Những nền tảng này giúp bạn hiểu rõ bản chất xác suất và cách đặc trưng ảnh hưởng đến mô hình.
Bạn có thể thử chạy Naive Bayes trên dữ liệu văn bản nhỏ để quan sát mô hình hoạt động.
Hãy thử thêm/bớt đặc trưng để cảm nhận rõ giả định “độc lập có điều kiện” đơn giản hóa mô hình như thế nào.
Nếu muốn mở rộng, hãy so sánh kết quả với các mô hình classification khác để thấy sự khác biệt.