Đại số tuyến tính
This content is not available in your language yet.
Mục tiêu
Phần tiêu đề “Mục tiêu”Sau bài này, bạn sẽ:
- Hiểu sâu bản chất hình học của vectơ (vector) như các điểm/hướng trong không gian và ma trận (matrix) như những cỗ máy biến đổi không gian (spatial transformation).
- Thành thạo các phép toán cốt lõi: tích vô hướng (dot product), chuẩn vectơ (L1, L2 norm) và độ đo tương đồng Cosine (Cosine Similarity) dùng trong tìm kiếm ngữ nghĩa và RAG.
- Nắm vững tính chất của phép nhân ma trận, ý nghĩa hình học của định thức (determinant) và điều kiện khả nghịch của ma trận.
- Làm chủ trực giác về trị riêng (eigenvalue) và vectơ riêng (eigenvector) — nền tảng toán học của các thuật toán phân tích thành phần chính (PCA) và nén mô hình AI.
Cần biết trước
Phần tiêu đề “Cần biết trước”- NumPy and Pandas, in Python(Not translated yet) (Learned)
Trực giác
Phần tiêu đề “Trực giác”Làm thế nào máy tính có thể hiểu được ý nghĩa của bức ảnh một chú mèo hay ngữ nghĩa của một bài báo khoa học?
Máy tính không thể trực tiếp cảm nhận màu sắc hay đọc hiểu ngữ nghĩa từ ngữ. Tất cả dữ liệu đa phương tiện trong AI đều được chuyển đổi thành các dãy số thực:
- Một bức ảnh đen trắng điểm ảnh được biểu diễn thành một ma trận con số, hoặc trải phẳng thành một vectơ 784 chiều.
- Một đoạn văn bản được mô hình ngôn ngữ mã hóa thành một vectơ nhúng (embedding vector) 1536 chiều trong không gian ngữ nghĩa.
- Một lớp mạng nơ-ron truyền thẳng (Dense layer) nhận vào một vectơ đặc trưng, nhân với một ma trận trọng số và cộng thêm hệ số tự do để biến đổi không gian biểu diễn.
Nếu đại số sơ cấp ở trường phổ thông coi ma trận chỉ là một “bảng chữ nhật chứa các con số”, thì trong Trí tuệ Nhân tạo, bạn hãy nhìn ma trận như một phép biến đổi không gian: nó có thể kéo giãn, co cụm, xoay tròn hoặc bẻ cong không gian dữ liệu để làm nổi bật các quy luật tiềm ẩn.
Lý thuyết
Phần tiêu đề “Lý thuyết”1. Vectơ: Điểm và Hướng trong Không gian
Phần tiêu đề “1. Vectơ: Điểm và Hướng trong Không gian”Một vectơ chiều là một dãy có thứ tự gồm số thực, ký hiệu là :
Về mặt hình học:
- Vectơ có thể được xem là một mũi tên xuất phát từ gốc tọa độ trỏ tới điểm .
- Hướng mũi tên biểu thị phương hướng, và độ dài mũi tên biểu thị độ lớn (magnitude) của đại lượng.
Tích Vô Hướng (Dot Product)
Phần tiêu đề “Tích Vô Hướng (Dot Product)”Tích vô hướng giữa hai vectơ là tổng các tích của từng cặp phần tử tương ứng:
Về mặt hình học, tích vô hướng liên hệ mật thiết với góc giữa hai vectơ:
- Nếu : góc nhọn (), hai vectơ trỏ về cùng một hướng tổng quát.
- Nếu : hai vectơ vuông góc nhau (trực giao - orthogonal).
- Nếu : góc tù (), hai vectơ trỏ về hai hướng đối nghịch nhau.
Trong cơ chế Attention của mô hình Transformer, phép tính chấm điểm tương quan giữa vectơ truy vấn (Query) và vectơ khóa (Key) chính là một phép tính tích vô hướng!
Chuẩn Vectơ (Vector Norms)
Phần tiêu đề “Chuẩn Vectơ (Vector Norms)”Chuẩn (norm) đo lường độ lớn hoặc độ dài của một vectơ:
-
Chuẩn (Manhattan norm): Tổng giá trị tuyệt đối của các phần tử:
Chuẩn là cơ sở của kỹ thuật Regularization Lasso, giúp ép các trọng số không quan trọng về đúng , tạo ra mô hình thưa (sparse model).
-
Chuẩn (Euclidean norm): Độ dài hình học đường thẳng thẳng từ gốc tọa độ đến ngọn vectơ:
Chuẩn là cơ sở của kỹ thuật Regularization Ridge (Weight Decay), giúp giới hạn độ lớn của trọng số mạng nơ-ron để tránh hiện tượng học vẹt (overfitting).
Độ Đo Tương Đồng Cosine (Cosine Similarity)
Phần tiêu đề “Độ Đo Tương Đồng Cosine (Cosine Similarity)”Khi so sánh hai đoạn văn bản qua các vectơ embedding, một bài báo dài 5000 từ và một bài báo ngắn 500 từ có cùng chủ đề sẽ có độ dài chuẩn rất chênh lệch. Để đo mức tương đồng ngữ nghĩa mà không bị độ dài làm sai lệch, ta dùng Cosine Similarity:
Giá trị này luôn nằm trong đoạn :
- Bằng : hoàn toàn trùng hướng ngữ nghĩa.
- Bằng : hoàn toàn độc lập, không liên quan.
- Bằng : hoàn toàn đối lập về ý nghĩa.
2. Ma Trận: Cỗ Máy Biến Đổi Tuyến Tính
Phần tiêu đề “2. Ma Trận: Cỗ Máy Biến Đổi Tuyến Tính”Một ma trận gồm hàng và cột:
Khi nhân ma trận với một vectơ , ta nhận được một vectơ mới :
Mỗi cột thứ của ma trận chính là vị trí mới của vectơ cơ sở thứ sau khi không gian bị biến đổi. Ma trận chính là “bản đồ chuyển dịch” của toàn bộ không gian tọa độ.
Phép Nhân Ma Trận
Phần tiêu đề “Phép Nhân Ma Trận”Phép nhân hai ma trận và cho ra ma trận với:
Tính chất sống còn cần nhớ:
- Tính kết hợp: .
- Nói chung KHÔNG giao hoán: . Đổi thứ tự nhân sẽ làm thay đổi kết quả biến đổi không gian hoặc sai lệch kích thước!
- Chuyển vị của tích: (đảo ngược thứ tự các nhân tử).
Định Thức và Ma Trận Nghịch Đảo
Phần tiêu đề “Định Thức và Ma Trận Nghịch Đảo”- Định thức ( hay ): Đo tỉ lệ thay đổi diện tích hoặc thể tích khi không gian bị biến đổi qua ma trận vuông .
- Nếu : diện tích mọi hình học trong không gian tăng lên gấp đôi.
- Nếu : không gian bị lật ngược hướng định hướng (reflection).
- Nếu : không gian bị xẹp xuống (ví dụ: mặt phẳng 2D bị ép thành một đoạn thẳng 1D).
- Ma trận nghịch đảo (): Phép biến đổi đưa không gian trở lại trạng thái ban đầu: Một ma trận vuông chỉ có nghịch đảo khi và chỉ khi (ma trận không suy biến - non-singular).
3. Trị Riêng và Vectơ Riêng (Eigenvalues & Eigenvectors)
Phần tiêu đề “3. Trị Riêng và Vectơ Riêng (Eigenvalues & Eigenvectors)”Khi ma trận biến đổi không gian, hầu hết các vectơ sẽ bị quay sang một hướng mới. Tuy nhiên, luôn tồn tại những hướng đặc biệt mà tại đó các vectơ không hề bị quay, mà chỉ bị kéo dài ra hoặc co ngắn lại!
Các vectơ đặc biệt đó gọi là vectơ riêng (eigenvector ), và tỉ lệ co giãn tương ứng gọi là trị riêng (eigenvalue ):
Để tìm các trị riêng , ta giải phương trình đặc trưng:
Ứng dụng cốt lõi trong AI:
- PCA (Principal Component Analysis): Vectơ riêng ứng với trị riêng lớn nhất của ma trận hiệp phương sai chính là hướng mà dữ liệu có độ biến thiên (phương sai) lớn nhất — tức chứa nhiều thông tin nhất. Bằng cách chiếu dữ liệu lên các vectơ riêng này, ta giảm số chiều từ hàng nghìn xuống vài chiều mà vẫn giữ được đặc trưng quan trọng.
- Phân rã giá trị suy biến (SVD): Cơ sở của nén ma trận trọng số LoRA (Low-Rank Adaptation) trong các mô hình ngôn ngữ lớn LLM.
Giới hạn
Phần tiêu đề “Giới hạn”- Độ phức tạp tính toán: Phép nhân ma trận truyền thống tốn phép tính; việc tìm ma trận nghịch đảo cũng tốn . Với các mô hình AI hàng tỉ tham số, ta không bao giờ tính nghịch đảo trực tiếp mà dùng thuật toán tối ưu xấp xỉ như Gradient Descent.
- Bất ổn định số học: Khi ma trận có định thức rất gần (số điều kiện condition number rất lớn), các phép tính ma trận trên máy tính dễ gặp sai số làm tròn số thực dấu phẩy động.
Minh họa
Phần tiêu đề “Minh họa”Dưới đây là sơ đồ trực quan hóa bản chất hình học của ba khái niệm cốt lõi:
1. TÍCH VÔ HƯỚNG VÀ COSINE SIMILARITY: v ↗ / \ Góc θ nhỏ --> cos(θ) gần 1.0 (Rất tương đồng) / θ \ Góc θ = 90° --> cos(θ) = 0.0 (Trực giao, độc lập) +------> u
2. MA TRẬN NHƯ PHÉP BIẾN ĐỔI KHÔNG GIAN 2D: Không gian gốc [i, j] Sau khi nhân ma trận A: y y | | A @ [1, 2] = [5, 4] | [1, 2] | ↗ +------> x +------> x (Hệ trục vuông góc) (Không gian bị kéo xiên và giãn)
3. TRỊ RIÊNG VÀ VECTƠ RIÊNG (A @ v = λ * v): Vectơ thường u: u ──► A @ u (Bị xoay lệch hướng!) Vectơ riêng v: v ──► A @ v = λ * v (Cùng hướng, chỉ bị co giãn độ dài λ lần!)Ví dụ code
Phần tiêu đề “Ví dụ code”Các ô dưới đây chạy độc lập. Cả hai ô đều dùng NumPy để tính toán đại số tuyến tính với hiệu năng C tối ưu.
Ô đầu tiên thực hiện các phép toán trên vectơ: tính tích vô hướng, chuẩn , chuẩn và độ đo tương đồng Cosine giữa hai vectơ nhúng biểu diễn văn bản.
Tính toán vectơ, chuẩn L1/L2 và Cosine Similarity
import numpy as np
# Tạo 2 vectơ biểu diễn dữ liệu / embeddingsu = np.array([1.0, 2.0, 3.0])v = np.array([2.0, 4.0, 5.0])
# 1. Tích vô hướng (dot product)dot_product = np.dot(u, v)
# 2. Chuẩn L1 (khoảng cách Manhattan) và chuẩn L2 (độ dài Euclid)norm_l1_u = np.linalg.norm(u, ord=1)norm_l2_u = np.linalg.norm(u, ord=2)norm_l2_v = np.linalg.norm(v, ord=2)
# 3. Độ đo tương đồng Cosine (Cosine Similarity)cos_sim = dot_product / (norm_l2_u * norm_l2_v)
# In kết quả phân tích hình học của vectơprint(f"Dot product (u . v) : {dot_product:.4f}")print(f"Norm L1 of u : {norm_l1_u:.4f}")print(f"Norm L2 of u (len) : {norm_l2_u:.4f}")print(f"Norm L2 of v (len) : {norm_l2_v:.4f}")print(f"Cosine similarity : {cos_sim:.4f}")The first run downloads Python, about 10 MB.
Kết quả in ra cho thấy:
- Tích vô hướng .
- Chuẩn của là (tổng trị tuyệt đối ).
- Chuẩn (độ dài Euclid) của là và của là .
- Cosine similarity đạt xấp xỉ (rất gần ), chứng minh rằng mặc dù vectơ có độ dài lớn gần gấp đôi , hai vectơ này gần như cùng chỉ về một hướng trong không gian ngữ nghĩa.
Ô thứ hai biến đổi một vectơ tọa độ qua ma trận vuông , tính định thức và tìm cặp trị riêng - vectơ riêng bằng np.linalg.eig.
Biến đổi không gian, định thức và trị riêng bằng NumPy
import numpy as np
# Ma trận biến đổi không gian A (2x2)A = np.array([[3.0, 1.0], [0.0, 2.0]])
# Vectơ dữ liệu ban đầu xx = np.array([1.0, 2.0])
# Biến đổi không gian bằng phép nhân ma trận A @ xy = A @ x
# Định thức của A (tỉ lệ co giãn diện tích không gian)det_A = np.linalg.det(A)
# Tìm trị riêng và vectơ riêng của Aeigenvalues, eigenvectors = np.linalg.eig(A)
# Lấy cặp trị riêng và vectơ riêng đầu tiênlambda0 = eigenvalues[0].realv0 = eigenvectors[:, 0].real
# Kiểm tra tính chất: A @ v = lambda * vAv0 = A @ v0lambda_v0 = lambda0 * v0
# In kết quả kiểm chứng đại số tuyến tínhprint(f"Transformed vector y: {y}")print(f"Determinant det(A) : {det_A:.4f}")print(f"Eigenvalues : {eigenvalues.real}")print(f"A @ v0 : {Av0}")print(f"lambda0 * v0 : {lambda_v0}")print(f"Is eigenvector? : {np.allclose(Av0, lambda_v0)}")The first run downloads Python, about 10 MB.
Kết quả kiểm chứng:
- Phép nhân ma trận đưa điểm thành tọa độ mới .
- Định thức , chứng minh ma trận bảo toàn tính khả nghịch và làm dãn diện tích không gian gấp 6 lần.
- Hàm
np.linalg.eigtìm được hai trị riêng và . - Phép kiểm tra
A @ v0cho kết quả chính xác bằnglambda0 * v0([3., 0.]), và hàmnp.allclosetrả vềTrue, xác nhận định nghĩa toán học của vectơ riêng.
Lỗi hay gặp
Phần tiêu đề “Lỗi hay gặp”Kiểm tra nhanh
Phần tiêu đề “Kiểm tra nhanh”Tóm tắt và đọc thêm
Phần tiêu đề “Tóm tắt và đọc thêm”Ý chính:
- Vectơ đại diện cho các mẫu dữ liệu hoặc các hướng trong không gian; tích vô hướng đo mức độ cùng hướng giữa hai vectơ.
- Chuẩn và đo độ dài vectơ, là nền tảng của kỹ thuật phạt trọng số Lasso và Ridge trong học máy.
- Ma trận là phép biến đổi không gian; định thức đo tỉ lệ biến dạng diện tích/thể tích và quyết định tính khả nghịch của ma trận.
- Trị riêng và vectơ riêng chỉ ra các hướng bảo toàn phương vị khi biến đổi không gian, là gốc rễ của thuật toán giảm chiều dữ liệu PCA và nén mô hình SVD/LoRA.
Đọc thêm:
- Grant Sanderson (3Blue1Brown) (2016). Essence of Linear Algebra, chuỗi bài giảng trực quan hóa hình học trực quan nhất về đại số tuyến tính.
- Gilbert Strang (2016). Introduction to Linear Algebra, giáo trình kinh điển của giáo sư MIT về đại số tuyến tính ứng dụng.
- Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong (2020). Mathematics for Machine Learning (PDF), Chương 2 (Linear Algebra) và Chương 3 (Analytic Geometry).
- Scipy Lecture Notes (2023). Operations on arrays and linear algebra with NumPy, tài liệu tra cứu chính thức mô-đun
numpy.linalg.
Your browser is blocking storage. Your progress will be lost when you reload the page.
Content licensed under CC BY-NC-SA 4.0. Code under the MIT license.About