Xác suất có điều kiện và Bayes
Ở bài trước, ta mới xét các xác suất như:
Nhưng AI thường nhận thêm evidence - bằng chứng quan sát được. Khi có thông tin mới, xác suất cần thay đổi theo.
Ví dụ:
Không biết gì thêm:
P(xe buýt trễ) = 0.20
Biết đang mưa lớn:
P(xe buýt trễ | mưa lớn) = 0.45
Đây là conditional probability - xác suất có điều kiện.
Các số trong ví dụ là số giả định để minh họa cách tính.
Mục tiêu
Sau bài này, bạn cần:
- hiểu nghĩa là gì;
- tính conditional probability bằng cách thu hẹp không gian xét;
- hiểu product rule;
- hiểu joint probability và joint distribution;
- dùng Bayes’ Rule để đảo chiều điều kiện;
- hiểu prior, likelihood, posterior;
- dùng được marginalization, normalization, inclusion-exclusion và law of total probability ở mức cơ bản.
Conditional Probability - Xác suất có điều kiện
Ký hiệu:
đọc là:
Xác suất của khi đã biết xảy ra.
Ý tưởng quan trọng nhất là thu hẹp không gian đang xét.
Công thức:
với .
Ví dụ gần sinh viên: đi xe buýt đến trường
Giả sử ta ghi lại 100 buổi đi học:
- 40 buổi trời mưa;
- trong 40 buổi mưa có 24 buổi xe buýt đến trễ.
Gọi:
R: trời mưa
L: xe buýt trễ
Ta có:
và:
Do đó:
Nghĩa là:
Trong nhóm các buổi đã biết là có mưa, 60% buổi xe buýt bị trễ.
Lỗi dễ mắc là lấy . Khi đã có điều kiện R, mẫu số phải thu hẹp về các trường hợp R đúng.
Product Rule - Quy tắc nhân
Từ:
suy ra:
Tương tự:
Hai biểu thức này dẫn trực tiếp tới Bayes’ Rule.
Joint Probability - Xác suất đồng thời
Joint probability là xác suất nhiều sự kiện xảy ra cùng lúc.
Ví dụ:
là xác suất vừa mưa vừa xe buýt trễ.
Một joint distribution cho hai biến có thể biểu diễn bằng bảng.
Giả sử:
BusLate=True | BusLate=False | |
|---|---|---|
Rain=True | 0.24 | 0.16 |
Rain=False | 0.06 | 0.54 |
Tổng bốn ô bằng 1:
Từ bảng này:
và:
Marginalization - Cộng bỏ một biến
Nếu ta có joint distribution của và , muốn lấy xác suất riêng của , ta cộng qua mọi giá trị của .
Dạng tổng quát:
Trong bảng trên:
Có thể hiểu marginalization là:
Ta không còn quan tâm biến còn lại nhận giá trị gì, nên cộng tất cả khả năng của nó lại.
Từ joint distribution về conditional probability
Ta có thể tính:
bằng:
Joint distribution vì vậy chứa rất nhiều thông tin, nhưng khi số biến tăng thì bảng joint đầy đủ sẽ phình rất nhanh. Bayesian Network ở bài sau sẽ giải quyết vấn đề này bằng cách biểu diễn dependency có cấu trúc.
Bayes’ Rule - Đảo chiều câu hỏi
Từ product rule:
và:
suy ra:
Bayes hữu ích khi ta biết xác suất của evidence nếu nguyên nhân đúng, nhưng muốn suy ngược xác suất của nguyên nhân khi đã thấy evidence.
Ví dụ IT: cảnh báo server quá tải
Giả sử:
Khi server thực sự quá tải, hệ thống cảnh báo đúng 90%:
Khi server không quá tải, cảnh báo vẫn bật nhầm 10%:
Ta thấy Alert=True. Câu hỏi là:
Bước 1: tính xác suất có cảnh báo
Cảnh báo có thể xuất hiện theo hai đường:
Overload -> Alert
Not Overload -> Alert
Nên:
Bước 2: dùng Bayes
Tức khoảng 32.1%.
Điều này cho thấy một điểm rất quan trọng:
P(Alert | Overload) = 90%không có nghĩaP(Overload | Alert) = 90%.
Hai conditional probabilities này là hai câu hỏi khác nhau.
Base Rate - Tần suất nền
Trong ví dụ trên, overload vốn hiếm:
Trong khi thời gian server bình thường chiếm 95%. Dù false alarm chỉ 10%, 10% của một nhóm rất lớn vẫn tạo ra nhiều cảnh báo giả.
Đây là lý do phải chú ý base rate.
Một cách nhìn bằng 10,000 thời điểm giả định:
| Trạng thái | Số lần | Alert=True |
|---|---|---|
| Overload | 500 | 450 |
| Không overload | 9,500 | 950 |
Tổng alert:
Trong đó alert thật do overload:
Cách đếm này thường dễ hiểu hơn việc nhớ công thức.
Prior, Likelihood, Posterior
Trong Bayes, ba từ xuất hiện rất nhiều:
Prior
Niềm tin trước khi thấy evidence:
Ví dụ:
Likelihood
Khả năng thấy evidence nếu hypothesis đúng:
Ví dụ:
Posterior
Niềm tin sau khi đã thấy evidence:
Ví dụ:
Có thể nhớ mạch:
Hình minh họa công khai: Bayes bằng diện tích
Hình: minh họa hình học của Bayes’ theorem. Nguồn: Wikimedia Commons, tác giả Cmglee, giấy phép CC BY-SA 3.0.
Điểm đáng chú ý trong hình không phải các ký hiệu cụ thể, mà là ý tưởng: khi điều kiện thay đổi, phần không gian ta đang xét cũng thay đổi. Bayes liên hệ hai cách “cắt” cùng một joint space.
Normalization - Chuẩn hóa
Đôi khi ta tính được các giá trị chỉ đúng theo tỉ lệ, chưa cộng thành 1.
Ví dụ:
Tổng hiện tại là:
Chia từng phần cho 0.10:
Đó là normalization.
Trong AI, ký hiệu thường dùng cho hằng số chuẩn hóa:
Inclusion-Exclusion - Xác suất của OR
Nếu muốn tính xác suất hoặc xảy ra:
Phải trừ phần giao vì khi cộng , các trường hợp cả và đúng đã bị đếm hai lần.
Ví dụ:
A: sinh viên dùng Python cho project
B: sinh viên dùng JavaScript cho project
Nếu có sinh viên dùng cả hai, không thể cộng hai tỉ lệ rồi coi đó là số người dùng ít nhất một ngôn ngữ.
Law of Total Probability
Nếu và chia toàn bộ trường hợp thành hai nhóm, thì:
Đây chính là cách ta tính trong ví dụ server.
Tư duy chung:
Chia bài toán thành các trường hợp không chồng nhau, tính từng nhánh, rồi cộng lại.
Những lỗi cần tránh
Nhầm chiều điều kiện
trong hầu hết trường hợp.
Bỏ qua base rate
Một detector rất chính xác vẫn có thể tạo posterior thấp nếu sự kiện cần phát hiện vốn rất hiếm.
Quên normalize
Một vector như:
chưa phải distribution hoàn chỉnh vì tổng chưa bằng 1.
Nhân joint probability khi chưa có independence
Không được mặc định:
nếu chưa biết và độc lập.
Tự kiểm tra
Câu 1
Trong 200 lần truy cập LMS, có 50 lần mạng chậm. Trong 50 lần mạng chậm có 20 lần upload thất bại. Tính:
Đáp án
Câu 2
Nếu:
và:
có thể kết luận ngay không?
Đáp án
Không. Cần thêm thông tin để dùng Bayes, tối thiểu là xác suất xuất hiện Link hoặc các thành phần để tính nó.
Tóm tắt
- nghĩa là xác suất của sau khi đã biết .
- Conditional probability thu hẹp không gian xét vào các trường hợp đúng.
- Joint probability mô tả nhiều biến cùng lúc.
- Bayes cho phép chuyển từ sang khi có đủ prior và evidence probability.
- Prior là niềm tin trước evidence, posterior là niềm tin sau evidence.
- Marginalization dùng phép cộng để bỏ bớt biến không quan tâm.
- Normalization biến các trọng số theo tỉ lệ thành một probability distribution.