Trường ĐH Công nghệ – Đại học Quốc gia Hà Nội
Học có giám sát
Học không giám sát
Không có nhãn đầu ra — mang tính khám phá:
Ví dụ: phân nhóm ung thư, hành vi mua sắm, gợi ý phim.
Lời nguyền chiều dữ liệu:
Mục tiêu: giảm chiều nhưng vẫn giữ cấu trúc chính.
Dữ liệu dân số và chi tiêu quảng cáo của 100 thành phố:
Dân số vs. quảng cáo — hướng PC1 và PC2
Thành phần chính thứ nhất (first principal component, first PC) là tổ hợp tuyến tính của các biến đã chuẩn hóa trung bình:
\[ Z_1 = \sum_{j=1}^{p} \phi_{j1}(X_j - \bar{X}_j) \]
Tìm hệ số tải \(\boldsymbol{\phi}_1 = (\phi_{11}, \ldots, \phi_{p1})\) sao cho phương sai hình chiếu lớn nhất:
Triển khai \(z_{i1} = \boldsymbol{\phi}_1^\top (\mathbf{x}_i - \bar{\mathbf{x}})\):
với ma trận hiệp phương sai mẫu \(\mathbf{S} = \frac{1}{n}\sum_i (\mathbf{x}_i - \bar{\mathbf{x}})(\mathbf{x}_i - \bar{\mathbf{x}})^\top\) (cỡ \(p \times p\), đối xứng, nửa xác định dương).
Bài toán nay chỉ phụ thuộc vào \(\mathbf{S}\) — toàn bộ thông tin về \(\boldsymbol{\phi}_1\) gói gọn trong \(\boldsymbol{\phi}_1^\top \mathbf{S}\, \boldsymbol{\phi}_1\).
Lagrangian (1 ràng buộc đẳng thức → 1 hệ số \(\lambda\)):
Điều kiện dừng \(\partial L / \partial \boldsymbol{\phi}_1 = 0\):
PCA = phép xoay hệ trục từ \((X_1, X_2, X_3)\) sang \((Z_1, Z_2, Z_3)\). Trái → phải: cùng dữ liệu, hai góc nhìn.
Tỷ lệ bắt giữ trên 100.000 dân tại các bang Mỹ (1973), 50 mẫu, 4 biến:
| Biến | PC1 | PC2 |
|---|---|---|
| Murder | 0.536 | −0.418 |
| Assault | 0.583 | −0.188 |
| UrbanPop | 0.278 | 0.873 |
| Rape | 0.543 | 0.167 |
Biplot — mỗi điểm là một tiểu bang
PC1 → tỷ lệ tội phạm
Cao: CA, NV, FL | Thấp: WV, Dakotas
PC2 → mức độ đô thị hóa
Cao: CA, NJ | Thấp: Carolinas, MS
Diễn giải này đọc trực tiếp từ biplot ở slide trước.
Tỷ lệ phương sai được giải thích (PVE):
\[ \text{PVE}_m = \frac{\text{Var}(Z_m)}{\sum_{j=1}^{p}\text{Var}(X_j)} \]
Biểu đồ PVE — tìm điểm khuỷu
PCA là phép chiếu tuyến tính — không thể "mở" cấu trúc phi tuyến (xoắn ốc, đa tạp cong).
PCA chiếu dữ liệu xoắn ốc 3D → 2D
Tìm \(z_1,\ldots,z_N \in \mathbb{R}^k\) sao cho khoảng cách chiều thấp xấp xỉ khoảng cách gốc.
Gọi \(d_{ii'}\) là khoảng cách gốc, \(\|z_i - z_{i'}\|\) là khoảng cách chiều thấp. Kruskal-Shepard cực tiểu hoá:
\[ \min_{z_1,\ldots,z_N} \sum_{i \neq i'} \left(d_{ii'} - \|z_i - z_{i'}\|\right)^2 \]
Mọi cặp điểm đều quan trọng như nhau, dù gần hay xa.
Cực tiểu hoá với trọng số ưu tiên cặp gần:
\[ \min_{z_1,\ldots,z_N} \sum_{i \neq i'} \frac{(d_{ii'} - \|z_i - z_{i'}\|)^2}{d_{ii'}} \]
Chia cho \(d_{ii'}\) → cặp gần nhau (\(d_{ii'}\) nhỏ) bị phạt nặng hơn khi sai lệch → bảo toàn cấu trúc cục bộ tốt hơn.
Dữ liệu 3D (xoắn ốc) → 2D bằng Sammon mapping
Kruskal-Shepard và Sammon bảo toàn khoảng cách. Nếu thay bằng bảo toàn tích vô hướng (classical MDS):
\[ \min_{z_1,\ldots,z_N} \sum_{i,i'}\left(\underbrace{\langle x_i - \bar{x},\; x_{i'} - \bar{x} \rangle}_{\text{tích vô hướng gốc}} - \underbrace{\langle z_i - \bar{z},\; z_{i'} - \bar{z}\rangle}_{\text{tích vô hướng chiều thấp}}\right)^2 \]
Nghiệm của bài toán này chính xác là PCA — chiếu lên \(k\) vector riêng đầu tiên.
Ý nghĩa: PCA là trường hợp đặc biệt của MDS. Nhưng MDS tổng quát hơn — chỉ cần ma trận khoảng cách, không cần dữ liệu gốc \(x_i\).
Kruskal-Shepard và Sammon cần giá trị chính xác của khoảng cách. Non-metric MDS chỉ cần thứ hạng: nếu \(d_{ab} < d_{cd}\) trong gốc thì cũng muốn \(\|z_a - z_b\| < \|z_c - z_d\|\) trong chiều thấp.
\[ \min_{z_i,\;\theta} \frac{\sum_{i \neq i'}\left(\|z_i - z_{i'}\| - \theta(d_{ii'})\right)^2}{\sum_{i \neq i'}\|z_i - z_{i'}\|^2} \]
Kháng nguyên virus cúm (79D → 2D), Smith et al., Science 2004
📖 Toàn bộ phần này là tự học
MDS bảo toàn khoảng cách giữa mọi cặp điểm. SNE đổi góc nhìn: với mỗi điểm, tính xác suất láng giềng — điểm nào gần thì xác suất cao, xa thì thấp.
Hinton & Roweis, 2002
Dùng Gaussian quanh mỗi điểm \(x_i\):
\[ p_{j|i} \propto \exp\!\left(-\frac{\|x_j - x_i\|^2}{2\sigma_i^2}\right) \]
\[ P_i \propto \mathcal{N}(x_i,\, \sigma_i^2) \]
\(x_j\) gần → \(p_{j|i}\) cao
\(x_j\) xa → \(p_{j|i}\) thấp
Điểm càng xa thì độ tương đồng càng nhỏ.
Chọn \(\sigma_i\) sao cho mỗi điểm có perplexity cố định:
\[ \text{Perp}(P_i) = 2^{H(P_i)} \]
Vùng đặc dùng \(\sigma_i\) nhỏ, vùng thưa dùng \(\sigma_i\) lớn.
SNE gốc dùng Gaussian trong không gian chiều thấp:
\[ q_{j|i} \propto \exp\!\left(-\|z_j - z_i\|^2\right) \]
\(Q_{j|i} \propto \mathcal{N}(z_i,\tfrac{1}{\sqrt{2}})\) — Gaussian trong không gian chiều thấp
Hàm mục tiêu:
\[ C = \sum_i KL(P_i \| Q_i) = \sum_i \sum_j p_{j|i} \log \frac{p_{j|i}}{q_{j|i}} \]
Mục tiêu: tìm \(z_i\) sao cho \(Q_i \approx P_i\) cho mọi điểm \(i\).
t-SNE ưu tiên bảo toàn các láng giềng gần.
Độ tương đồng \(P_i\) (cam) và \(Q_i\) (xanh) theo khoảng cách
Mỗi điểm \(i\) có một phân phối riêng \(P_i\) và \(Q_i\).
Tổng hàm mục tiêu: \[ C = \sum_i KL(P_i \| Q_i) \]
Tất cả phân phối \(P_1,\ldots,P_n\) (cam) và \(Q_1,\ldots,Q_n\) (xanh)
Đo "khoảng cách" giữa hai phân phối — bất đối xứng:
\[ KL(P \| Q) = \sum_j p_j \log \frac{p_j}{q_j} \geq 0 \]
KL thuận (mean-seeking) vs. KL ngược (mode-seeking)
Vấn đề: Không gian chiều thấp có ít chỗ hơn nhiều.
Giải pháp: dùng phân phối t với đuôi nặng hơn.
Cùng dữ liệu MNIST — tỷ lệ 10× vs 1×
(Kobak
et al. 2019)
Trong không gian 2D, không đủ chỗ để bảo toàn tất cả khoảng cách:
Chiều cao vs. chiều thấp: khoảng cách không bảo toàn được
Symmetric SNE:
\[ p_{ij} = \frac{p_{j|i} + p_{i|j}}{2n}, \qquad p_{ii} = 0 \]
\[ C = KL(P \| Q) = \sum_{i,j} p_{ij} \log \frac{p_{ij}}{q_{ij}} \]
Một hàm mục tiêu duy nhất cho toàn bộ cặp điểm.
Không gian chiều thấp:
\[ q_{ij} = \frac{(1 + \|z_i - z_j\|^2)^{-1}}{\sum_{k \neq l}(1 + \|z_k - z_l\|^2)^{-1}} \]
Gaussian vs. phân phối t
Dữ liệu \(X\) → khoảng cách → xác suất \(P\) ≈ \(Q\) ← xác suất ← biểu diễn \(Z\) (van der Maarten & Hinton, 2008)
t-SNE cố làm cho đồ thị láng giềng trong không gian chiều thấp giống với đồ thị láng giềng ban đầu.
Bước 1: Dữ liệu chiều cao → đồ thị tương đồng/láng giềng
Đồ thị láng giềng chiều cao (trên) và chiều thấp (dưới).
van der Maaten, lvdmaaten.github.io/tsne
Mahfouz et al., 2014
van der Maaten & Hinton, 2008 — t-SNE tách cụm rõ ràng nhất
Thay thế: UMAP
Cùng dữ liệu, perplexity = 2, 5, 30, 50, 100 — kết quả rất khác nhau (distill.pub)
Perplexity ảnh hưởng mạnh đến kết quả.
PCA
Bảo toàn: phương sai toàn cục
Tham số: số PC \(k\)
Tốt cho cấu trúc tuyến tính và tiền xử lý.
MDS
Bảo toàn: khoảng cách
Tham số: số chiều \(k\)
Hữu ích khi chỉ có ma trận khoảng cách.
t-SNE
Bảo toàn: láng giềng gần
Tham số: perplexity
Mạnh nhất cho trực quan hóa và khám phá cụm.
Giảm chiều giúp trực quan hóa và đơn giản hóa dữ liệu.