Định lý Bayes là công thức cho biết niềm tin vào một giả thuyết nên thay đổi bao nhiêu khi có thêm bằng chứng. Viết gọn: P(A | B) = P(B | A) × P(A) / P(B). Đọc thành lời: xác suất A xảy ra khi đã biết B bằng xác suất thấy B nếu A đúng, nhân với xác suất ban đầu của A, rồi chia cho xác suất thấy B nói chung. Công thức chỉ có ba phép tính, nhưng lại là chỗ sinh viên năm nhất và cả người đi làm hiểu sai nhiều nhất.
Bài này đi từ một ví dụ xét nghiệm giả định, tính bằng bảng đếm người thay vì công thức, rồi mới quay lại ký hiệu. Sau đó là ứng dụng trong bộ lọc thư rác, những lỗi hay gặp, và cách dùng chatbot để kiểm bài làm của mình mà không để nó làm thay. Mọi con số trong bài là ví dụ giả định để luyện tính, không phải số liệu y khoa thật.
Bài toán xét nghiệm khiến nhiều người đoán sai
Giả sử một bệnh có tỉ lệ mắc trong cộng đồng là 1%. Một xét nghiệm phát hiện đúng 99% người mắc bệnh (độ nhạy 99%), nhưng với người không mắc bệnh vẫn báo dương tính nhầm 5% số lần. Một người làm xét nghiệm và nhận kết quả dương tính. Hỏi: xác suất người đó thật sự mắc bệnh là bao nhiêu?
Khi hỏi câu này trong lớp, câu trả lời phổ biến nhất là khoảng 95% hoặc 99%. Lý do dễ hiểu: con số 99% nằm ngay trong đề, và trực giác nối thẳng "xét nghiệm chính xác 99%" với "dương tính thì gần như chắc bệnh". Đáp án đúng là khoảng 16,7%, tức là trong sáu người nhận kết quả dương tính thì chỉ chừng một người mắc bệnh thật.
Khoảng cách giữa 99% và 16,7% chính là thứ định lý Bayes giải thích. Trực giác đã bỏ quên một thông tin: bệnh rất hiếm, chỉ 1%. Khi số người khoẻ đông gấp 99 lần số người bệnh, thì 5% báo nhầm trên một đám đông rất lớn vẫn sinh ra nhiều kết quả dương tính hơn 99% của một nhóm nhỏ. Hiện tượng này có tên là bỏ qua tỉ lệ nền, và nó xuất hiện ở khắp nơi, từ y tế đến kiểm tra chất lượng hàng hoá, từ camera nhận diện đến hệ thống cảnh báo gian lận thẻ.
Điều đáng chú ý là chẳng cần công thức mới thấy được điều đó. Chỉ cần thay xác suất bằng số người cụ thể, như phần tiếp theo.
Tính bằng bảng tần suất tự nhiên thay vì công thức
Hãy tưởng tượng 10.000 người cùng làm xét nghiệm. Với tỉ lệ mắc 1%, có 100 người bệnh và 9.900 người không bệnh. Ta điền từng ô bằng phép nhân đơn giản.
| Nhóm | Dương tính | Âm tính | Cộng |
|---|---|---|---|
| Mắc bệnh (100 người) | 99 (99% của 100) | 1 | 100 |
| Không mắc bệnh (9.900 người) | 495 (5% của 9.900) | 9.405 | 9.900 |
| Cộng | 594 | 9.406 | 10.000 |
Nhìn vào cột dương tính: tổng cộng 594 người nhận kết quả dương tính, trong đó chỉ 99 người mắc bệnh thật. Vậy xác suất mắc bệnh khi đã dương tính là 99 / 594, rút gọn được đúng 1/6, xấp xỉ 16,7%. Bạn có thể tự kiểm: 594 chia 6 bằng 99.
Cách đếm này được nhà tâm lý học Gerd Gigerenzer cùng cộng sự gọi là tần suất tự nhiên, và nhiều thử nghiệm giảng dạy cho thấy người học giải đúng thường xuyên hơn hẳn khi đề được trình bày theo kiểu đếm người thay vì phần trăm. Khi gặp bài Bayes nào, bạn nên lập bảng này trước, rồi mới viết công thức để đối chiếu.
Từ bảng đếm quay về công thức P(A | B)
Giờ gọi A là "mắc bệnh", B là "dương tính". Ba con số đề cho tương ứng với: P(A) = 0,01 là xác suất tiên nghiệm, tức niềm tin trước khi có kết quả; P(B | A) = 0,99 là khả năng thấy dương tính nếu thật sự bệnh; và P(B | không A) = 0,05 là tỉ lệ báo nhầm.
Mẫu số P(B) được tính bằng công thức xác suất toàn phần: P(B) = P(B | A) × P(A) + P(B | không A) × P(không A) = 0,99 × 0,01 + 0,05 × 0,99 = 0,0099 + 0,0495 = 0,0594. Đây chính là 594 trên 10.000 ở bảng trên. Tử số P(B | A) × P(A) = 0,0099 ứng với 99 người. Chia ra: 0,0099 / 0,0594 = 1/6. Hai cách cho cùng một đáp số, và đó là cách tốt để tự kiểm.
Kết quả P(A | B) gọi là xác suất hậu nghiệm: niềm tin sau khi đã có bằng chứng. Điều thú vị là hậu nghiệm của lần này trở thành tiên nghiệm cho lần sau. Nếu người đó làm xét nghiệm thứ hai độc lập và lại dương tính, ta thay P(A) = 1/6 vào công thức: tử số 1/6 × 0,99 = 0,165; phần báo nhầm 5/6 × 0,05 ≈ 0,0417; hậu nghiệm ≈ 0,165 / 0,2067 ≈ 0,798, tức gần 80%. Đây là lý do trong thực tế, một kết quả sàng lọc dương tính thường được bác sĩ cho làm thêm xét nghiệm khẳng định thay vì kết luận ngay.
Lưu ý giả thiết "độc lập": nếu hai lần xét nghiệm cùng nhầm vì một nguyên nhân chung, phép tính trên không còn đúng. Bài toán trong sách luôn nói rõ giả thiết; bài toán ngoài đời thì bạn phải tự hỏi.
Cùng một xét nghiệm, tỉ lệ nền khác thì kết luận khác
Để thấy tiên nghiệm quan trọng đến đâu, giữ nguyên xét nghiệm giả định ở trên (độ nhạy 99%, báo nhầm 5%) và chỉ thay tỉ lệ mắc bệnh trong nhóm người được xét nghiệm. Các con số tính theo đúng công thức đã trình bày, làm tròn một chữ số thập phân.
| Tỉ lệ mắc trong nhóm | Dương tính thật trên 10.000 người | Dương tính nhầm trên 10.000 người | Xác suất bệnh khi dương tính |
|---|---|---|---|
| 0,1% | khoảng 10 | khoảng 500 | khoảng 1,9% |
| 1% | 99 | 495 | khoảng 16,7% |
| 5% | khoảng 495 | 475 | khoảng 51,0% |
| 10% | 990 | 450 | khoảng 68,8% |
| 50% | 4.950 | 250 | khoảng 95,2% |
Xét nghiệm không đổi, nhưng ý nghĩa của một kết quả dương tính đi từ gần như vô nghĩa đến gần như chắc chắn, chỉ vì nhóm người được xét nghiệm khác nhau. Đó là lý do cùng một phép thử có giá trị rất khác khi dùng để sàng lọc đại trà so với khi dùng cho người đã có triệu chứng rõ, nhóm có tỉ lệ nền cao hơn nhiều.
Với người học toán, bảng này là một bài luyện tập tốt: tự tính lại từng dòng bằng cả hai cách, bảng đếm và công thức, rồi so với cột cuối. Nếu dòng nào lệch, quay lại xem mình đã quên phần nào của mẫu số. Bạn cũng có thể nhờ AI vẽ đường cong xác suất hậu nghiệm theo tỉ lệ nền, rồi tự kiểm ba điểm trên đường đó bằng tay.
Bayes trong bộ lọc thư rác và những nơi khác
Bộ lọc thư rác kiểu Bayes. Mỗi từ trong thư là một bằng chứng nhỏ. Từ "trúng thưởng" xuất hiện trong thư rác nhiều hơn hẳn thư thường, nên khi thấy từ đó, xác suất thư là rác tăng lên. Bộ lọc kiểu ngây thơ (naive Bayes) nhân các bằng chứng lại với giả định các từ độc lập với nhau. Giả định này sai về mặt ngôn ngữ, nhưng trong thực hành vẫn cho kết quả đủ tốt, và đây là một trong những ví dụ đầu tiên sinh viên ngành dữ liệu được học.
Kiểm tra chất lượng. Một máy dò lỗi trên dây chuyền báo động. Nếu tỉ lệ sản phẩm lỗi rất thấp, phần lớn báo động có thể là báo nhầm, cùng cơ chế với bài xét nghiệm. Người quản lý hiểu Bayes sẽ không phạt công nhân chỉ vì một tiếng còi.
Chẩn đoán sự cố kỹ thuật. Xe không nổ máy: hết xăng, hỏng ắc quy hay hỏng bugi? Thợ giỏi vô thức dùng Bayes, bắt đầu từ nguyên nhân phổ biến nhất (tiên nghiệm cao) và cập nhật theo dấu hiệu (tiếng đề yếu làm nghiêng về ắc quy).
Trong trí tuệ nhân tạo. Nhiều mô hình học máy được diễn giải như việc cập nhật niềm tin theo dữ liệu. Phần này có bài riêng ở danh mục toán đứng sau trí tuệ nhân tạo; ở đây bạn chỉ cần nắm cơ chế tiên nghiệm, bằng chứng, hậu nghiệm.
Năm lỗi sinh viên hay mắc khi giải bài Bayes
Khi chấm bài, các lỗi dưới đây lặp đi lặp lại. Bạn có thể dùng danh sách này để tự soát bài làm trước khi nộp.
- Đảo chiều điều kiện: nhầm P(dương tính | bệnh) với P(bệnh | dương tính). Hai đại lượng này khác nhau hoàn toàn, như ví dụ trên là 99% và 16,7%. Trong tranh luận pháp đình, lỗi này còn có tên là nguỵ biện của bên công tố.
- Quên tỉ lệ nền: không dùng P(A) hoặc coi P(A) bằng 50% chỉ vì không biết. Nếu đề không cho tiên nghiệm, bạn phải nói rõ mình giả định gì.
- Tính sai mẫu số: chỉ lấy P(B | A) làm mẫu số, quên phần dương tính nhầm từ nhóm không bệnh.
- Nhầm độ nhạy với độ đặc hiệu: độ đặc hiệu 95% nghĩa là tỉ lệ báo nhầm 5%, không phải 95%.
- Làm tròn quá sớm: làm tròn 0,0594 thành 0,06 ở bước giữa sẽ cho 16,5% thay vì 16,7%. Giữ phân số hoặc ít nhất bốn chữ số đến bước cuối.
Một mẹo nhỏ: luôn ước lượng thô trước khi tính. Nếu bệnh hiếm và tỉ lệ báo nhầm cao hơn tỉ lệ mắc nhiều lần, đáp số phải nhỏ. Thấy kết quả 90% là biết có gì đó sai.
Dùng chatbot để kiểm bài Bayes mà không để nó làm hộ
Chatbot giải được phần lớn bài Bayes trong sách, nhưng đôi khi đảo chiều điều kiện hoặc tính sai ở bước cộng. Cách dùng có ích nhất là để nó đóng vai người kiểm, còn bạn làm trước.
- Tự giải trên giấy, lập bảng tần suất và công thức, ghi đáp số.
- Gõ cho chatbot một lệnh kiểu: "Đây là bài xác suất có điều kiện và lời giải của em. Đừng đưa đáp án ngay. Hãy chỉ ra bước nào sai nếu có, và hỏi lại em một câu gợi ý cho bước đó."
- Khi nó chỉ ra lỗi, tự sửa rồi gửi lại, thay vì xin lời giải đầy đủ.
- Yêu cầu nó kiểm bằng cách khác: "Hãy tính lại bằng cách đếm trên 10.000 người và so với kết quả công thức." Nếu hai cách cho hai số khác nhau, ít nhất một bên sai, có khi là chính chatbot.
- Nhờ nó ra một bài tương tự với số liệu khác để bạn luyện lại, rồi tự giải trước khi xem đáp án.
Nếu bạn áp dụng Bayes vào dữ liệu thật ở chỗ làm, chẳng hạn danh sách khách hàng bị hệ thống gắn cờ, hãy bỏ tên, số điện thoại, số tài khoản trước khi dán vào chatbot; chỉ cần các con số tổng hợp là đủ để tính. Còn nếu bạn đang lo về một kết quả xét nghiệm thật của bản thân, phép tính trong bài chỉ để hiểu khái niệm, người trả lời đúng là bác sĩ đã chỉ định xét nghiệm đó.
Câu hỏi thường gặp
Định lý Bayes khác gì xác suất có điều kiện thông thường?
Xác suất có điều kiện là khái niệm P(A | B), còn định lý Bayes là công thức cho phép tính P(A | B) khi bạn chỉ biết P(B | A) và các xác suất ban đầu. Nói cách khác, Bayes là công cụ đảo chiều điều kiện một cách đúng đắn.
Vì sao xét nghiệm chính xác 99% mà dương tính vẫn chỉ khoảng 16,7% là bệnh trong ví dụ?
Vì bệnh trong ví dụ giả định rất hiếm, chỉ 1%. Số người khoẻ đông gấp 99 lần nên 5% báo nhầm trên họ tạo ra 495 kết quả dương tính, nhiều gấp năm lần 99 kết quả dương tính thật. Đây là ví dụ để học, không phải số liệu của một xét nghiệm có thật.
Tiên nghiệm lấy ở đâu khi đề bài không cho?
Trong bài tập, đề thường cho sẵn. Ngoài đời, tiên nghiệm lấy từ dữ liệu quá khứ, tỉ lệ trong quần thể tương tự, hoặc ý kiến chuyên gia. Khi không chắc, bạn nên thử vài giá trị khác nhau và xem kết luận có đổi không, gọi là phân tích độ nhạy.
Có nên học thuộc công thức Bayes không?
Nên nhớ công thức, nhưng quan trọng hơn là thói quen lập bảng đếm trên một số người cụ thể như 10.000. Bảng giúp bạn thấy ngay mẫu số gồm những phần nào và gần như loại bỏ lỗi đảo chiều điều kiện.
Chatbot có giải đúng bài Bayes không?
Thường đúng với bài chuẩn trong sách, nhưng vẫn có lúc nhầm chiều điều kiện hoặc cộng sai. Bạn nên tự giải trước, rồi yêu cầu chatbot kiểm bằng hai cách khác nhau, công thức và bảng đếm, và chỉ tin khi hai cách khớp nhau.
Thống kê Bayes khác thống kê tần suất thế nào?
Thống kê tần suất coi tham số là một hằng số chưa biết và đánh giá phương pháp qua việc lặp lại nhiều lần. Thống kê Bayes coi tham số có phân phối xác suất thể hiện niềm tin và cập nhật nó bằng dữ liệu. Hai trường phái thường cho kết luận gần nhau khi dữ liệu nhiều.