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ượngGiá 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λᵢRatioCumulative
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ế.