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
MetricCông thứcGiá trị
Accuracy(TP+TN)/n
PrecisionTP/(TP+FP)
Recall (TPR)TP/(TP+FN)
FPRFP/(FP+TN)
F12·P·R/(P+R)
AUCdiện tích ROC