Chuẩn L1, L2 và ý nghĩa hình học
Hai module đầu đã cho bạn "đồ nghề": vector có tọa độ và độ dài, tích vô hướng cho ta góc, ma trận và biến đổi tuyến tính cho ta hình ảnh xoay và co giãn. Giờ ta chuyển sang câu hỏi mới: làm sao đo một vector dài bao nhiêu, và hai vector cách nhau bao xa? Bài này dạy hai cây thước phổ biến nhất, chuẩn L1 và chuẩn L2. Bài tiếp theo sẽ dùng chúng để so sánh hướng trong cosine similarity.
Nhắc nhanh kiến thức cần: độ dài vector 2D $(x, y)$ là $\sqrt{x^2 + y^2}$ (Pythagoras), và $|\mathbf{v}|_2^2 = \mathbf{v} \cdot \mathbf{v}$.
Sau bài này, bạn sẽ:
- Viết được công thức chuẩn L1 và L2 cho vector $n$ chiều.
- Tính tay chuẩn L1, L2 của một vector cụ thể mà không cần máy tính.
- Vẽ và giải thích hình dạng "tập điểm có chuẩn bằng 1" của mỗi chuẩn.
- Chọn được chuẩn phù hợp cho một bài toán gợi ý đơn giản.
Chuẩn của một vector: cây thước đo độ dài
Ta đã biết độ dài vector 2D. Chuẩn (norm) chỉ là mở rộng khái niệm độ dài cho $n$ chiều, ký hiệu $|\mathbf{v}|$. Có nhiều họ chuẩn, nhưng trong học máy và tìm kiếm, hai họ xuất hiện nhiều nhất là L1 và L2. Cả hai đều thỏa: chuẩn luôn không âm, và chỉ vector không mới có chuẩn bằng 0.
Chuẩn L2: đường chim bay
Chuẩn L2 (Euclid) là độ dài "thẳng" quen thuộc:
$$ |\mathbf{v}|_2 = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2} $$
Ví dụ với $\mathbf{v} = (3, -4)$: bình phương các thành phần được $9 + 16 = 25$, lấy căn được $|\mathbf{v}|_2 = 5$. Bộ ba 3, 4, 5 này là ví dụ kinh điển để tính nhẩm.
Hình học: tập hợp mọi điểm có $|\mathbf{v}|_2 = 1$ là một đường tròn bán kính 1 (trong 3D là mặt cầu). Vì vậy L2 đo đúng "đường chim bay" giữa hai điểm.
Vì bình phương trước khi cộng, một thành phần lệch lớn sẽ bị phạt rất nặng. Đây là lý do L2 nhạy với outlier.
Bài tập nhanh 1: Tính chuẩn L2 của $(1, 2, 2)$ và của $(6, 8)$.
Xem đáp án
$(1,2,2)$: $1 + 4 + 4 = 9$, căn bằng 3. $(6,8)$: $36 + 64 = 100$, căn bằng 10. Cả hai đều ra số nguyên đẹp, hãy nhớ chúng làm mẫu.
Bài tập nhanh 2: Vector nào là vector duy nhất có $|\mathbf{v}|_2 = 0$?
Xem đáp án
Vector không $\mathbf{0} = (0, 0, \dots, 0)$. Tổng các bình phương bằng 0 chỉ khi mọi thành phần bằng 0.
Chuẩn L1: đi bộ theo ô phố
Chuẩn L1 (Manhattan, taxicab) chỉ cộng trị tuyệt đối, không bình phương:
$$ |\mathbf{v}|_1 = |v_1| + |v_2| + \dots + |v_n| $$
Với $\mathbf{v} = (3, -4)$: $|3| + |-4| = 7$. Chú ý dấu trừ biến mất, đây là lỗi phổ biến nhất khi tính tay.
Hình học: tập điểm có $|\mathbf{v}|_1 = 1$ là một hình thoi, trong 2D chính là hình vuông xoay 45 độ với bốn đỉnh $(1,0)$, $(0,1)$, $(-1,0)$, $(0,-1)$. Hình dung một người đi taxi trong thành phố: không được đi xuyên nhà, chỉ đi dọc theo ô phố, nên tổng quãng đường là tổng các chặng ngang và dọc.
Vì không bình phương, L1 công bằng hơn với các thành phần nhỏ và ít bị một outlier kéo lệch.
flowchart TD
V["📐<br/>Vector v"] --> Q{"Đo theo kiểu nào?"}
Q -->|"Đường chim bay"| L2["⭕<br/>Chuẩn L2"]
Q -->|"Đi bộ theo ô phố"| L1["🔷<br/>Chuẩn L1"]
Bài tập nhanh 3: Tính chuẩn L1 của $(1, 2, 2)$ và của $(0.5, -0.5, 0)$.
Xem đáp án
$(1,2,2)$: $1 + 2 + 2 = $ 5. $(0.5, -0.5, 0)$: $0.5 + 0.5 + 0 = $ 1, đây là một điểm nằm trên "hình thoi đơn vị" của L1.
Chọn chuẩn nào: so sánh và dùng thực tế
| Tiêu chí | Chuẩn L1 | Chuẩn L2 |
|---|---|---|
| Công thức | $\sum \lvert v_i \rvert$ | $\sqrt{\sum v_i^2}$ |
| Tên khác | Manhattan, taxicab | Euclid |
| Tập điểm chuẩn = 1 | Hình thoi, hình vuông xoay 45 độ | Đường tròn, mặt cầu |
| Với outlier | Ít bị chi phối | Bị phạt nặng |
| Hay dùng khi | Muốn tổng độ lệch từng chiều, dữ liệu thưa | Muốn đo khoảng cách hình học thật |
Một quy tắc nhớ nhanh: với mọi vector, $|\mathbf{v}|_2 \le |\mathbf{v}|_1 \le \sqrt{n},|\mathbf{v}|_2$. Vậy L1 không bao giờ nhỏ hơn L2, và hai chuẩn chỉ bằng nhau khi vector chỉ có đúng một thành phần khác 0.
Ví dụ thực tế: bạn có vector sở thích phim của hai người, mỗi chiều là mức yêu thích một thể loại. Nếu muốn biết "tổng cộng hai người lệch nhau bao nhiêu điểm", dùng L1. Nếu muốn "một thể loại lệch cực lớn thì phải bị trừng phạt nặng", dùng L2. Cả hai đều là khoảng cách: khoảng cách giữa $\mathbf{a}$ và $\mathbf{b}$ chính là chuẩn của hiệu, tức $|\mathbf{a} - \mathbf{b}|_1$ hoặc $|\mathbf{a} - \mathbf{b}|_2$.
Bài tập nhanh 4: Cho $\mathbf{a} = (1, 1)$ và $\mathbf{b} = (2, 2)$. Tính khoảng cách L1 và L2 giữa chúng.
Xem đáp án
Hiệu là $(-1, -1)$. Khoảng cách L1: $|-1| + |-1| = $ 2. Khoảng cách L2: $\sqrt{1 + 1} \approx $ 1.41. Cùng một cặp điểm, hai cây thước cho hai con số khác nhau, và cả hai đều đúng theo định nghĩa của nó.
Ba lỗi hay gặp khi tính chuẩn
- Quên trị tuyệt đối ở L1. Tính $3 + (-4) = -1$ là sai; chuẩn không bao giờ âm.
- Quên lấy căn ở L2. $9 + 16 = 25$ mới là bình phương chuẩn, chuẩn là $5$. Nhiều thư viện trả về bình phương để tính nhanh hơn, hãy đọc kỹ tài liệu.
- So sánh trực tiếp số đo L1 với L2. Hai chuẩn là hai đơn vị đo khác nhau, đừng trộn chúng trong cùng một bảng xếp hạng.
Mẹo của người hay vẽ hình: khi cần nhớ hình dạng, hãy vẽ bốn điểm $(1,0)$, $(0,1)$, $(-1,0)$, $(0,-1)$. Nối chúng theo kiểu L1 được hình thoi, nối theo kiểu L2 được đường tròn. Mỗi lần phân vân, vẽ lại hai hình đó là nhớ ra ngay.
Bộ thẻ ôn tập
Front: Chuẩn của một vector là gì? Back: Độ dài của vector, mở rộng Pythagoras cho n chiều.
Front: Công thức chuẩn L1 của vector v? Back: Tổng các giá trị tuyệt đối của các thành phần.
Front: Công thức chuẩn L2 của vector v? Back: Căn bậc hai của tổng bình phương các thành phần.
Front: Chuẩn L1 của (3, -4) bằng bao nhiêu? Back: 7.
Front: Chuẩn L2 của (3, -4) bằng bao nhiêu? Back: 5.
Front: Tên gọi khác của chuẩn L1 và L2? Back: L1 là khoảng cách Manhattan, L2 là khoảng cách Euclid.
Front: Tập điểm có chuẩn L2 bằng 1 trông thế nào? Back: Đường tròn bán kính 1, trong 3D là mặt cầu.
Front: Tập điểm có chuẩn L1 bằng 1 trông thế nào? Back: Hình thoi, trong 2D là hình vuông xoay 45 độ.
Front: Chuẩn L1 của (1, 2, 2) bằng bao nhiêu? Back: 5.
Front: Chuẩn L2 của (1, 2, 2) bằng bao nhiêu? Back: 3.
Front: Chuẩn nào nhạy với outlier hơn và vì sao? Back: L2, vì bình phương làm chênh lệch lớn bị phạt nặng.
Front: Tính khoảng cách giữa hai vector bằng chuẩn như thế nào? Back: Lấy chuẩn của hiệu: khoảng cách = chuẩn của (a - b).
Front: Vector nào có chuẩn bằng 0? Back: Chỉ vector không, mọi thành phần đều bằng 0.
Front: Liên hệ giữa chuẩn L2 và tích vô hướng? Back: Bình phương chuẩn L2 bằng tích vô hướng của vector với chính nó.
Ghi nhớ và bước tiếp theo
Ba điều cần mang theo: chuẩn là cây thước đo độ dài; L1 cộng trị tuyệt đối và có hình thoi đơn vị, L2 lấy căn tổng bình phương và có đường tròn đơn vị; khoảng cách giữa hai vector luôn là chuẩn của hiệu. Nắm hai cây thước này là bạn đã có đủ nền để đo độ tương đồng.
Bài tiếp theo, Cosine similarity trong tìm kiếm và gợi ý, sẽ bỏ qua độ dài và chỉ hỏi một câu khác: hai vector có cùng hướng không.