Lesson 08 — PCA và SVD
Giảm chiều dữ liệu: tìm trục có phương sai lớn nhất (PCA), khai triển ma trận thành xoay-co-xoay (SVD), nén ảnh, và 4 bước animation từ cloud điểm 2D đến projection 1D.
1. PCA 2D — animation từng bước
Chọn cloud điểm → "Run PCA" để xem 5 bước: mean → center → covariance ellipse → PC1/PC2 → project lên PC1
Bước: 0 / 5
Chọn dataset và nhấn Run PCA.
| Đại lượng | Giá trị |
|---|---|
| μ (mean) | — |
| λ₁ (variance theo PC1) | — |
| λ₂ (variance theo PC2) | — |
| PC1 direction | — |
| PC2 direction | — |
| Explained variance ratio | — |
Điểm gốc
Mean
PC1
PC2
Projection (1D)
2. Scree plot — chọn k giữ bao nhiêu phương sai?
Dataset 8D mô phỏng (như Iris extended). Mỗi cột là một PC, cột càng cao = giữ càng nhiều variance. Slider k để chọn số PC giữ lại.
—
| PC | λᵢ | Ratio | Cumulative |
|---|
Variance bị giữ
Variance bị bỏ
Cumulative ratio
3. Image compression bằng truncated SVD
Ảnh grayscale 32×32. Giữ k singular values đầu → rank-k approximation. Trượt k để xem chất lượng vs dung lượng.
Ảnh gốc (rank đầy đủ)
Xấp xỉ rank-k
—
Singular values bị giữ (σ₁..σₖ)
Bị bỏ
4. SVD decomposition viewer — A = U·Σ·Vᵀ
Chọn ma trận 3×3 preset hoặc nhập tay. Xem U, Σ, Vᵀ dưới dạng heatmap, verify lại tích = A.
A
3 × 3
U
3 × 3 (orthogonal)
Σ
3 × 3 (diagonal)
Vᵀ
3 × 3 (orthogonal)
Singular values σ (đường chéo của Σ)
| i | σᵢ | σᵢ² |
|---|
—
Verify: U·Σ·Vᵀ ≟ A
—
📖 Lesson cuối của Tầng 4 — Linear Algebra. Sang tầng tiếp theo để dùng PCA/SVD trong ML thực tế.