Skip to content
Phạm Khánh Minh Mẫn / syllabus
← Giáo trình

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.

Một vector trước và sau phép trượt ngang: lưới vuông trở thành lưới nghiêng, vector v biến thành Av.vAvA
Một ma trận. Một hành động lên không gian.
10 bài học10 PDF ghi tayĐọc tự do · không cần đăng nhập

Đi theo từng bài

10 bài học

  1. 01

    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.

    Đọc bài · PDF ghi tay
    PDF ↗
  2. 02

    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.

    Đọc bài · PDF ghi tay
    PDF ↗
  3. 03

    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.

    Đọc bài · PDF ghi tay
    PDF ↗
  4. 04

    Đị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?

    Đọc bài · PDF ghi tay
    PDF ↗
  5. 05

    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.

    Đọc bài · PDF ghi tay
    PDF ↗
  6. 06

    Đổi cơ sở

    Cùng một vector, hai cách ghi toạ độ. Thay hệ trục để thấy cấu trúc.

    Đọc bài · PDF ghi tay
    PDF ↗
  7. 07

    Eigenvector và eigenvalue

    Tìm những trục không đổi hướng khi không gian bị biến đổi.

    Đọc bài · PDF ghi tay
    PDF ↗
  8. 08

    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.

    Đọc bài · PDF ghi tay
    PDF ↗
  9. 09

    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.

    Đọc bài · PDF ghi tay
    PDF ↗
  10. 10

    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ị.

    Đọc bài · PDF ghi tay
    PDF ↗
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":

  1. Nhìn softmax(QKᵀ/√d)·V và 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), ·V là 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ủa V — bài 2, bài 3). Vì sao chia √d và softmax làm gì thì học ở môn 8, không phải môn này.
  2. Tự cài PageRank bằng numpy (không dùng networkx) và ra đúng kết quả networkx.
  3. 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ề A nói "ai nối ai". Laplacian L = D − A nó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ệu x trên đồ thị. Bằng 0 khi x phẳ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.

  1. 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ố.
  2. Đị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?
  3. Cosine similarity khác khoảng cách Euclid ở đâu, và vì sao retrieval gần như luôn dùng cosine?
  4. 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ì.)
  5. PageRank hội tụ về eigenvector chính. Damping factor d đóng vai trò gì để đảm bảo điều đó? Nếu d = 1 thì hỏng ở đâu?
  6. SVD "nén" theo nghĩa nào? Giữ lại k giá trị suy biến lớn nhất thì mất gì, giữ được gì?
  7. 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".