Đại số tuyến tính cho AI · Bài 2/3

Chuẩn vector, tích trong và khoảng cách

Bài học minh hoạ — nội dung sẽ được Phòng Học thuật & Nghiên cứu Giáo dục BMATH biên soạn và thẩm định chính thức trước khi xuất bản.

Trong AI, ta thường cần trả lời câu hỏi: "hai vector này giống nhau đến mức nào?" — ví dụ so sánh hai embedding của câu văn, hai vector đặc trưng của người dùng, hay khoảng cách giữa một điểm dữ liệu và tâm cụm. Câu trả lời dựa trên hai khái niệm: tích trong (inner product / dot product) và chuẩn (norm) của vector.

Tích trong (dot product)

Với hai vector u,vRn\mathbf{u}, \mathbf{v} \in \mathbb{R}^n, tích trong là một số vô hướng:

uv=i=1nuivi\mathbf{u} \cdot \mathbf{v} = \sum_{i=1}^{n} u_i v_i

Trong mạng nơ-ron, phép nhân ma trận-vector đã học ở Bài 1 thực chất là một loạt phép tích trong: mỗi phần tử đầu ra là tích trong giữa một hàng của ma trận trọng số và vector đầu vào.

Chuẩn Euclid (L2 norm)

Chuẩn của một vector đo "độ dài" của nó, định nghĩa từ tích trong với chính nó:

v2=vv=i=1nvi2\lVert \mathbf{v} \rVert_2 = \sqrt{\mathbf{v} \cdot \mathbf{v}} = \sqrt{\sum_{i=1}^{n} v_i^2}

Hai chuẩn khác cũng thường gặp trong AI: chuẩn L1 v1=ivi\lVert \mathbf{v} \rVert_1 = \sum_i |v_i| (dùng trong Lasso regression để tạo nghiệm thưa — nhiều trọng số bằng 0) và chuẩn L2 bình phương v22\lVert \mathbf{v} \rVert_2^2 (dùng trong Ridge regression và weight decay để tránh overfitting).

Góc giữa hai vector và Cosine Similarity

Tích trong liên hệ với góc θ\theta giữa hai vector theo công thức:

uv=uvcosθ\mathbf{u} \cdot \mathbf{v} = \lVert \mathbf{u} \rVert \, \lVert \mathbf{v} \rVert \cos\theta

Suy ra cosine similarity — độ đo được dùng rộng rãi nhất để so sánh embedding trong AI (tìm kiếm ngữ nghĩa, hệ gợi ý, so khớp câu hỏi–câu trả lời):

cosine_sim(u,v)=uvuv\text{cosine\_sim}(\mathbf{u}, \mathbf{v}) = \frac{\mathbf{u} \cdot \mathbf{v}}{\lVert \mathbf{u} \rVert \, \lVert \mathbf{v} \rVert}

Giá trị này nằm trong đoạn [1,1][-1, 1]: gần 11 nghĩa là hai vector gần như cùng hướng (nội dung/ý nghĩa tương đồng), gần 00 nghĩa là không liên quan, gần 1-1 nghĩa là ngược hướng. Cosine similarity được ưa chuộng hơn khoảng cách Euclid khi so sánh embedding vì nó không bị ảnh hưởng bởi độ dài vector, chỉ quan tâm tới hướng.

Khoảng cách Euclid

Khi cần đo khoảng cách thay vì độ tương đồng (ví dụ trong thuật toán phân cụm k-means, hay tìm hàng xóm gần nhất k-NN), ta dùng chuẩn của hiệu hai vector:

d(u,v)=uv2=i=1n(uivi)2d(\mathbf{u}, \mathbf{v}) = \lVert \mathbf{u} - \mathbf{v} \rVert_2 = \sqrt{\sum_{i=1}^n (u_i - v_i)^2}

Khoảng cách càng nhỏ, hai điểm dữ liệu càng gần nhau trong không gian đặc trưng.

Bài tiếp theo sẽ dùng lại khái niệm tích trong để định nghĩa trị riêng và vector riêng, rồi mở rộng sang SVD (Singular Value Decomposition) — công cụ đứng sau PCA và nhiều kỹ thuật giảm chiều dữ liệu trong AI.