Lesson 03 — Logistic Regression
Từ regression sang classification: sigmoid, BCE loss, decision boundary, softmax và ROC.
1. Sigmoid + Decision Boundary — Logistic regression 2D
Mỗi điểm là một mẫu với 2 feature (x₁, x₂) và label nhị phân (xanh = 1, đỏ = 0). Kéo điểm để di chuyển. Click vào điểm để đảo nhãn. Nút "Fit" chạy logistic regression bằng gradient descent rồi vẽ decision boundary và bản đồ xác suất p = σ(wᵀx + b).
η: 0.5
epochs: 300
y = 1 (dương)
y = 0 (âm)
p từ thấp → cao
Bên phải:
p của từng mẫu theo z = wᵀx + b. Khi training hội tụ, điểm dương dạt sang phải (p≈1), điểm âm dạt sang trái (p≈0).
Chưa fit. Nhấn "Fit logistic regression" để chạy gradient descent.
2. Cross-entropy vs MSE — vì sao BCE thắng cho classification
Cho 1 sample với y = 1. Khi model dự đoán xác suất p, loss và gradient theo z (logit) khác nhau giữa BCE và MSE. Trượt thanh để xem.
BCE = -log p (khi y=1)
MSE = (p - y)²
|∂BCE/∂z| = |p - y|
|∂MSE/∂z| = 2|p-y|·p(1-p)
Chú ý: khi
p → 0 với y = 1, BCE tới ∞ nhưng MSE chỉ tới 1. Quan trọng hơn: gradient của MSE qua sigmoid có factor p(1-p) — biến mất khi p gần biên. BCE thì không.3. Softmax — biến `K` logit thành phân phối xác suất
Trượt 3 thanh logit. Softmax tính p_k = e^{z_k} / Σ e^{z_j}. Quan sát: tăng 1 logit không chỉ tăng p_k đó mà còn giảm các p_j khác (vì tổng phải = 1).
4. ROC curve & AUC — quét threshold để đo chất lượng
100 mẫu preset với điểm số model (1 thật, 0 thật phân phối khác nhau). Trượt threshold τ — xem confusion matrix, TPR, FPR và điểm hiện tại trên ROC curve.
Điểm cam là
(FPR, TPR) tại τ hiện tại. AUC = diện tích dưới đường cong.Pred 1
Pred 0
Real 1
0TP
0FN
Real 0
0FP
0TN
| Metric | Công thức | Giá trị |
|---|---|---|
| Accuracy | (TP+TN)/n | — |
| Precision | TP/(TP+FP) | — |
| Recall (TPR) | TP/(TP+FN) | — |
| FPR | FP/(FP+TN) | — |
| F1 | 2·P·R/(P+R) | — |
| AUC | diện tích ROC | — |