🎯 Mục tiêu bài học
Sau bài học này, bạn sẽ:
✅ Hiểu các khái niệm cơ bản về xác suất
✅ Nắm vững các quy tắc tính xác suất
✅ Hiểu và tính xác suất có điều kiện
✅ Nắm vững Bayes' Theorem và ứng dụng thực tế
Thời gian: 2 giờ | Độ khó: Intermediate | Yêu cầu: Bài 04
📖 Bảng Thuật Ngữ Quan Trọng
| Thuật ngữ | Tiếng Việt | Mô tả |
|---|---|---|
| Experiment | Thí nghiệm | Hành động có kết quả không chắc chắn |
| Sample Space | Không gian mẫu | Tập hợp tất cả outcomes |
| Event | Biến cố | Tập con của sample space |
| Mutually Exclusive | Xung khắc | Hai biến cố không đồng thời xảy ra |
| Independent | Độc lập | Biến cố này không ảnh hưởng biến cố kia |
| Conditional Probability | Xác suất có điều kiện | P(A|B) = P(A∩B)/P(B) |
| Prior | Xác suất tiên nghiệm | P(B) trước khi có evidence |
| Posterior | Xác suất hậu nghiệm | P(B|A) sau khi có evidence |
| Permutation | Hoán vị | Sắp xếp có thứ tự |
| Combination | Tổ hợp | Chọn không thứ tự |
Checkpoint
Bayes = Prior + Evidence → Posterior. Ghi nhớ!
📚 Các khái niệm cơ bản
1.1 Thuật ngữ
| Thuật ngữ | Định nghĩa | Ví dụ |
|---|---|---|
| Experiment | Thí nghiệm có kết quả không chắc chắn | Tung xúc xắc |
| Outcome | Một kết quả có thể xảy ra | Mặt 3 |
| Sample Space (S) | Tập hợp tất cả outcomes | 6 |
| Event (A) | Tập con của sample space | Số chẵn: 6 |
1.2 Ví dụ Sample Space
Ví dụ Sample Space
🎲 Định nghĩa Xác suất
2.1 Classical Probability
Điều kiện: Các outcomes có khả năng xảy ra như nhau (equally likely).
2.2 Ví dụ
Tung 1 xúc xắc cân đối:
- P(số 3) =
- P(số chẵn) =
- P(số > 4) =
Rút 1 lá từ bộ 52 lá:
- P(Át) =
- P(Cơ) =
- P(Át Cơ) =
2.3 Tính chất cơ bản
| Tính chất | Công thức |
|---|---|
| Xác suất nằm trong [0, 1] | |
| Xác suất chắc chắn | |
| Xác suất không thể | |
| Xác suất bù |
➕ Quy tắc cộng (Addition Rule)
3.1 Biến cố xung khắc (Mutually Exclusive)
Ví dụ: Tung xúc xắc — A = 2, B = 6
- P(A ∪ B) =
3.2 Biến cố không xung khắc
Ví dụ: Rút 1 lá bài — A = Cơ (13 lá), B = Hình (12 lá), A ∩ B = Hình Cơ (3 lá)
3.3 Code Python
1# Tung xúc xắc2S = {1, 2, 3, 4, 5, 6}3A = {1, 2} # số ≤ 24B = {5, 6} # số ≥ 55C = {2, 4, 6} # số chẵn67# Mutually exclusive8P_A_or_B = len(A) / len(S) + len(B) / len(S)9print(f"P(A ∪ B) mutually exclusive: {P_A_or_B:.4f}")1011# Not mutually exclusive12A_and_C = A & C13P_A_or_C = len(A)/len(S) + len(C)/len(S) - len(A_and_C)/len(S)14print(f"P(A ∪ C) not mutually exclusive: {P_A_or_C:.4f}")✖️ Quy tắc nhân & Complement
4.1 Biến cố độc lập
Ví dụ: Tung đồng xu 2 lần — P(HH) =
4.2 Biến cố phụ thuộc
Ví dụ: Rút 2 lá bài KHÔNG hoàn lại — P(2 Át) =
4.3 Xác suất bù (Complement)
Bài toán "ít nhất một":
Ví dụ: P(ít nhất 1 Head trong 3 lần tung) =
1# P(ít nhất 1 Head trong n lần tung)2def prob_at_least_one_head(n):3 P_no_head = (1/2) ** n4 return 1 - P_no_head56for n in [1, 2, 3, 5, 10]:7 print(f"n={n}: P(≥1 Head) = {prob_at_least_one_head(n):.4f}")🔢 Counting Techniques
5.1 Permutation (Hoán vị) — có thứ tự
5.2 Combination (Tổ hợp) — không thứ tự
1from math import factorial, comb, perm23n, r = 5, 34print(f"P({n},{r}) = {perm(n, r)}") # 605print(f"C({n},{r}) = {comb(n, r)}") # 1067# Xổ số: chọn 6 từ 458lottery = comb(45, 6)9print(f"Xác suất trúng xổ số: 1/{lottery:,}")🔮 Xác suất có điều kiện
6.1 Định nghĩa
P(A|B) = Xác suất xảy ra A, biết rằng B đã xảy ra.
6.2 Ví dụ
Tung xúc xắc: B = "Số chẵn" = 6, A = "Số > 3" = 6
Khi biết B xảy ra, sample space thu hẹp thành B.
6.3 Chain Rule
Ví dụ: Rút 3 lá Át liên tiếp (không hoàn lại):
6.4 Kiểm tra tính độc lập
A và B độc lập khi: , tương đương
1def check_independence(P_A, P_B, P_A_and_B):2 expected = P_A * P_B3 is_independent = abs(P_A_and_B - expected) < 0.00014 print(f"P(A)×P(B) = {expected:.4f}, P(A∩B) = {P_A_and_B:.4f}")5 print(f"Independent: {is_independent}")67check_independence(0.5, 0.3, 0.15) # Độc lập8check_independence(0.5, 0.3, 0.20) # Không độc lập∑ Law of Total Probability
7.1 Công thức
Nếu là phân hoạch của S:
7.2 Ví dụ: Nhà máy sản xuất
- Máy 1: 60% sản phẩm, tỷ lệ lỗi 3%
- Máy 2: 40% sản phẩm, tỷ lệ lỗi 5%
1P_D = 0.03 * 0.60 + 0.05 * 0.402print(f"P(Defective) = {P_D:.4f}") # 0.038🎯 Bayes' Theorem
8.1 Công thức
Dạng đầy đủ:
8.2 Thuật ngữ
| Tên | Ký hiệu | Ý nghĩa |
|---|---|---|
| Prior | P(B) | Xác suất ban đầu |
| Likelihood | P(A|B) | Xác suất quan sát A khi B đúng |
| Evidence | P(A) | Xác suất quan sát A |
| Posterior | P(B|A) | Xác suất B sau khi quan sát A |
Bayes' Theorem - Cập nhật xác suất
8.3 Ví dụ: Chẩn đoán bệnh
- P(Bệnh) = 0.01, P(+|Bệnh) = 0.99, P(+|Không bệnh) = 0.05
Dù test có độ chính xác 99%, xác suất thực sự mắc bệnh khi dương tính chỉ ~17%! Đây là do base rate thấp.
8.4 Code Python
1def bayes_theorem(P_B, P_A_given_B, P_A_given_not_B):2 P_not_B = 1 - P_B3 P_A = P_A_given_B * P_B + P_A_given_not_B * P_not_B4 P_B_given_A = (P_A_given_B * P_B) / P_A5 return P_B_given_A, P_A67# Chẩn đoán bệnh8P_disease_given_positive, P_positive = bayes_theorem(0.01, 0.99, 0.05)9print(f"P(Dương tính) = {P_positive:.4f}")10print(f"P(Bệnh | Dương tính) = {P_disease_given_positive:.4f}")Checkpoint
P(Bệnh|Dương tính) chỉ ~17% dù test 99% chính xác. Tại sao? Vì base rate thấp!
💻 Ứng dụng thực tế
9.1 Spam Filter (Naive Bayes)
1def spam_filter(word, P_spam=0.3, P_word_given_spam=0.8, P_word_given_ham=0.1):2 P_ham = 1 - P_spam3 P_word = P_word_given_spam * P_spam + P_word_given_ham * P_ham4 return (P_word_given_spam * P_spam) / P_word56P_spam = spam_filter("FREE")7print(f"P(Spam | 'FREE') = {P_spam:.4f}") # ~0.779.2 Bài toán sinh nhật
1def birthday_problem(n):2 P_no_match = 13 for i in range(n):4 P_no_match *= (365 - i) / 3655 return 1 - P_no_match67for n in [10, 23, 30, 50, 70]:8 print(f"n={n}: P = {birthday_problem(n):.4f}")9# n=23: P ≈ 50%, n=50: P ≈ 97%🧩 Bài tập thực hành
Bài tập 1: Xúc xắc
Tung 2 xúc xắc: P(tổng = 7)? P(tổng ≥ 10)? P(cả hai giống nhau)?
Bài tập 2: Conditional Probability
Trong lớp 100 sinh viên: 60 nam, 40 nữ. 15 nam và 10 nữ đạt loại giỏi.
- P(Giỏi | Nam)?
- P(Nam | Giỏi)?
- Nam và Giỏi có độc lập không?
Bài tập 3: Bayes
Công ty có 3 nhà máy: A (50%, 2% lỗi), B (30%, 3% lỗi), C (20%, 4% lỗi).
- P(Lỗi)?
- P(từ nhà máy A | Lỗi)?
📝 Tổng Kết
| Quy tắc | Công thức |
|---|---|
| Addition (ME) | |
| Addition (General) | |
| Multiplication (Ind) | |
| Conditional | |
| Total Probability | |
| Bayes | |
| Complement |
Câu hỏi tự kiểm tra
- Sự khác nhau giữa xác suất có điều kiện P(A|B) và xác suất đồng thời P(A∩B) là gì?
- Định lý Bayes giúp giải quyết loại bài toán nào trong thực tế?
- Tại sao Base Rate (prior probability) quan trọng và không nên bỏ qua?
- Khi nào nên dùng quy tắc Complement P(A') = 1 - P(A) thay vì tính trực tiếp?
- Xác suất luôn từ 0 đến 1
- Complement hữu ích cho bài toán "ít nhất một"
- Conditional probability thu hẹp sample space
- Bayes' Theorem cập nhật belief dựa trên evidence
- Base rate (prior) rất quan trọng — đừng bỏ qua!
🎉 Tuyệt vời! Bạn đã hoàn thành bài học Xác suất & Định lý Bayes!
Tiếp theo: Chúng ta sẽ tìm hiểu các phân phối rời rạc (Binomial, Poisson) — công cụ mạnh mẽ để mô hình hóa dữ liệu đếm.
