MÔN 02 / LINEAR ALGEBRA
Đại số tuyến tính
Từ mũi tên trên mặt phẳng đến cấu trúc của không gian. Hiểu phép biến đổi trước, viết công thức sau — rồi nối với embedding, PageRank và SVD.
Đi theo từng bài
10 bài học- 01PDF ↗
Vector, tích vô hướng và phép chiếu
Từ mũi tên, độ dài và bóng chiếu đến dot product và cosine similarity.
- 02PDF ↗
Ma trận là phép biến đổi
Nhìn không gian bị quay, kéo, trượt để hiểu phép nhân ma trận.
- 03PDF ↗
Span, độc lập tuyến tính và hạng
Những hướng đi độc lập tạo nên không gian; hạng đếm số hướng còn giữ lại.
- 04PDF ↗
Định thức và ma trận nghịch đảo
Diện tích thay đổi ra sao, và khi nào có thể đảo ngược một phép biến đổi?
- 05PDF ↗
Ma trận không vuông và embedding
Nén và nâng chiều, bình phương tối thiểu, giả nghịch đảo, rồi embedding như một bảng tra.
- 06PDF ↗
Đổi cơ sở
Cùng một vector, hai cách ghi toạ độ. Thay hệ trục để thấy cấu trúc.
- 07PDF ↗
Eigenvector và eigenvalue
Tìm những trục không đổi hướng khi không gian bị biến đổi.
- 08PDF ↗
Ma trận Markov và PageRank
Theo dòng xác suất trên đồ thị để hiểu phân phối dừng và PageRank.
- 09PDF ↗
SVD và xấp xỉ hạng thấp
Tách phép biến đổi thành các hướng chính; giữ lại phần thông tin quan trọng.
- 10PDF ↗
Laplacian đồ thị
L = D − A đo chênh lệch giữa các đỉnh kề nhau; trị riêng đếm số mảnh và cắt đồ thị.
Mục tiêu, tài liệu tham khảo & bài tập tổng kết
3 tháng · môn quan trọng nhất toàn bộ lộ trình · không có điều kiện trước
1. Đạt được gì
Ba thứ kiểm chứng được, không phải cảm giác "đã học rồi":
- Nhìn
softmax(QKᵀ/√d)·Vvà nói được:QKᵀlà gì (bảng mọi tích vô hướng giữa truy vấn và khoá — bài 1 + bài 2 §3b),·Vlà phép gì (nhân ma trận: mỗi hàng kết quả là một tổ hợp tuyến tính các hàng củaV— bài 2, bài 3). Vì sao chia√dvàsoftmaxlàm gì thì học ở môn 8, không phải môn này. - Tự cài PageRank bằng numpy (không dùng networkx) và ra đúng kết quả networkx.
- Trả lời được: "SVD nén thông tin theo nghĩa nào?" — không phải định nghĩa, mà nghĩa.
2. Nội dung theo thứ tự
| Bài | Học gì | Vì sao ở đây |
|---|---|---|
| 1 | Vector, tích vô hướng, chuẩn (norm), góc, phép chiếu | Sinh ra cosine similarity |
| 2 | Nhân ma trận = phép biến đổi tuyến tính (không phải "quy tắc nhân hàng-cột") | Đây là chỗ đa số người học sai và không bao giờ hồi phục |
| 3 | Span, độc lập tuyến tính, cơ sở, hạng (rank) | Nền cho low-rank |
| 4 | Định thức, ma trận nghịch đảo, hệ phương trình | Công cụ |
| 5 | Ma trận không vuông, embedding | Nối ma trận với embedding |
| 6 | Đổi cơ sở | Chuẩn bị cho eigen |
| 7 | Eigenvalue / eigenvector | Cơ chế PageRank/PPR |
| 8 | Ma trận Markov, hội tụ khi t→∞, PageRank |
PPR là chuỗi Markov |
| 9 | SVD và xấp xỉ hạng thấp | LoRA, MLA, PCA đều là cái này |
| 10 | ⭐ Laplacian đồ thị L = D − A (bổ sung 14/8; sau SVD) |
Cách đo "gần" thứ HAI trên đồ thị — xem khung dưới |
📖 Mười bài học chi tiết
| # | Bài | Ý cốt lõi |
|---|---|---|
| 1 | Vector và tích vô hướng | Tích vô hướng đo "cùng hướng đến mức nào" → cosine similarity |
| 2 | Ma trận là phép biến đổi | Ma trận là một hành động, không phải bảng số |
| 3 | Span, độc lập, hạng | Ax là tổ hợp các CỘT → Ax=b hỏi "b có với tới được không" |
| 4 | Định thức và nghịch đảo | det ≈ 0 là cảnh báo số học, không chỉ là "suy biến" |
| 5 | Ma trận không vuông, embedding | Bình phương tối thiểu là phép chiếu trực giao |
| 6 | Đổi cơ sở | Cùng một vector, nhiều cách viết — chuẩn bị cho eigen |
| 7 | Eigenvector | Hướng không đổi phương khi bị biến đổi |
| 8 | Markov và PageRank | Damping bóp mọi eigenvalue phụ xuống d lần — đó là thứ mua lấy hội tụ |
| 9 | SVD và xấp xỉ hạng thấp | Eigen dùng một cơ sở, SVD nối hai — nên SVD tồn tại cho mọi ma trận |
| 10 | Laplacian đồ thị ⭐ (mới 19/8) | fᵀLf = Σ_(i,j)∈E (fᵢ−fⱼ)² — cấu trúc đồ thị thành hàm năng lượng |
Bài 10 trả lời câu hỏi mà khung ngay dưới đây mới chỉ đặt ra. Nó cũng khép lại một vòng: chính định lý hội tụ làm PageRank chạy ở bài 8 lại là thứ giết chết mạng nơ-ron đồ thị sâu (over-smoothing). Cùng một phép toán, ngược nhau về mục đích.
⏱️ Ngân sách thời gian — đọc kỹ dòng này. 10 bài học của môn 2 cộng lại chỉ ~35 giờ. Nhưng 3 tháng × 8-12h/tuần = 104-156 giờ. Nghĩa là bài học chỉ chiếm ~25% ngân sách. 75% còn lại là: 3Blue1Brown (~3.5h kể cả xem lại) · MML ch.2-4 + bài tập · Taubes ch.15-19 · tính tay trên giấy · capstone. Đọc hết 10 bài mà chưa làm ba thứ in đậm thì chưa xong môn 2.
⭐ Bài 10 — vì sao cần Laplacian khi đã có PageRank
Ma trận kề
Anói "ai nối ai". LaplacianL = D − Anói "sự khác biệt lan thế nào".Công thức đáng nhớ duy nhất:
xᵀLx = Σ_(i,j)∈E (xᵢ − xⱼ)²— đo độ gồ ghề của một tín hiệuxtrên đồ thị. Bằng 0 khixphẳng trên mọi cạnh.
Tính chất phổ Nói lên điều gì Số eigenvalue = 0 Số thành phần liên thông của đồ thị Eigenvector thứ hai (Fiedler) Cách cắt đồ thị làm đôi tốt nhất → phân cụm phổ Eigenvalue nhỏ Hướng "mượt" — nối thẳng về SVD/hạng thấp ở mục 8 Vì sao điều này quan trọng với bạn: PageRank/PPR là một cách đo "gần" trên đồ thị — lan truyền ngẫu nhiên. Laplacian cho một cách khác — phổ. Biết cả hai thì bạn hỏi được câu mà người chỉ biết PPR không hỏi nổi: "PPR có phải lựa chọn đúng không, hay chỉ là lựa chọn quen thuộc?" Đó chính là chẩn đoán trong công thức năm số hạng.
Nguồn: Gallier ch.20 (đã xoá khỏi ổ, tải lại từ trang UPenn khi tới mục này) · hoặc bất kỳ giáo trình spectral graph theory nào.
Đừng đảo thứ tự 2 lên sau 3. Nếu chưa thấy ma trận là phép biến đổi không gian, thì eigenvector sẽ mãi là công thức học thuộc.
3. Nguồn — dùng cái nào, dùng thế nào
| Thứ tự | Nguồn | Dùng thế nào |
|---|---|---|
| 1 | 3Blue1Brown — Essence of Linear Algebra (YouTube, ~15 tập, mỗi tập 10-15 phút) | Xem theo khối "🧭 Làm theo thứ tự này" ở đầu từng bài, không xem hết một lượt. Không ghi chép, không dừng lại giải bài. Mục tiêu duy nhất: có hình ảnh trong đầu. Tập 3 (ma trận là phép biến đổi) và tập 14 (eigenvector) là hai tập quan trọng nhất |
| 2 | MML book ch.2 (Linear Algebra), ch.3 (Analytic Geometry), ch.4 (Matrix Decompositions) — mml-book.github.io/book/mml-book.pdf | Đọc kỹ, làm bài tập. Ch.4 chứa eigendecomposition + SVD — chương quan trọng nhất của cả cuốn với bạn |
| 3 | Taubes ch.15-19 — file bạn đã có | Ch.16 Eigenvalues → ch.17 Markov matrices → ch.18 18.4 behavior of a Markov chain as t→∞ → ch.19 Symmetric matrices and data sets. Đây là toán của PPR, đọc sau MML ch.4 |
| 4 | Gilbert Strang — MIT 18.06 (ocw.mit.edu) | Chỉ mở khi bí một khái niệm cụ thể. Đừng xem tuần tự — 35 bài giảng sẽ nuốt 3 tháng của bạn mà không tới SVD |
| 5 | VMLS — Boyd & Vandenberghe, Introduction to Applied Linear Algebra · library/books/boyd-vandenberghe-vmls-introduction-to-applied-linear-algebra.pdf |
Nguồn phụ. Dùng cho: bài 1 §4a Cauchy–Schwarz (tr.56–58) · bài 3 §8c Gram–Schmidt/QR (tr.97–102) · bài 5 §4d nghiệm chuẩn nhỏ nhất (tr.332, 342) · bài 6 §9b cơ sở đối ngẫu (tr.205) · bài 8 §5.5 Aˡ đếm đường đi (tr.186–188) · bài 10 §1b Laplacian L = BBᵀ (tr.132–135, bt 10.13). Sách tự nói không dạy eigen/SVD — không thay bài 7–9 |
| 6 | Zhao — Graph Theory and Additive Combinatorics · library/books/zhao-graph-theory-and-additive-combinatorics.pdf |
Nâng cao, đọc SAU bài 7–10 và sau khi có số của thí nghiệm 1. Chỉ ch.3, ~20 trang: tr.92–93, 98, 101–106 (expander mixing lemma, Cheeger Thm 3.2.13 tr.105 → bài 10 §8) · tr.122–127 (Alon–Boppana, Friedman λ ≈ 2√(d−1) → bài 8, đoán |λ₂| trước khi chạy). Mọi định lý ở đây chỉ cho đồ thị d-đều, ma trận kề — quy ước λ nhỏ = giống ngẫu nhiên, ngược với λ₂(L) nhỏ = có cụm ở bài 10. ~92% sách là toán tổ hợp ngoài đường |
| 7 | MCS — Lehman, Leighton, Meyer, Mathematics for Computer Science · library/books/lehman-leighton-meyer-mathematics-for-computer-science.pdf (trang in; PDF = in + 8) |
Tuỳ chọn. §12.8.2 tr.522–523 → bài 8 §6 (chiều ngược: hai phía ⇔ không chu trình lẻ) · §12.11 tr.527–530 cây/rừng ↔ bài 10 (bội eigen 0 = số thành phần). Lệch quy ước: MCS A_ij = 1 nếu cạnh i→j (chuyển vị so với bài 8); MCS walk = được lặp đỉnh, path = không lặp |
Cảnh báo bẫy: Strang là kinh điển nhưng là khoá học đại học trọn vẹn. Với mục tiêu của bạn, MML ch.2-4 đủ và nhanh hơn 3 lần vì nó viết riêng cho ML.
4. Áp dụng vào đâu
| Khái niệm | Sinh ra cái gì trong AI |
|---|---|
| Tích vô hướng + chuẩn | cosine similarity → toàn bộ RAG/retrieval |
| Nhân ma trận | Mọi layer mạng nơ-ron; Q = X·W^Q, K = X·W^K trong attention |
| Phép chiếu | Embedding — chiếu từ ~100k chiều từ vựng xuống ~1k chiều |
| Hạng | Vì sao số chiều embedding có ý nghĩa; vì sao "hạng thấp" nén được |
| Eigenvector | PageRank / PPR — phân phối dừng của chuỗi Markov |
| SVD / low-rank | LoRA (fine-tune giá rẻ), MLA của DeepSeek, PCA |
5. Capstone
Tự cài bằng numpy, không dùng thư viện có sẵn:
1. nhân ma trận (~10 dòng)
2. chuẩn L2 (~2 dòng)
3. cosine similarity (~5 dòng)
4. PageRank bằng lặp ma trận-vector (~20 dòng)
Điều kiện qua môn: PageRank tự viết cho ra cùng kết quả với nx.pagerank trên ít nhất 3 đồ thị khác nhau, sai số < 1e-6.
Bài kiểm tra bổ sung: cài Personalized PageRank (teleport dồn hết về một node hạt giống thay vì
chia đều), đối chiếu nx.pagerank(G, alpha=0.5, personalization={'A': 1.0}).
Rồi trả lời: alpha là gì trong ngôn ngữ chuỗi Markov? Vì sao thuật toán phải hội tụ?
Nếu alpha = 1 thì hỏng ở đâu?
6. Tự kiểm "tận cùng"
Trả lời được cả 7 câu thì mới thật sự qua môn. Trả lời bằng lời + hình, không bằng công thức.
- Vì sao nhân ma trận không giao hoán (
AB ≠ BA)? Nói bằng ngôn ngữ phép biến đổi, không bằng ví dụ số. - Định thức bằng 0 nghĩa là gì về mặt hình học? Và vì sao khi đó ma trận không nghịch đảo được?
- Cosine similarity khác khoảng cách Euclid ở đâu, và vì sao retrieval gần như luôn dùng cosine?
- Eigenvector của một ma trận Markov với eigenvalue = 1 luôn tồn tại — vì sao? (Gợi ý: tổng mỗi cột bằng 1 nói lên điều gì.)
- PageRank hội tụ về eigenvector chính. Damping factor
dđóng vai trò gì để đảm bảo điều đó? Nếud = 1thì hỏng ở đâu? - SVD "nén" theo nghĩa nào? Giữ lại
kgiá trị suy biến lớn nhất thì mất gì, giữ được gì? - Trong attention,
QKᵀlà ma trận gì — kích thước bao nhiêu, phần tử(i,j)mang ý nghĩa gì?
Câu 4 và 5 là ranh giới thật giữa "biết PageRank chạy thế nào" và "hiểu vì sao nó chạy được".