2Đại số tuyến tính#
Mọi thuật toán trong giáo trình đều viết bằng ngôn ngữ vector và ma trận, và nhiều kết luận quan trọng ở các chương sau thực ra là hệ quả của vài định lý đại số tuyến tính. Chẳng hạn, việc hồi quy tuyến tính có nghiệm duy nhất hay không phụ thuộc vào hạng của ma trận dữ liệu, còn tốc độ của gradient descent phụ thuộc vào tỉ số giữa trị riêng lớn nhất và nhỏ nhất. Ở đây ta nhắc lại những khái niệm đó, mỗi khái niệm kèm lý do nó cần thiết. Các khái niệm được minh hoạ trên cùng một ma trận dữ liệu nhỏ, diện tích của bốn căn hộ, ma trận mà Chương 4 sẽ dùng để định giá căn hộ. Người đã vững đại số tuyến tính có thể đọc lướt bảng ở Mục 2.1 rồi chuyển sang Chương 3.
2.1Vector, ma trận và hạng#
Một vector là một danh sách số thực, quy ước viết thành cột. Trong học máy, mỗi điểm dữ liệu là một vector: một căn nhà được mô tả bằng diện tích, số phòng và khoảng cách tới trung tâm là một vector ba chiều. Một ma trận là một bảng hàng, cột; ma trận dữ liệu xếp điểm dữ liệu thành hàng.
Tích ma trận với vector có hai cách đọc, và cả hai đều được dùng:
Đọc theo hàng, là vector chứa dự đoán của mô hình tuyến tính cho từng điểm dữ liệu. Đọc theo cột, là một tổ hợp tuyến tính của các cột của . Tập mọi tổ hợp tuyến tính như vậy gọi là không gian cột của , và hồi quy tuyến tính chính là tìm điểm trong không gian cột gần nhất (Chương 4).
Bốn căn hộ có diện tích 40, 60, 80 và 100 m² cho thấy cả hai cách đọc. Thêm một cột hằng 1 cho hệ số chặn, ma trận dữ liệu và một vector tham số là
Đọc theo hàng, là giá dự đoán, tính bằng tỉ đồng, của bốn căn: căn 40 m² được đoán tỉ. Đọc theo cột, cùng vector đó là 0,57 lần cột hằng cộng 0,024 lần cột diện tích. Chương 4 sẽ chỉ ra vì sao này là lựa chọn tốt nhất cho bốn căn hộ.
Định nghĩa 2.1 (Hạng)
Hạng của ma trận , ký hiệu , là số cột độc lập tuyến tính lớn nhất của (bằng số hàng độc lập tuyến tính lớn nhất). Ma trận gọi là đủ hạng cột nếu , tức không cột nào là tổ hợp tuyến tính của các cột còn lại.
Vì hạng không vượt quá số hàng, một ma trận có nhiều cột hơn hàng () không thể đủ hạng cột. Đó chính là cơ sở toán học của nhận xét ở Mục 1.3 rằng dữ liệu có nhiều đặc trưng hơn số điểm cần được xử lý đặc biệt. Ma trận của bốn căn hộ có hai cột không tỉ lệ với nhau, nên có hạng 2 và đủ hạng cột. Thêm một cột ghi diện tích bằng dm², tức 100 lần cột diện tích, thì ma trận có ba cột nhưng hạng vẫn là 2 và không còn đủ hạng cột; Mục 4.3 xét đúng tình huống đặc trưng trùng lặp này.
Bảng sau liệt kê các khái niệm của chương và nơi chúng được dùng.
| Khái niệm | Dùng ở đâu |
|---|---|
| Tích vô hướng | mọi mô hình tuyến tính (Chương 4, 6, 13) |
| Chuẩn , | regularization (Chương 9), lề của SVM (Chương 13) |
| Hạng của ma trận | điều kiện có nghiệm của phương trình chuẩn (Mục 4.3) |
| Trị riêng, vector riêng | PCA (Chương 14), số điều kiện (Mục 5.3) |
| Ma trận xác định dương | hàm lồi bậc hai (Chương 11) |
| Phân tích SVD | PCA, ridge, phân rã ma trận (Chương 9, 14, 16) |
| Đạo hàm theo vector | mọi phép suy ra công thức cập nhật tham số |
2.2Tích vô hướng và siêu phẳng#
Định nghĩa 2.2 (Tích vô hướng)
Tích vô hướng của hai vector là
trong đó là góc giữa hai vector.
Hai cách viết ứng với hai cách hiểu. Theo cách đại số, là tổng có trọng số của các đặc trưng: đặc trưng nào có trọng số lớn thì đóng góp nhiều vào kết quả. Theo cách hình học, bằng độ dài hình chiếu của lên hướng của nhân với độ dài của . Khi hai vector cùng hướng, tích vô hướng lớn và dương; khi vuông góc, nó bằng 0; khi ngược hướng, nó âm. Chia cho tích hai độ dài ta được , gọi là độ tương đồng cosine, thước đo dùng khắp nơi khi so sánh embedding.
Cách hiểu hình học cho biết tập nghiệm của phương trình là gì. Đó là tập các điểm mà hình chiếu lên hướng có cùng một giá trị, tức một siêu phẳng vuông góc với . Trong không gian hai chiều, siêu phẳng là một đường thẳng; trong ba chiều, là một mặt phẳng. Vector gọi là vector pháp tuyến của siêu phẳng. Mọi bộ phân loại tuyến tính ở Chương 6 và Chương 13 đều chia không gian bằng một siêu phẳng như vậy: phía là một lớp, phía còn lại là lớp kia.
Định lý 2.1 (Khoảng cách từ một điểm tới siêu phẳng)
Khoảng cách từ điểm tới siêu phẳng là
Chứng minh
Gọi là hình chiếu vuông góc của lên siêu phẳng. Vì vuông góc với siêu phẳng nên nó cùng phương với : với là khoảng cách cần tìm. Nhân vô hướng hai vế với và dùng ta được , suy ra .
Ví dụ 2.1
Cho , và điểm . Ta có và , nên khoảng cách từ tới đường thẳng bằng 1. Dấu của là dương, nên nằm về phía mà chỉ tới.
Công thức khoảng cách xuất hiện lại ở Mục 13.2. Trong SVM, khoảng cách từ điểm dữ liệu gần nhất tới siêu phẳng tỉ lệ nghịch với , nên cực đại khoảng cách đó tương đương với cực tiểu .
2.3Chuẩn của vector#
Chuẩn là cách đo độ dài của một vector. Ba chuẩn hay gặp là
Chuẩn là độ dài Euclid thông thường. Chuẩn là tổng trị tuyệt đối, còn gọi là khoảng cách Manhattan khi dùng để đo khoảng cách giữa hai điểm, vì giống cách đi theo các khối nhà vuông góc. Chuẩn là thành phần có trị tuyệt đối lớn nhất. Chẳng hạn với : , , .
Cách dễ nhất để thấy khác biệt giữa các chuẩn là vẽ quả cầu đơn vị trong hai chiều. Với đó là hình tròn. Với đó là hình vuông xoay 45 độ, có bốn đỉnh nằm trên các trục toạ độ. Với đó là hình vuông có cạnh song song với các trục.
Nghe như ba cách đo cùng một thứ, nhưng khi dùng làm thành phần regularization, chọn hay cho ra hai thuật toán có hành vi khác nhau về bản chất. Mục 9.4 đo được rằng phạt (ridge) không bao giờ đưa một hệ số về đúng 0, còn phạt (lasso) thì có: ở , lasso đưa đúng 9 trong 12 hệ số về 0, trùng với số hệ số bằng 0 của mô hình sinh ra dữ liệu. Về hình học, các đỉnh nhọn của quả cầu nằm trên trục toạ độ và nghiệm tối ưu hay rơi vào các đỉnh đó; về giải tích, hàm không khả vi tại 0. Mục 9.4 trình bày cả hai cách giải thích.
2.4Trị riêng và vector riêng#
Định nghĩa 2.3 (Trị riêng, vector riêng)
Cho ma trận vuông . Số là một trị riêng và vector khác không là một vector riêng tương ứng nếu
Phép nhân với nói chung vừa xoay vừa kéo dãn một vector. Vector riêng là những hướng đặc biệt mà không xoay, chỉ kéo dãn với hệ số , hoặc lật ngược nếu . Trong học máy, ma trận ta gặp nhiều nhất là ma trận hiệp phương sai và ma trận , và cả hai đều đối xứng. Với ma trận đối xứng có một kết quả rất mạnh.
Định lý 2.2 (Định lý phổ)
Mọi ma trận đối xứng thực có trị riêng thực và một hệ vector riêng trực chuẩn . Viết và thì
Định lý phổ nói rằng một ma trận đối xứng chỉ làm một việc đơn giản: trong hệ toạ độ gồm các vector riêng, nó kéo dãn mỗi trục một hệ số . Đây là nền tảng của PCA ở Chương 14, vì các thành phần chính chính là các vector riêng của ma trận hiệp phương sai.
Ví dụ 2.2
Ma trận có hai trị riêng và , với vector riêng và . Kiểm tra: . Như vậy kéo dãn gấp ba theo đường chéo và giữ nguyên theo đường chéo .
Hai đẳng thức sau được dùng thường xuyên về sau:
Với ma trận ở Ví dụ 2.2, vết bằng và định thức bằng .
Định nghĩa 2.4 (Số điều kiện)
Với ma trận đối xứng xác định dương , số điều kiện là tỉ số giữa trị riêng lớn nhất và nhỏ nhất:
Số điều kiện đo độ "dẹt" của ma trận: nghĩa là kéo dãn mọi hướng như nhau, còn lớn nghĩa là có hướng bị kéo rất mạnh và có hướng gần như bị ép dẹt. Với bốn căn hộ, có hai trị riêng khoảng 21 604 và 0,37, nên : theo một hướng, ma trận kéo dãn mạnh hơn hướng kia khoảng 58 nghìn lần. Đại lượng này quyết định tốc độ của gradient descent. Mục 5.3 đo được rằng số vòng lặp cần thiết tỉ lệ thuận với : khi tăng từ 1 lên 10 000, số vòng lặp tăng từ 1 lên 92 104. Cũng ở mục đó, chỉ cần trừ trung bình rồi chia diện tích cho độ lệch chuẩn là của bài toán bốn căn hộ giảm từ 58 340 xuống 1.
2.5Ma trận xác định dương#
Định nghĩa 2.5 (Ma trận xác định dương)
Ma trận đối xứng gọi là xác định dương nếu với mọi , và nửa xác định dương nếu với mọi . Tương đương: mọi trị riêng của dương (tương ứng, không âm).
Sự tương đương với trị riêng suy ra ngay từ định lý phổ: viết trong hệ toạ độ vector riêng, , thì . Tổng này dương với mọi khi và chỉ khi mọi .
Các chương sau cần tới khái niệm này ở ba chỗ. Thứ nhất, hàm bậc hai là hàm lồi khi và chỉ khi nửa xác định dương (Chương 11), và khi xác định dương thì có đúng một điểm cực tiểu. Thứ hai, ma trận luôn nửa xác định dương, vì ; nó xác định dương khi và chỉ khi với mọi , tức khi đủ hạng cột. Đó chính là điều kiện để phương trình chuẩn của hồi quy tuyến tính có nghiệm duy nhất (Mục 4.3). Với bốn căn hộ, hai trị riêng 21 604 và 0,37 của đều dương, nên ma trận này xác định dương. Thứ ba, nếu nửa xác định dương và thì xác định dương, vì với mọi ; các trị riêng của là , đều lớn hơn hoặc bằng . Nhờ tính chất này, hồi quy ridge luôn có nghiệm duy nhất, kể cả khi hồi quy tuyến tính thông thường không có (Mục 9.2).
2.6Phân tích giá trị suy biến (SVD)#
Định lý phổ chỉ áp dụng cho ma trận vuông đối xứng. Ma trận dữ liệu thường chữ nhật, và công cụ tương ứng cho nó là SVD.
Định lý 2.3 (Phân tích giá trị suy biến)
Mọi ma trận viết được dưới dạng
trong đó và là ma trận trực giao, còn có các phần tử trên đường chéo và bằng 0 ở mọi chỗ khác. Các số gọi là giá trị suy biến của .
Về mặt hình học, SVD nói rằng mọi phép biến đổi tuyến tính đều gồm ba bước: xoay (nhân ), kéo dãn theo các trục toạ độ (nhân ), rồi xoay lần nữa (nhân ). Các chương sau dùng ba hệ quả của nó.
Hệ quả thứ nhất là liên hệ với trị riêng. Ta có , nên các vector riêng của là các cột của và các trị riêng là . Khi đã được trừ trung bình theo cột, ma trận hiệp phương sai mẫu là , nên trị riêng của nó bằng . Mục 14.2 kiểm chứng điều này bằng số: tính theo hai cách, kết quả lệch nhau .
Hệ quả thứ hai là số điều kiện bị bình phương. Vì trị riêng của là bình phương giá trị suy biến của , ta có , trong đó . Nếu thì . Với bốn căn hộ, hai giá trị suy biến của là khoảng 146,98 và 0,609, nên và , đúng số điều kiện ở Mục 2.4. Khi giải một hệ tuyến tính có số điều kiện bằng số thực dấu phẩy động, ta có thể mất khoảng chữ số có nghĩa, nên lập làm mất gấp đôi số chữ số so với làm việc trực tiếp trên . Vì vậy các thư viện giải bài toán bình phương tối thiểu bằng phân tích QR hoặc SVD của thay vì dùng công thức .
Hệ quả thứ ba là xấp xỉ hạng thấp tốt nhất. Giữ lại giá trị suy biến lớn nhất và đặt các giá trị còn lại bằng 0 cho ma trận hạng gần nhất theo chuẩn Frobenius; đây là định lý Eckart–Young, và Mục 14.3 kiểm chứng đẳng thức sai số của nó tới .
2.7Đạo hàm theo vector#
Hầu hết thuật toán học máy tìm tham số bằng cách cho gradient của hàm mất mát bằng 0 hoặc đi ngược hướng gradient. Vì vậy cần tính được đạo hàm của hàm nhiều biến.
Định nghĩa 2.6 (Gradient)
Với hàm , gradient của tại là vector các đạo hàm riêng
Ma trận các đạo hàm riêng cấp hai gọi là ma trận Hessian, ký hiệu .
Bốn công thức trong bảng dưới đủ cho toàn bộ giáo trình.
| Hàm | Gradient |
|---|---|
| , bằng khi đối xứng | |
Công thức cuối được dùng nhiều nhất, và suy ra được từ ba công thức đầu. Khai triển
Số hạng đầu không phụ thuộc nên có gradient bằng 0. Số hạng thứ hai có dạng với . Số hạng thứ ba có dạng với đối xứng, nên gradient là . Cộng lại, ta được
Cho gradient này bằng 0 ta được phương trình chuẩn của Chương 4. Với bốn căn hộ, giá thật là tỉ, và với ở Mục 2.1, phần dư là . Thành phần thứ nhất của là tổng các phần dư, bằng 0; thành phần thứ hai là tổng có trọng số theo diện tích, . Gradient bằng 0, nên này là nghiệm, đúng như Chương 4 sẽ tìm ra. Ma trận Hessian của hàm này là , nửa xác định dương theo Mục 2.5, nên hàm lồi và mọi điểm có gradient bằng 0 đều là cực tiểu.
Lưu ý
Công thức gradient tự suy ra bằng tay rất dễ sai dấu hoặc thiếu hệ số 2. Cách kiểm tra đáng tin là so sánh với đạo hàm tính bằng sai phân hữu hạn. Mục 5.5 trình bày cách làm và cách chọn bước sai phân , trong đó quá nhỏ lại cho kết quả kém hơn.
2.8Tóm tắt#
Ma trận dữ liệu xếp mỗi điểm thành một hàng, và tích vừa là vector dự đoán vừa là tổ hợp tuyến tính của các cột. Hạng của cho biết các cột có độc lập hay không, nên quyết định hồi quy tuyến tính có nghiệm duy nhất hay không. Tích vô hướng đo độ chiếu của vector này lên vector kia, và mặt là một siêu phẳng với khoảng cách từ một điểm tới nó bằng . Chuẩn và khác nhau ở hình dạng quả cầu đơn vị, và khác biệt đó quyết định hành vi của lasso và ridge. Ma trận đối xứng chỉ kéo dãn các trục vector riêng của nó, số điều kiện đo độ dẹt của phép kéo dãn đó, và SVD mở rộng ý tưởng này cho ma trận chữ nhật. Cuối cùng, gradient của là , công thức sẽ dùng ngay ở Chương 4. Ma trận của bốn căn hộ minh hoạ cả chương: cho giá dự đoán, đủ hạng cột, là bình phương của , và gradient bằng 0 tại .
Đại số tuyến tính mô tả dữ liệu và mô hình, nhưng chưa nói gì về nhiễu. Dữ liệu thật luôn có nhiễu, và mô hình học từ một mẫu hữu hạn nên kết quả của nó cũng ngẫu nhiên. Chương 3 nhắc lại các công cụ xác suất để mô tả sự không chắc chắn đó.
Tự kiểm tra
4 câu. Chọn đáp án để xem ngay lời giải thích.
1Số điều kiện của so với số điều kiện của thế nào?
Vì sao: Vì , các trị riêng của là bình phương các giá trị suy biến của . Số điều kiện vì thế bị bình phương, nên các thư viện giải bình phương tối thiểu bằng phân tích QR hoặc SVD thay vì dùng công thức .2Vì sao regularization cho hệ số bằng đúng 0 còn thì không?
Vì sao: Với thì đạo hàm là , nhỏ dần khi tiến về 0, nên lực kéo không bao giờ đưa hệ số tới đúng 0. Ở Mục 9.4, với , lasso đưa 9 trong 12 hệ số về 0 còn ridge không đưa hệ số nào về 0.3Cộng () vào một ma trận nửa xác định dương thì được gì?
Vì sao: Các trị riêng tăng thêm nên đều dương. Vì vậy hồi quy ridge luôn có nghiệm duy nhất, kể cả khi .4Khoảng cách từ điểm tới đường thẳng bằng bao nhiêu?
Vì sao: Theo Định lý 2.1: .
Đã trả lời 0/4