Trang ôn thi Machine Learning tương tác — tổng hợp từ buổi review của thầy. Mỗi bài có lý thuyết tóm tắt + công cụ tính toán chạy trực tiếp trên trình duyệt.
Nội dung thi: Bài 5 → Bài 10 (từ sau Tết). Bài 1–4 (giới thiệu, Neural Network, Ensemble) không thi.
Bài 5 — Support Vector Machine (SVM)
1. Siêu phẳng (hyperplane) là gì?
2. Support vector là gì?
3. Tiêu chí để chọn siêu phẳng tối ưu là gì?
+ Ý nghĩa hàm Lagrange + Tại sao cần soft margin (slack variable)?
Siêu phẳng (Hyperplane): Đường biên quyết định phân tách 2 lớp. Phương trình: w·x + b = 0
- 2D → đường thẳng, 3D → mặt phẳng, nD → không gian (n−1) chiều
Support Vector: Những điểm dữ liệu nằm đúng trên margin boundary (w·x + b = ±1). Xóa bất kỳ điểm nào không phải SV → siêu phẳng không đổi.
Tiêu chí tối ưu: Tối đa hóa margin = 2/||w|| ↔ Minimize ||w||²/2
Hàm Lagrange — gom mục tiêu tối ưu + điều kiện vào chung 1 hàm số, giải đạo hàm = 0 để tìm nghiệm:
Giải ∂L/∂w = 0 → w = Σ αᵢ·yᵢ·xᵢ Giải ∂L/∂b = 0 → Σ αᵢ·yᵢ = 0 → Chuyển sang Dual Problem (chỉ còn biến α) → Giải bằng Quadratic Programming (SMO) → Điểm có αᵢ > 0 chính là Support Vector
Soft Margin (Slack Variable ξᵢ) — Tại sao cần?
C lớn → phạt nặng → margin nhỏ, ít lỗi C nhỏ → chấp nhận lỗi → margin rộng hơn ξᵢ = 0: đúng chỗ | 0 < ξᵢ ≤ 1: trong margin | ξᵢ > 1: phân loại sai
SVM Margin Calculator
Cho 2 lớp dữ liệu 2D, tính margin và kiểm tra support vector.
Bài 6 — Reinforcement Learning (Học tăng cường)
1. RL dựa trên phương trình gì? → Bellman
2. Trong 5 yếu tố (Agent, Environment, State, Action, Reward) — cái nào lưu trữ kiến thức? → Reward
3. Quá trình học dựa trên nguyên lý gì? → Thử và sai (Trial & Error)
4. RL có cần dữ liệu học không? → Không
5. Policy là gì? → Ánh xạ State → Action
5 thành phần: Agent (ra quyết định), Environment (môi trường), State s (trạng thái), Action a (hành động), Reward r (điểm thưởng — lưu trữ kiến thức)
Phương trình Bellman:
“Giá trị state hiện tại = reward ngay + γ × giá trị state tiếp theo” γ (gamma) = discount factor (0→1): γ gần 1 → quan tâm tương lai
Cơ chế lan truyền Reward (thầy nhấn mạnh):
- Khi đạt Goal → Reward nhảy lên rất lớn
- Reward đó lan truyền ngược (estimation) cho các trạng thái lân cận
- Trạng thái lân cận cũng được cập nhật reward lớn theo
- Lặp đi lặp lại → bản đồ reward phủ hết map → tại bất kỳ vị trí nào đều biết hướng đi tốt nhất
Policy (π): Tập hợp các cặp (trạng thái → hành động tương ứng)
Q-Learning:
Cập nhật: Q(s,a) ← Q(s,a) + α·[r + γ·max Q(s’,a’) − Q(s,a)] ↑ TD Error
α = learning rate | ε-greedy: ε% khám phá, (1−ε)% khai thác
Q-Learning Step-by-Step Calculator
Mô phỏng Q-Learning trên grid world. Tính từng bước cập nhật Q-table.
Bài 7 — Markov & Hidden Markov Model
1. Phân biệt Markov vs HMM → HMM thêm ma trận B (emission), state bị ẩn
2. Cho dữ liệu → tính xác suất Markov (công thức 4 trong slide)
3. Mỗi chuỗi observation → sinh 1 mô hình HMM (khác Neural Network: N chuỗi → 1 mô hình)
4. HMM có tính Forward/Backward — KHÁC với Neural Network backpropagation!
Markov Model
- State quan sát trực tiếp được- Tham số: A, π
- A = ma trận chuyển trạng thái
- π = phân phối ban đầu
- S với observation là 1-1
Hidden Markov Model
- State bị ẩn — chỉ thấy observation- Tham số: A, B, π
- B = ma trận emission P(o|s)
- Tính xác suất từ S qua observation
- 1 chuỗi obs → 1 bộ (A,B,π) riêng
Markov Property: Trạng thái hiện tại chỉ phụ thuộc trạng thái ngay trước đó.
Ví dụ: Hôm nay Nắng → Mai: 70% Nắng, 30% Mưa Hôm nay Mưa → Mai: 40% Nắng, 60% Mưa
3 bài toán HMM:
| Bài toán | Câu hỏi | Thuật toán |
|---|---|---|
| Evaluation | P(O|HMM) = ? | Forward Algorithm |
| Decoding | Chuỗi state nào tốt nhất? | Viterbi |
| Learning | Tìm A, B, π tốt nhất | Baum-Welch (Forward-Backward) |
Markov Chain Calculator
Tính xác suất chuỗi trạng thái trong Markov Model.
HMM Forward Algorithm Calculator
Tính P(O|HMM) — xác suất sinh ra chuỗi observation.
Bài 8 — Bayesian Learning
1. Phân biệt MLE (Maximum Likelihood Estimation) vs MAP (Maximum A Posteriori) — 2 bài toán KHÁC NHAU
2. MLE: chi phí tính toán LỚN hơn nhiều so với MAP (phải khảo sát toàn bộ không gian dữ liệu)
3. Biết tính Naive Bayes — bỏ số vào công thức, đổ số tính thôi
MLE — Maximum Likelihood
- Tìm θ tối đa P(D|θ)- "Dữ liệu nào sinh ra bởi tham số nào với xác suất cao nhất?"
- Khảo sát toàn bộ không gian dữ liệu có thể có
- Chi phí tính toán RẤT LỚN
MAP — Maximum A Posteriori
- Tìm θ tối đa P(θ|D) ∝ P(D|θ)·P(θ)- Giả sử dữ liệu có tính chất này → áp vào giải
- Giống như "chiếu xuống" không gian nhỏ hơn
- Chi phí tính toán nhỏ hơn nhiều
Bayes’ Theorem: P(θ|D) = P(D|θ) · P(θ) / P(D)
Naive Bayes: Giả sử các feature độc lập với nhau.
Bước 1: Tính P(C) cho mỗi class (đếm / tổng) Bước 2: Tính P(xᵢ|C) cho mỗi feature trong mỗi class Bước 3: Nhân tất cả lại, so sánh → class nào lớn hơn thì chọn
Naive Bayes Calculator
Tính xác suất phân loại theo Naive Bayes. Nhập bảng đếm tần suất.
Bài 9 — Clustering (Phân cụm)
1. Tại sao phải tính nhiều độ đo khoảng cách? → Bản chất dữ liệu có nhiều yếu tố không khảo sát hết, phải thử và sai
2. Nguyên lý phân cụm: trong cùng nhóm → gần nhau nhất, giữa các nhóm → xa nhau nhất
3. K-Means: mỗi lần khởi tạo khác nhau → centroid khác nhau (không ổn định)
4. Hierarchical Clustering: không bị lỗi khởi tạo như K-Means → ổn định hơn
Nguyên lý phân cụm:
Tại sao cần nhiều độ đo? Bản chất dữ liệu có nhiều yếu tố không khảo sát hết được → phải thử và sai nhiều loại khoảng cách để tìm cái phù hợp nhất.
K-Means:
- Chọn ngẫu nhiên K centroids
- Gán mỗi điểm vào centroid gần nhất
- Tính lại centroid = trung bình các điểm trong cụm
- Lặp lại bước 2-3 đến khi hội tụ
Hierarchical Clustering:
- Agglomerative (bottom-up): Bắt đầu mỗi điểm là 1 cụm, merge dần
- Divisive (top-down): Bắt đầu 1 cụm lớn, chia dần
K-Means Calculator
Chạy K-Means step-by-step trên dữ liệu 2D.
Distance Calculator
So sánh các độ đo khoảng cách giữa 2 vector.
Bài 10 — Tensor & SVD
1. Ưu điểm của Tensor: là mảng nhiều chiều, nhiều bậc
2. Phân rã tensor → giảm số biến, NHƯNG tăng tính toán
3. Tuy nhiên tính toán song song được → đáp ứng thời gian thực
4. Hỏi liên quan tới SVD (Singular Value Decomposition)
Tensor: Mảng nhiều chiều, nhiều bậc (scalar → vector → matrix → tensor bậc 3, 4…)
Phân rã Tensor:
Ưu điểm
- Giảm số biến (dimensionality reduction)- Tính toán song song được
- Đáp ứng thời gian thực
Nhược điểm
- Tăng tính toán (chi phí phân rã)- Cần thuật toán phân rã phù hợp
SVD (Singular Value Decomposition):
A: ma trận gốc (m×n) U: ma trận trực giao trái (m×m) Σ: ma trận đường chéo chứa singular values (m×n) V: ma trận trực giao phải (n×n)
Giảm chiều: giữ lại k singular values lớn nhất A ≈ Uₖ · Σₖ · Vₖᵀ
SVD Calculator (Ma trận 2×2)
Tính SVD cho ma trận 2×2.