Xác suất có điều kiện và cây quyết định
Tiết trước bạn đã có không gian mẫu, biến cố và ba quy tắc cơ bản (cộng, nhân, phần bù). Tiết này đổi hẳn câu hỏi: nếu đã biết thêm một mẩu thông tin thì xác suất thay đổi ra sao? Đây là bước đệm bắt buộc trước khi đảo chiều suy luận bằng định lý Bayes.
Sau bài này, bạn sẽ:
- Viết và giải thích được công thức $P(A|B)$, đặc biệt là chỗ mẫu số bị đổi.
- Đọc bảng dữ liệu hai chiều để lấy một xác suất có điều kiện đúng.
- Dựng cây xác suất cho quy trình hai bước và tính xác suất từng nhánh.
- Phân biệt rõ $P(A|B)$, $P(B|A)$ và $P(A \cap B)$.
- Đặt câu hỏi "con số này có ý nghĩa hay chỉ là nhiễu" trước khi tin một conditional probability.
Điều kiện làm đổi mẫu số
Xác suất có điều kiện trả lời câu hỏi: nếu biết chắc $B$ đã xảy ra, xác suất của $A$ là bao nhiêu?
$$ P(A|B) = \frac{P(A \cap B)}{P(B)}, \quad P(B) > 0 $$
Cách đọc quan trọng nhất: ta không còn sống trong toàn bộ không gian mẫu nữa, ta sống trong phần $B$. Mẫu số đổi từ 1 (toàn bộ) thành $P(B)$. Đây là nguồn gốc của gần như mọi sai lầm về sau.
Ví dụ nhanh với dữ liệu email: 20% email là spam. Nhưng nếu email có chữ "free", con số đó không còn là 20% nữa. Nó là bao nhiêu, xem bảng dưới.
Đọc xác suất có điều kiện từ bảng dữ liệu thật
Bảng 1.000 email đã gán nhãn:
| Spam | Không spam | Tổng | |
|---|---|---|---|
| Có chữ "free" | 90 | 60 | 150 |
| Không có "free" | 110 | 740 | 850 |
| Tổng | 200 | 800 | 1.000 |
Ba con số trông rất giống nhau nhưng là ba chuyện khác nhau:
- $P(\text{spam}) = 200/1000 = 0{,}20$
- $P(\text{spam} \mid \text{"free"}) = 90/150 = 0{,}60$ (chia cho hàng "free")
- $P(\text{"free"} \mid \text{spam}) = 90/200 = 0{,}45$ (chia cho cột spam)
- $P(\text{spam} \cap \text{"free"}) = 90/1000 = 0{,}09$ (chia cho toàn bộ)
Cùng tử số 90, khác mẫu số, khác ý nghĩa hoàn toàn. Khi đọc một bảng như thế này, hãy tự hỏi: "mình đang chia cho ai?". Nếu không trả lời được, con số gần như chắc chắn sai.
Sign in to view the full content of this lesson. Sign in
Lưu ý hoài nghi: ô 90/150 nghe rất chắc, nhưng nếu ô đó chỉ có 12 email thì tỉ lệ 0,60 có thể dao động rất mạnh giữa các mẫu. Một conditional probability đẹp không tự động là một conditional probability đáng tin.
Cây xác suất cho quy trình hai bước
Khi quy trình có nhiều bước nối tiếp, cây xác suất gọn hơn bảng. Ba quy tắc duy nhất:
- Mỗi nút tách thành các nhánh phủ hết khả năng, tổng xác suất các nhánh con bằng 1.
- Xác suất một nhánh = tích các xác suất dọc theo nhánh đó.
- Xác suất của một biến cố ở cuối = tổng xác suất các nhánh dẫn tới nó.
Ví dụ: một cửa hàng online, khách truy cập đi qua hai bước.
flowchart LR
Start["🧑<br/>Khách truy cập"] --> A1["🛒<br/>Thêm giỏ 0.30"]
Start --> A2["🚪<br/>Không thêm 0.70"]
A1 --> B1["💳<br/>Thanh toán 0.40"]
A1 --> B2["✋<br/>Bỏ đi 0.60"]
A2 --> B3["💳<br/>Mua thẳng 0.03"]
A2 --> B4["✋<br/>Rời đi 0.97"]
Tính từng nhánh:
- Có giỏ rồi thanh toán: $0{,}30 \times 0{,}40 = 0{,}12$
- Có giỏ rồi bỏ đi: $0{,}30 \times 0{,}60 = 0{,}18$
- Không có giỏ nhưng mua thẳng: $0{,}70 \times 0{,}03 = 0{,}021$
- Không có giỏ và rời đi: $0{,}70 \times 0{,}97 = 0{,}679$
Kiểm tra: $0{,}12 + 0{,}18 + 0{,}021 + 0{,}679 = 1{,}000$. Nếu tổng không bằng 1 thì bạn đã bỏ sót nhánh hoặc nhân sai.
Xác suất một khách bất kỳ thanh toán (xác suất toàn phần):
$$ P(\text{thanh toán}) = 0{,}12 + 0{,}021 = 0{,}141 $$
Bây giờ câu hỏi ngược: trong số người đã thanh toán, bao nhiêu phần trăm đi qua giỏ hàng? Nhìn cây, tử số là nhánh 0,12, mẫu số là 0,141, ra khoảng 0,85. Việc đảo chiều nhánh như thế chính là chỗ định lý Bayes bắt đầu ở tiết sau, nên ở đây chỉ cần thấy nó đến từ đâu.
Tự kiểm tra trong ba phút
- Với bảng email trên, tính $P(\text{"free"} \mid \text{không spam})$.
- Trong cây cửa hàng, nếu 25% khách bỏ đi ngay ở bước một (không thêm giỏ, không mua thẳng), các nhánh còn lại phải đổi thế nào để cây vẫn hợp lệ?
Xem đáp án
- $60/800 = 0{,}075$. Chú ý mẫu số là cột "không spam" (800), không phải hàng "free" (150).
- Nhánh "thêm giỏ" giảm còn 0,30 như cũ, nhưng nhánh "không thêm" phải tách tiếp sao cho tổng các nhánh con của nó vẫn bằng 1. Kiểm tra lại tổng toàn cây sau khi sửa, phải đúng bằng 1.
Ba cái bẫy khi đọc xác suất có điều kiện
- Đảo tử số và mẫu số. $P(A|B)$ và $P(B|A)$ chỉ bằng nhau khi $P(A) = P(B)$. Trước khi phát biểu, hãy viết rõ "chia cho cái gì".
- Quên kiểm tra tổng bằng 1. Cây sai thường lộ ra ngay ở bước này, rẻ hơn nhiều so với việc phát hiện sau khi đã báo cáo kết quả.
- Tin vào ô dữ liệu nhỏ. Một conditional probability từ vài quan sát là một con số, chưa chắc là một sự thật. Ước lượng độ bất định của nó là nội dung của Module 3.
- Nhầm điều kiện với nhân quả. "Trong số người có chữ free, 60% là spam" không có nghĩa là chữ free gây ra spam. Nó chỉ là một mô tả thống kê.
Chốt lại và bước tiếp theo
Xác suất có điều kiện chỉ là một phép chia, nhưng mẫu số là thứ quyết định ý nghĩa. Bảng hai chiều cho bạn conditional probability bằng cách chia cho đúng hàng hoặc cột. Cây xác suất cho bạn làm điều đó theo từng bước: nhân dọc theo nhánh, cộng ngang qua các nhánh, và luôn kiểm tra tổng bằng 1.
Tiết sau, định lý Bayes sẽ lấy chính cái cây này và đảo ngược nó: bạn biết kết quả ở cuối nhánh, và cần suy ngược về nguyên nhân.
Công thức xác suất có điều kiện là P(A|B) = _____, với điều kiện _____. Trên cây xác suất, xác suất của một nhánh bằng _____. Xác suất toàn phần của một biến cố ở cuối cây bằng _____. Tại mỗi nút, tổng xác suất các nhánh con phải bằng _____. Nói chung P(A|B) và P(B|A) _____ vì mẫu số khác nhau.
Front: Công thức xác suất có điều kiện P(A|B)? Back: P(A ∩ B) / P(B), với P(B) > 0.
Front: Mẫu số của P(A|B) là gì? Back: P(B), tức xác suất của biến cố đã biết là đã xảy ra.
Front: Khi nào P(A|B) bằng P(A)? Back: Khi A và B độc lập.
Front: Quy tắc nhân suy ra từ xác suất có điều kiện? Back: P(A ∩ B) = P(A|B) · P(B) = P(B|A) · P(A).
Front: Xác suất của một nhánh trên cây tính thế nào? Back: Tích các xác suất dọc theo nhánh đó.
Front: Xác suất toàn phần của biến cố ở cuối cây? Back: Tổng xác suất của mọi nhánh dẫn tới nó.
Front: Cách kiểm tra nhanh một cây xác suất có hợp lệ? Back: Tổng các nhánh con tại mỗi nút phải bằng 1.
Front: Vì sao P(spam | 'free') khác P('free' | spam)? Back: Khác mẫu số: 150 email có 'free' so với 200 email spam.
Front: Đọc P(A|B) từ bảng hai chiều bằng cách nào? Back: Lấy ô A ∩ B chia cho tổng hàng hoặc cột tương ứng với B.
Front: Vì sao không nên tin ngay một conditional probability từ ô có ít quan sát? Back: Mẫu nhỏ làm tỉ lệ dao động mạnh, con số có thể chỉ là nhiễu.
Front: Hai bước độc lập thì xác suất đồng thời bằng gì? Back: Tích hai xác suất riêng: P(A ∩ B) = P(A) · P(B).
Front: P(A|B) cao có nghĩa là B gây ra A? Back: Không. Đó là mô tả thống kê, không phải quan hệ nhân quả.
Front: Trong ví dụ cửa hàng, P(thanh toán) bằng bao nhiêu? Back: 0,12 + 0,021 = 0,141.