17. Bài tập#
Mười bài tập có lời giải chi tiết và ngân hàng câu hỏi trắc nghiệm theo từng chương.
Cho bốn điểm và mô hình . (a) Lập ma trận có cột hằng số, rồi tính và . (b) Giải phương trình chuẩn để tìm , . (c) Tính phần dư của từng điểm. Tổng các phần dư bằng bao nhiêu, và vì sao kết quả đó không phải ngẫu nhiên? (d) Lặp lại với hồi quy ridge, . Các hệ số thay đổi theo chiều nào?
Xem lời giải chi tiết
(a) Lập ma trận. Thêm cột hằng số 1 ứng với hệ số chặn:
Kiểm nhanh: phần tử của là ; phần tử là ; phần tử là . Phần tử đầu của là , phần tử sau là .
(b) Giải. Định thức , nên
Vậy .
(c) Phần dư.
| dư | |||
|---|---|---|---|
| 1 | 2 | 1,9 | |
| 2 | 3 | 3,3 | |
| 3 | 5 | 4,7 | |
| 4 | 6 | 6,1 |
Tổng phần dư bằng 0 (máy tính cho , tức sai số làm tròn), và tổng bình phương phần dư là .
Vì sao tổng bằng 0. Phương trình chuẩn là , tức . Hàng đầu của là cột hằng số, gồm toàn số 1, nên hàng ấy cho đúng .
Điều này đúng với mọi mô hình có hệ số chặn. Nó còn có cách hiểu hình học: vector phần dư trực giao với mọi cột của , tức trực giao với toàn bộ không gian cột. Bình phương tối thiểu chính là phép chiếu vuông góc của lên không gian cột của .
(d) Ridge với .
Cả hai hệ số co về phía 0: và .
Lưu ý
Ở đây hệ số chặn cũng bị phạt, điều thường không mong muốn: phạt hệ số chặn làm kết quả phụ thuộc vào việc có bị dịch đi một hằng số hay không. Các cài đặt thực tế, kể cả
sklearn.linear_model.Ridge, không phạt hệ số chặn.
Giả sử với độc lập, và tiên nghiệm . (a) Viết , bỏ các hằng số không phụ thuộc . (b) Chứng minh rằng điểm cực tiểu của biểu thức đó trùng với nghiệm hồi quy ridge, và chỉ ra . (c) Khi tiên nghiệm chặt hơn ( nhỏ hơn), thay đổi theo chiều nào? Giải thích vì sao chiều đó hợp lý. (d) Nếu thay tiên nghiệm Gauss bằng tiên nghiệm Laplace thì được thuật toán nào, và tiên nghiệm đó diễn đạt niềm tin gì về ?
Xem lời giải chi tiết
(a) Âm log hậu nghiệm. Theo định lý Bayes, .
Phần hợp lý, với nhiễu Gauss độc lập:
Phần tiên nghiệm, với :
Cộng lại và bỏ mọi hằng số không phụ thuộc :
(b) Suy ra ridge. Nhân cả hai vế với — phép này không đổi vị trí cực tiểu:
So với Định nghĩa 9.2, đây chính là bài toán ridge với
Kiểm chứng bằng số ở Mục 10.4: với và thì , và nghiệm ridge dạng đóng lệch so với nghiệm MAP tìm bằng BFGS , trong phạm vi dung sai của thuật toán tối ưu.
(c) Tiên nghiệm chặt hơn. nhỏ đi thì lớn lên, tức regularization mạnh hơn.
Chiều này hợp lý vì nhỏ nghĩa là ta tin chắc rằng các hệ số phải gần 0. Niềm tin càng chắc thì dữ liệu càng phải đưa ra bằng chứng mạnh mới kéo được hệ số ra xa 0, và đó chính là tác dụng của regularization mạnh.
Tỉ số so sánh hai nguồn không chắc chắn: là mức nhiễu của dữ liệu, là độ rộng của tiên nghiệm. Dữ liệu càng nhiễu ( lớn) thì tiên nghiệm càng được coi trọng; tiên nghiệm càng rộng ( lớn) thì dữ liệu càng được coi trọng.
(d) Tiên nghiệm Laplace. Với :
cho ra lasso.
Tiên nghiệm này diễn đạt niềm tin rằng nhiều hệ số nên bằng đúng 0. Phân phối Laplace có đỉnh nhọn tại 0 (mật độ không khả vi ở đó), nên dồn nhiều xác suất sát 0 hơn phân phối Gauss, đồng thời có đuôi dày hơn nên vẫn cho phép một vài hệ số lớn. Đó là mô tả của một vector thưa.
Mục 5.3 đo được: với , gradient descent cần 92 104 vòng lặp, còn có momentum chỉ cần 1 297 vòng lặp. (a) Ước lượng số vòng lặp của cả hai phương pháp khi , dựa vào bậc lý thuyết và . (b) Một người nói: "Bài toán của tôi có một triệu chiều nên gradient descent sẽ rất chậm." Nhận định này đúng hay sai, và vì sao? (c) Nêu một bước tiền xử lý đơn giản làm giảm , và giải thích cơ chế.
Xem lời giải chi tiết
(a) Ước lượng ở . Số điều kiện tăng 4 lần so với .
| Bậc | Hệ số nhân | Ước lượng | |
|---|---|---|---|
| Gradient descent | vòng | ||
| Có momentum | vòng |
Tỉ số giữa hai phương pháp tăng từ 71 lên khoảng 142 lần: lợi ích của momentum tăng theo độ khó của bài toán, không phải một hệ số cố định.
(b) "Bài toán tôi có 1 triệu chiều nên GD sẽ rất chậm."
Nhận định này sai. Tốc độ hội tụ của gradient descent phụ thuộc số điều kiện chứ không phụ thuộc số chiều . Một bài toán 1 triệu chiều nhưng có hội tụ nhanh hơn nhiều một bài toán 2 chiều có .
Số chiều ảnh hưởng tới chi phí của mỗi vòng lặp ( cho một lần tính gradient), không ảnh hưởng tới số vòng lặp cần thiết. Nhầm lẫn giữa hai điều này là một trong các câu trả lời chưa đạt ở Mục 18.8.
(c) Chuẩn hoá đặc trưng.
Trừ trung bình và chia cho độ lệch chuẩn từng cột. Cơ chế: nếu một đặc trưng có biên độ còn một đặc trưng khác có biên độ , thì các trị riêng của chênh nhau cỡ , tức . Đưa mọi đặc trưng về cùng phương sai làm các trị riêng về cùng cỡ độ lớn, và giảm theo.
Cùng lý do giải thích vì sao chuẩn hoá quan trọng với mạng nơ-ron; xem Chương 6 của Học sâu.
Sai số của sai phân trung tâm gồm hai phần: sai số cắt cụt cỡ và sai số làm tròn cỡ , với . (a) Cực tiểu tổng hai phần theo và chứng minh . (b) Làm tương tự với sai phân tiến (sai số cắt cụt cỡ ) và chứng minh . (c) So sánh với hai giá trị đo được ở Mục 5.5. (d) Vì sao sai phân trung tâm tốn gấp đôi số lần tính hàm mà vẫn được ưa dùng hơn?
Xem lời giải chi tiết
(a) Sai phân trung tâm. Tổng sai số:
Lấy đạo hàm và cho bằng 0:
Sai số tại đó cỡ . Đây là độ chính xác tốt nhất có thể đạt với sai phân trung tâm; không chọn nào cho kết quả tốt hơn.
(b) Sai phân tiến. Sai số cắt cụt chỉ bậc nhất:
Sai số tốt nhất đạt được cỡ .
(c) Đối chiếu với số đo.
| Lý thuyết | Đo được | |
|---|---|---|
| Trung tâm | ||
| Tiến |
Cả hai khớp trong phạm vi độ phân giải của lưới quét: lưới có 53 điểm trên 13 bậc độ lớn, tức mỗi bước là hệ số , và cả hai độ lệch đều nhỏ hơn một bước lưới.
Sai số tốt nhất cũng khớp về bậc: sai phân trung tâm đạt , so với dự đoán cỡ .
(d) Vì sao ưa sai phân trung tâm. Với mỗi toạ độ, sai phân trung tâm cần hai lần tính hàm, và , còn sai phân tiến chỉ cần một lần tính mới vì đã có sẵn. Đổi lại, sai số tốt nhất giảm từ cỡ xuống cỡ , hơn ba bậc độ lớn.
Khoảng cách này quan trọng vì mục đích của việc kiểm tra là phân biệt lỗi cài đặt với sai số số học. Với sai phân tiến, sai số tương đối có thể là lỗi mà cũng có thể chỉ là sai số số học, nên không kết luận được. Với sai phân trung tâm, sai số số học chỉ cỡ , nên là dấu hiệu rõ của lỗi.
Một tập dữ liệu tách được tuyến tính có mọi điểm nằm trong hình cầu bán kính và có lề . (a) Chặn của định lý Novikoff cho số lần cập nhật của perceptron bằng bao nhiêu? (b) Nếu thêm 10 000 điểm nữa (vẫn tách được, vẫn cùng và ), chặn thay đổi thế nào? Điều đó cho biết gì? (c) Nếu nhân mọi với 10, thì , và chặn thay đổi thế nào? (d) Vì sao perceptron không có bảo đảm hội tụ khi dữ liệu không tách được? Trả lời dựa vào hình dạng của hàm mất mát ở Hình 5.
Xem lời giải chi tiết
(a) Chặn Novikoff.
(b) Thêm 10 000 điểm. Chặn không đổi, vẫn là 400.
Công thức không chứa và không chứa : số lần perceptron cập nhật bị chặn bởi hình học của bài toán, tức kích thước của dữ liệu và độ rộng khoảng trống giữa hai lớp, chứ không bởi lượng dữ liệu hay số chiều.
Một hệ quả cụ thể: perceptron vẫn chạy được trên dữ liệu có số chiều rất cao (ví dụ văn bản với hàng trăm nghìn đặc trưng), miễn là dữ liệu tách được với lề không quá nhỏ.
(c) Nhân mọi với 10.
- .
- , vì lề là với , nên nó co giãn cùng .
- Chặn: , không đổi.
Chặn bất biến với phép co giãn, đúng như mong đợi: nhân toàn bộ dữ liệu với một hằng số chỉ đổi đơn vị đo, không làm bài toán dễ hơn hay khó hơn.
(d) Vì sao không có bảo đảm khi dữ liệu không tách được.
Chứng minh của Novikoff dựa vào sự tồn tại của một vector tách đúng mọi điểm với lề . Khi dữ liệu không tách được, vector đó không tồn tại và lập luận không áp dụng được.
Nhìn từ hàm mất mát (Hình 5): mất mát perceptron bằng 0 với mọi , nên thuật toán ngừng điều chỉnh một điểm ngay khi nó vừa được phân loại đúng, dù nó nằm sát biên. Khi các lớp chồng lấn, sửa một điểm lại làm sai một điểm khác, và quá trình không kết thúc.
Ở Mục 6.2, trên dữ liệu không tách được, perceptron mắc 17 977 lỗi qua 2 000 lượt duyệt và không hội tụ. Mất mát hinge và logistic vẫn dương tại , nên vẫn tiếp tục đẩy các điểm ra xa biên; kết hợp với regularization, chúng cho bài toán lồi có nghiệm xác định kể cả khi dữ liệu không tách được.
Một mô hình phát hiện gian lận cho ma trận nhầm lẫn sau trên 20 000 giao dịch:
Xem lời giải chi tiết
(a) Bốn chỉ số. Từ bảng: , , , ; tổng .
(b) Bộ "luôn đoán bình thường". Nó đúng ở toàn bộ lớp âm và sai ở toàn bộ lớp dương:
(c) Kết luận. Bộ phân loại không phát hiện được ca gian lận nào có độ chính xác 0,9902, cao hơn bộ phân loại ở (a) (0,9900). Chọn mô hình theo độ chính xác sẽ dẫn tới chọn mô hình vô dụng.
Độ chính xác bị chi phối bởi lớp đa số: lớp âm chiếm 99,02% nên luôn đoán lớp âm đã được 99,02%. Mọi cải thiện trên lớp dương chỉ có thể đóng góp tối đa 0,98 điểm phần trăm vào độ chính xác.
Độ chính xác chỉ phù hợp khi các lớp tương đối cân bằng. Ở đây nên dùng precision, recall, hoặc PR-AUC.
(d) Bỏ sót đắt gấp 20 lần báo động nhầm.
Nên hạ ngưỡng. Ngưỡng thấp hơn làm mô hình báo động nhiều hơn: recall tăng, precision giảm, đúng chiều cần thiết khi FN đắt hơn FP.
Thước đo để chọn ngưỡng không nên là , vì coi precision và recall quan trọng như nhau, điều không đúng ở đây. Hai lựa chọn phù hợp:
- với , vì đặt trọng số cho recall gấp lần precision:
- Cực tiểu trực tiếp chi phí kỳ vọng: đặt rồi quét ngưỡng để tìm giá trị nhỏ nhất. Cách này tối ưu đúng đại lượng mà bộ phận rủi ro quan tâm.
Khi biết chi phí thật, cách thứ hai nên được ưu tiên; các thước đo như dùng khi không biết chi phí.
Xét SVM lề cứng trên đúng hai điểm: có nhãn và có nhãn . (a) Dùng tính đối xứng để lập luận rằng , rồi giải bài toán gốc để tìm . (b) Tính độ rộng lề và so sánh với khoảng cách giữa hai điểm. Giải thích kết quả. (c) Tìm , từ và ràng buộc . (d) Tính giá trị bài toán gốc và giá trị bài toán đối ngẫu. Khe đối ngẫu bằng bao nhiêu? (e) Thêm điểm có nhãn . Nghiệm có thay đổi không? Trả lời bằng điều kiện bù.
Xem lời giải chi tiết
(a) Lập luận đối xứng và giải bài toán gốc.
Hai điểm và đối xứng qua gốc toạ độ, và nhãn của chúng đối nhau. Nên siêu phẳng tối ưu phải đi qua trung điểm của chúng, tức qua gốc: .
Cũng theo đối xứng, phải cùng phương với , tức .
Ràng buộc :
- Với : .
- Với : .
Cả hai cho . Ta tối thiểu , nên lấy nhỏ nhất:
(b) Lề. , nên
Khoảng cách giữa hai điểm: .
Hai giá trị bằng nhau. Điều này hợp lý: chỉ có hai điểm, cả hai đều là vector hỗ trợ và nằm đúng trên hai mép lề, siêu phẳng nằm chính giữa chúng, nên độ rộng lề bằng đúng khoảng cách giữa hai điểm.
(c) Nhân tử Lagrange. Từ :
nên . Ràng buộc cho . Giải hệ:
(d) Đối ngẫu mạnh.
Bài toán gốc: .
Bài toán đối ngẫu: với , , và :
Khe đối ngẫu bằng 0, tức đối ngẫu mạnh, đúng như điều kiện Slater bảo đảm.
(e) Thêm điểm nhãn .
Nghiệm không đổi. Kiểm tra ràng buộc của điểm mới với nghiệm cũ:
Ràng buộc thoả nhưng không chặt (bằng 5 chứ không bằng 1). Theo điều kiện bù ở Mục 12.4, ràng buộc không chặt kéo theo , nên không đóng góp vào .
Đây là cơ chế tạo ra tính thưa của SVM, và là lý do ở Mục 13.3 chỉ 3 trên 120 điểm quyết định nghiệm. Thêm bao nhiêu điểm nằm ngoài lề cũng không làm mô hình thay đổi.
Một ma trận hiệp phương sai có các trị riêng . (a) Cần giữ bao nhiêu thành phần chính để giữ được ít nhất 85% phương sai? (b) Với và điểm dữ liệu, sai số tái tạo bằng bao nhiêu? (c) Một người nói: "Giữ 90% phương sai nên mô hình phân loại chỉ kém đi một chút." Dùng kết quả ở Mục 14.4 để phản bác. (d) Nếu đổi đơn vị của một đặc trưng từ mét sang milimét, các trị riêng thay đổi thế nào? Từ đó rút ra điều gì về việc chuẩn hoá trước PCA?
Xem lời giải chi tiết
Trị riêng , tổng .
(a) Số thành phần cho ≥ 85% phương sai.
| Tổng giữ lại | % phương sai | |
|---|---|---|
| 1 | 10 | 50,0% |
| 2 | 15 | 75,0% |
| 3 | 18 | 90,0% |
| 4 | 19,5 | 97,5% |
Cần .
(b) Sai số tái tạo với , . Theo định lý Eckart–Young (Mục 14.3):
(c) Bác bỏ "giữ 90% phương sai nên chỉ kém đi một chút".
Phát biểu này lẫn lộn hai đại lượng khác nhau: phương sai được giữ lại và thông tin phân loại được giữ lại. PCA cực đại đại lượng thứ nhất và không xét đại lượng thứ hai, vì nó không dùng nhãn.
Phản ví dụ ở Mục 14.4: thành phần chính thứ nhất giữ 96,1% phương sai nhưng cho AUC 0,502, ngang đoán ngẫu nhiên. Trên cùng dữ liệu, hướng của LDA cho AUC 0,9987.
Cơ chế: dữ liệu có một hướng nhiễu biên độ lớn, không mang thông tin về lớp, và một hướng tín hiệu biên độ nhỏ. PCA chọn hướng nhiễu vì phương sai của nó lớn hơn, và bỏ đi đúng hướng cần giữ.
Phương sai lớn không có nghĩa là hữu ích cho bài toán. Khi mục tiêu là phân loại và có nhãn, nên thử LDA, hoặc ít nhất đo hiệu năng phân loại sau khi giảm chiều thay vì dựa vào tỉ lệ phương sai.
(d) Đổi đơn vị từ mét sang milimét.
Đặc trưng đó được nhân với 1 000, nên phương sai của nó nhân với . Ma trận hiệp phương sai thay đổi theo, và trị riêng ứng với hướng gần trục của đặc trưng đó tăng lên cỡ lần.
Hệ quả là thành phần chính thứ nhất gần như trùng với đặc trưng đó, bất kể nó có quan trọng hay không. Kết quả PCA khi đó phản ánh việc chọn đơn vị đo nhiều hơn là cấu trúc của dữ liệu.
Vì PCA không bất biến với phép co giãn từng đặc trưng, cần chuẩn hoá trước khi áp dụng khi các đặc trưng có đơn vị khác nhau. Việc này tương đương với làm PCA trên ma trận tương quan thay vì ma trận hiệp phương sai. Ngoại lệ là khi mọi đặc trưng đã cùng đơn vị và thang đo có ý nghĩa, như cường độ điểm ảnh.
Cây quyết định không gặp vấn đề này, vì cây bất biến với mọi phép biến đổi đơn điệu trên từng đặc trưng; xem Chương 3 của Học sâu.
Với mỗi tình huống sau, nêu nguyên nhân có thể và hai việc nên làm: (a) Chạy K-means 5 lần trên cùng dữ liệu, được 5 kết quả khác hẳn nhau. (b) K-means chia đôi một cụm dài và dẹt, trong khi gộp hai cụm tròn nhỏ nằm gần nhau. (c) Inertia giảm đều theo , không thấy khuỷu tay. (d) Một cụm chứa 98% số điểm, bốn cụm còn lại mỗi cụm chỉ có vài điểm.
Xem lời giải chi tiết
(a) Năm lần chạy cho năm kết quả khác hẳn nhau.
Nguyên nhân: mỗi lần chạy dừng ở một cực tiểu địa phương khác nhau. Đây là hành vi bình thường của K-means, không phải lỗi, vì bài toán NP-khó và hàm mục tiêu không lồi. Ở Mục 15.2, khởi tạo ngẫu nhiên cho nghiệm tồi trong 71,5% số lần chạy.
Hai việc nên làm:
- Chạy nhiều lần (10 tới 50) với hạt giống khác nhau rồi giữ kết quả có inertia nhỏ nhất. Trong scikit-learn, đặt tham số
n_inittường minh, vì từ phiên bản 1.4 giá trị mặc định'auto'chỉ chạy một lần với k-means++. - Dùng k-means++ thay cho khởi tạo ngẫu nhiên. Trong thí nghiệm, nó giảm tỉ lệ nghiệm tồi xuống 46,5%.
(b) Chia đôi cụm dài dẹt, gộp hai cụm tròn nhỏ gần nhau.
Nguyên nhân: dữ liệu vi phạm giả định về hình dạng cụm. K-means gán điểm theo khoảng cách Euclid tới tâm, nên biên giữa hai cụm luôn là siêu phẳng, và thuật toán ưu tiên các cụm tròn có kích thước tương đương. Các điểm ở hai đầu một cụm dài có thể gần tâm của cụm bên cạnh hơn tâm của chính cụm đó, nên cụm dài bị chia đôi.
Ở Mục 15.3, trên hai dải dẹt, độ chính xác chỉ đạt 0,5317, gần như đoán ngẫu nhiên.
Hai việc nên làm:
- Dùng mô hình hỗn hợp Gauss, cho phép mỗi cụm có dạng elip với hướng và độ dẹt riêng.
- Dùng DBSCAN hoặc phân cụm phổ, hai phương pháp xử lý được cụm có hình dạng tuỳ ý. DBSCAN còn tự xác định số cụm.
Nếu bắt buộc dùng K-means, có thể biến đổi dữ liệu trước (chuẩn hoá theo từng trục hoặc làm trắng dữ liệu) để các cụm tròn hơn, nhưng cách này chỉ hiệu quả khi mọi cụm dẹt theo cùng một hướng.
(c) Inertia giảm đều, không thấy khuỷu tay.
Nguyên nhân: rất có thể dữ liệu không có cấu trúc cụm rõ ràng. Với dữ liệu phân bố đều hoặc một đám mây Gauss duy nhất, inertia giảm đều theo và không có chỗ gãy, vì không có số cụm nào đúng hơn các số khác.
Cũng có thể cụm tồn tại nhưng chồng lấn nhiều, hoặc số cụm thật lớn hơn khoảng đang quét.
Hai việc nên làm:
- Dùng tiêu chí khác: hệ số silhouette (mức một điểm hợp với cụm của nó hơn cụm gần nhất khác) hoặc gap statistic (so inertia với inertia trên dữ liệu ngẫu nhiên cùng phạm vi). Gap statistic đặc biệt phù hợp ở đây vì phát hiện được trường hợp dữ liệu không có cụm.
- Trực quan hoá bằng PCA hoặc UMAP trước khi phân cụm. Nếu không thấy cụm trên hình chiếu, khả năng thuật toán tìm được cụm có ý nghĩa cũng thấp.
Cũng cần cân nhắc khả năng phân cụm không phải công cụ phù hợp cho bài toán này.
(d) Một cụm chứa 98% số điểm.
Nguyên nhân: thường do thang đo hoặc điểm ngoại lai. Nếu một đặc trưng có độ lớn vượt hẳn các đặc trưng khác, khoảng cách Euclid gần như chỉ phản ánh đặc trưng đó. Vài điểm ngoại lai ở rất xa có thể kéo các tâm cụm về phía chúng, để lại một tâm cho toàn bộ phần dữ liệu còn lại.
Hai việc nên làm:
- Chuẩn hoá đặc trưng về cùng thang đo trước khi phân cụm, theo giả định thứ ba ở Mục 15.3.
- Phát hiện và xử lý điểm ngoại lai trước, hoặc dùng K-medoids, phương pháp chọn tâm là điểm dữ liệu thật nên ít bị điểm ngoại lai ảnh hưởng.
Một hệ thống gợi ý có 1 triệu người dùng và 100 nghìn sản phẩm, dự định dùng phân rã ma trận hạng . (a) Mô hình có bao nhiêu tham số? Con số đó bằng bao nhiêu phần trăm số ô của ma trận đầy đủ? (b) Theo kết quả ở Mục 16.3, lấy mức an toàn là khoảng 5 lần hạng đánh giá mỗi người, thì mỗi người cần khoảng bao nhiêu đánh giá? Tổng cộng cần bao nhiêu đánh giá, bằng bao nhiêu phần trăm số ô? (c) Thực tế trung bình mỗi người chỉ có 30 đánh giá. Dự đoán điều gì sẽ xảy ra, và nêu hai cách xử lý. (d) Yêu cầu sản phẩm là mọi người dùng mới đều nhận được gợi ý ngay từ phiên đầu tiên. Thiết kế phương án dự phòng, và nêu rõ khi nào chuyển sang dùng phân rã ma trận.
Xem lời giải chi tiết
(a) Số tham số.
Số ô của ma trận đầy đủ: .
Mô hình biểu diễn ô bằng 55 triệu số, nén hơn 1 800 lần. Khả năng dự đoán các ô trống đến từ giả thiết hạng thấp, và con số 0,055% cho thấy giả thiết đó mạnh tới mức nào.
(b) Lượng đánh giá cần.
Theo Mục 16.3, lấy mức an toàn khoảng đánh giá mỗi người:
Tổng cộng: triệu đánh giá, bằng
(c) Thực tế chỉ có 30 đánh giá mỗi người.
30 so với 250 là thiếu hơn 8 lần. Trong bảng ở Mục 16.3, với khoảng 10 đánh giá mỗi người và , RMSE còn tệ hơn đoán mọi ô bằng 0; tỉ lệ đánh giá trên mỗi nhân tố ẩn ở đây là , còn thấp hơn tỉ lệ của trường hợp đó.
Dự đoán: mô hình sẽ khớp rất tốt các ô đã quan sát nhưng dự đoán các ô chưa quan sát còn kém hơn đoán điểm trung bình. Đây là overfitting nghiêm trọng, và không phát hiện được nếu chỉ nhìn sai số huấn luyện.
Hai cách xử lý:
- Giảm mạnh. Với 30 đánh giá mỗi người, mức cho . Bảng ở Mục 16.4 cho thấy chọn quá lớn làm RMSE trên ô chưa quan sát tăng: ở , sai số lớn gấp 4,3 lần so với hạng đúng.
- Tăng hệ số regularization , và chọn nó bằng cách đánh giá trên các ô được giữ lại, không phải trên các ô dùng để huấn luyện. Regularization mạnh làm mô hình hạng 50 hoạt động gần giống một mô hình hạng thấp hơn.
Một cách thứ ba là bổ sung đặc trưng phụ (thể loại, thông tin nhân khẩu học), tức chuyển sang mô hình lai. Đặc trưng phụ không phải ước lượng từ dữ liệu đánh giá nên không tiêu tốn 30 đánh giá ít ỏi của mỗi người.
(d) Người dùng mới phải nhận gợi ý ngay từ phiên đầu.
Phân rã ma trận không làm được việc này. Như ở Mục 16.5, với người dùng chưa có đánh giá, hàm mất mát chỉ còn , nên về 0 và mô hình dự đoán gần 0 cho mọi sản phẩm: RMSE 2,24, tệ hơn đoán mọi ô bằng 0 (2,08).
Thiết kế phương án dự phòng theo ba tầng:
| Tầng | Điều kiện | Cách gợi ý |
|---|---|---|
| 0 | 0 tương tác | Sản phẩm phổ biến, lọc theo ngữ cảnh có sẵn (quốc gia, thiết bị, thời điểm), kèm một tỉ lệ nhỏ gợi ý ngẫu nhiên để thu thập tín hiệu. |
| 1 | 1 tới 30 tương tác | Lọc dựa trên nội dung: khớp đặc trưng sản phẩm với hồ sơ suy ra từ vài tương tác đầu. |
| 2 | trên 30 tương tác | Phân rã ma trận, hoặc mô hình lai kết hợp cả hai nguồn. |
Khi nào chuyển tầng. Ngưỡng nên được đo chứ không chọn theo cảm tính: với những người dùng đã có nhiều dữ liệu, cắt lịch sử của họ xuống tương tác rồi đo hiệu năng của cả hai phương pháp theo . Ngưỡng chuyển là điểm mà phân rã ma trận bắt đầu vượt lọc dựa trên nội dung. Mức chỉ là điểm xuất phát để tìm ngưỡng đó.
Hai điều cần thiết kế ngay từ đầu:
- Hỏi sở thích khi đăng ký. Cho người dùng mới chọn vài thể loại là cách rẻ nhất để chuyển ngay từ tầng 0 lên tầng 1.
- Dành một tỉ lệ nhỏ gợi ý cho thăm dò ngẫu nhiên. Nếu hệ thống chỉ gợi ý những gì nó đã biết, nó chỉ nhận phản hồi về những thứ đó. Mục 12.3 của MLOps mô phỏng hiện tượng này: không có thăm dò ngẫu nhiên, hệ thống chỉ quan sát được 9,5% danh mục. Đây là quyết định kiến trúc, cần có từ đầu.
Trắc nghiệm theo chương#
67 câu bám sát nội dung và số liệu của từng chương. Đáp án được xáo lại mỗi lần tải trang.
Chương 1 — Tổng quan về học máy
3 câu
1Ba thành phần của mọi thuật toán học có giám sát là gì?
Vì sao: Thay đổi một thành phần là được một thuật toán khác. Chương 6 cho thấy perceptron, hồi quy logistic và SVM dùng chung mô hình tuyến tính và chung cách tối ưu; chúng chỉ khác nhau ở hàm mất mát.2Yếu tố nào nên xét trước khi chọn thuật toán?
Vì sao: Tỉ lệ quyết định mô hình được phép linh hoạt tới đâu. Mục tiêu dự đoán và mục tiêu giải thích có thể dẫn tới lựa chọn khác nhau; Mục 4.4 cho một ví dụ đo được.3Tập kiểm tra nên được dùng thế nào?
Vì sao: Nếu tập kiểm tra được dùng nhiều lần để chọn mô hình, nó trở thành một tập xác thực thứ hai và con số báo cáo sẽ lạc quan hơn thực tế.
Đã trả lời 0/3
Chương 2 — Đại số tuyến tính
4 câu
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
Chương 3 — Xác suất và thống kê
4 câu
1Phát biểu nào đúng?
Vì sao: Khi có tương quan, . Hệ quả ở Ví dụ 3.1: trung bình nhiều mô hình có tương quan không giảm phương sai xuống dưới .2Ép ma trận hiệp phương sai của mỗi lớp thành ma trận đường chéo tương đương với giả thiết nào?
Vì sao: Mục 7.4 kiểm chứng bằng số: với đặc trưng Gauss, Naive Bayes, LDA và QDA là cùng một bộ phân loại, chỉ khác ràng buộc trên .3Bệnh có tỉ lệ mắc 1%, xét nghiệm dương tính với 99% người bệnh và dương tính nhầm với 5% người khoẻ. Một người có kết quả dương tính. Xác suất người đó mắc bệnh khoảng bao nhiêu?
Vì sao: Theo định lý Bayes: . Người khoẻ đông gấp 99 lần nên 5% dương tính nhầm của họ nhiều hơn số người bệnh được phát hiện.4Vì sao ước lượng phương sai mẫu chia cho thay vì ?
Vì sao: Các điểm luôn gần trung bình mẫu hơn so với gần trung bình thật, vì được tính từ chính các điểm đó.
Đã trả lời 0/4
Chương 4 — Hồi quy tuyến tính
4 câu
1Khi nào phương trình chuẩn không có nghiệm duy nhất?
Vì sao: Trường hợp hay gặp: mã hoá one-hot đủ giá trị trong khi vẫn giữ cột hằng số, vì tổng cột one-hot bằng đúng cột hằng số.2Khi suy biến, bài toán bình phương tối thiểu có đặc điểm gì?
Vì sao: Ở Mục 4.3, hai vector trọng số có chuẩn 3,8176 và 4,0711 cho cùng một dự đoán. Nghiệm chuẩn nhỏ nhất của giả nghịch đảo là giới hạn của nghiệm ridge khi .3Đa cộng tuyến ảnh hưởng chủ yếu tới điều gì?
Vì sao: Ở Mục 4.4, khi tương quan tăng từ 0 lên 0,999, độ lệch chuẩn của tăng khoảng 25 lần (0,0324 lên 0,8196) trong khi độ lệch chuẩn của dự đoán gần như không đổi. Lý thuyết dự đoán mức tăng .4Trong hồi quy tuyến tính có hệ số chặn, tổng các phần dư trên tập huấn luyện bằng bao nhiêu?
Vì sao: Phương trình chuẩn nói . Hàng ứng với cột hằng số của gồm toàn số 1, nên .
Đã trả lời 0/4
Chương 5 — Gradient descent
5 câu
1Tốc độ hội tụ của gradient descent trên hàm bậc hai phụ thuộc vào điều gì?
Vì sao: Ở Mục 5.3, khi tăng từ 1 lên 10 000, số vòng lặp tăng từ 1 lên 92 104, khớp với ước lượng . Số chiều ảnh hưởng tới chi phí mỗi vòng lặp, không ảnh hưởng tới số vòng lặp.2Momentum (heavy ball) thay đổi bậc của số vòng lặp thế nào?
Vì sao: Ở , gradient descent cần 92 104 vòng lặp, có momentum chỉ cần 1 297. Lợi ích càng lớn khi càng lớn.3Bước tiền xử lý đơn giản nào giúp gradient descent nhanh hơn nhiều nhất?
Vì sao: Nếu một đặc trưng có độ lớn cỡ và một đặc trưng khác cỡ , các trị riêng của chênh nhau rất nhiều bậc. Chuẩn hoá đưa chúng về cùng cỡ.4Với , gradient descent hội tụ khi tốc độ học nằm trong khoảng nào?
Vì sao: Mỗi bước nhân khoảng cách tới cực tiểu với , nên cần . Tổng quát, với hàm bậc hai cần ; ở đây .5Khi kiểm tra gradient bằng sai phân trung tâm, nên chọn thế nào?
Vì sao: Sai số cắt cụt tỉ lệ , sai số làm tròn tỉ lệ . Thí nghiệm đo được điểm tối ưu , khớp lý thuyết ; với sai số lớn hơn khoảng lần.
Đã trả lời 0/5
Chương 6 — Phân loại tuyến tính
5 câu
1Perceptron, hồi quy logistic và SVM khác nhau ở đâu?
Vì sao: Mất mát 0–1 không tối ưu được bằng gradient, nên cả ba dùng hàm thay thế lồi. Hinge và logistic (theo logarit cơ số 2) còn là chặn trên của mất mát 0–1; mất mát perceptron thì không, vì nó bằng 0 tại .2Vì sao perceptron không hội tụ trên dữ liệu không tách được?
Vì sao: Ở Mục 6.2, trên dữ liệu không tách được, perceptron mắc 17 977 lỗi qua 2 000 lượt duyệt mà không dừng. Định lý Novikoff chỉ áp dụng cho dữ liệu tách được.3Hồi quy logistic và hồi quy softmax với quan hệ thế nào?
Vì sao: Ở Mục 6.4, khớp cả hai mô hình tới hội tụ, xác suất lệch nhau và trọng số lệch nhau , tức trùng nhau tới sai số làm tròn.4Vì sao hồi quy logistic thường cần regularization?
Vì sao: Ở Mục 6.5, không có regularization thì tăng từ 10,2 lên 34,8 khi số vòng lặp tăng từ 500 lên 50 000; với , đứng yên ở 3,993.5Gradient của cross-entropy trong hồi quy logistic có dạng nào?
Vì sao: Nhờ , các thừa số rút gọn còn cho mỗi điểm. Dạng này giống gradient của hồi quy tuyến tính vì cả hai là mô hình tuyến tính tổng quát với hàm liên kết chính tắc.
Đã trả lời 0/5
Chương 7 — k láng giềng gần nhất và Naive Bayes
5 câu
1Lời nguyền số chiều ảnh hưởng tới k-NN thế nào?
Vì sao: Cạnh cần thiết là . Vì vậy k-NN chỉ hiệu quả ở số chiều thấp, sau khi giảm chiều, hoặc trong không gian embedding đã được học.2Naive Bayes Gauss, LDA và QDA khác nhau ở đâu?
Vì sao: Naive Bayes Gauss dùng ma trận đường chéo riêng cho từng lớp; LDA dùng một ma trận đầy đủ chung; QDA dùng ma trận đầy đủ riêng cho từng lớp.3Vì sao biên quyết định của LDA là tuyến tính còn của QDA là bậc hai?
Vì sao: Ở Mục 7.4, khớp hàm quyết định của LDA bằng hàm tuyến tính cho sai số ; với QDA sai số là 17,8.4Vì sao Naive Bayes vẫn phân loại tốt dù giả thiết độc lập có điều kiện hiếm khi đúng?
Vì sao: Hệ quả là xác suất do Naive Bayes đưa ra thường bị đẩy về gần 0 hoặc 1 quá mức, nên không nên dùng như xác suất đã hiệu chuẩn.5Làm trơn Laplace giải quyết vấn đề gì trong Naive Bayes?
Vì sao: Không làm trơn, một từ chưa từng xuất hiện trong thư rác sẽ làm mọi thư chứa từ đó có xác suất là rác bằng đúng 0. Làm trơn Laplace tương ứng với ước lượng MAP khi tiên nghiệm là Dirichlet.
Đã trả lời 0/5
Chương 8 — Đánh giá mô hình phân loại
5 câu
1Trên dữ liệu có 0,98% lớp dương, bộ phân loại luôn đoán lớp âm có độ chính xác bao nhiêu?
Vì sao: Chọn mô hình theo độ chính xác trên dữ liệu mất cân bằng dẫn tới chọn mô hình vô dụng. Nên dùng precision, recall, F1 hoặc PR-AUC.2Vì sao ROC-AUC có thể rất cao trên dữ liệu mất cân bằng dù phần lớn cảnh báo là sai?
Vì sao: Ở Mục 8.3, cùng mô hình và dữ liệu cho ROC-AUC 0,9715 nhưng PR-AUC chỉ 0,4931. Precision có mẫu số là số điểm được báo dương nên nhạy với dương giả.3PR-AUC của bộ phân loại đoán ngẫu nhiên bằng bao nhiêu?
Vì sao: ROC-AUC của bộ đoán ngẫu nhiên luôn là 0,5. Vì vậy PR-AUC 0,4931 cần so với mốc 0,0100 chứ không so với 0,5.4Lỗi nào làm kết quả đánh giá tốt lên một cách giả tạo?
Vì sao: Trung bình và độ lệch chuẩn tính trên cả dữ liệu chứa thông tin của tập kiểm tra. Mọi bước tiền xử lý có tham số chỉ được khớp trên tập huấn luyện.5Với bài toán phân loại đơn nhãn nhiều lớp, micro-F1 bằng đại lượng nào?
Vì sao: Mỗi dự đoán sai vừa là một dương giả của lớp được dự đoán vừa là một âm giả của lớp thật, nên tổng FP bằng tổng FN và micro-precision bằng micro-recall bằng độ chính xác.
Đã trả lời 0/5
Chương 9 — Overfitting và regularization
4 câu
1Dấu hiệu nào cho thấy mô hình bị overfitting?
Vì sao: Sai số huấn luyện và xác thực cùng lớn là dấu hiệu underfitting. Overfitting tương ứng với phương sai cao: mô hình khớp cả nhiễu của tập huấn luyện.2Hồi quy ridge co các hướng riêng như thế nào?
Vì sao: Ở Mục 9.3 với , hướng có giữ lại 0,938, hướng có giữ lại 0,792. Hướng có giá trị suy biến nhỏ là hướng ước lượng kém tin cậy nhất, nên ridge xử lý được đa cộng tuyến.3Khi các cột của trực chuẩn, lasso làm gì với nghiệm bình phương tối thiểu ?
Vì sao: Nghiệm là với quy ước . Ridge thì nhân với nên không bao giờ cho hệ số bằng 0.4Lỗi nghiêm trọng nhất khi dùng cross-validation là gì?
Vì sao: Cấu hình được chọn là cấu hình tốt nhất trên chính các phần dữ liệu đó, nên con số báo cáo lạc quan một cách có hệ thống. Cách đúng là cross-validation lồng nhau, hoặc giữ riêng một tập kiểm tra chỉ dùng một lần.
Đã trả lời 0/4
Chương 10 — Ước lượng hợp lý cực đại và hậu nghiệm cực đại
4 câu
1Bình phương sai số trong hồi quy tuyến tính có nguồn gốc từ đâu?
Vì sao: Nếu nhiễu có đuôi dày hơn Gauss, giả thiết nhiễu Laplace cho ra hồi quy trị tuyệt đối, ít nhạy với điểm ngoại lai hơn. Đổi giả thiết về nhiễu là đổi hàm mất mát.2Quan hệ giữa hồi quy ridge và ước lượng MAP là gì?
Vì sao: Ở Mục 10.4, nghiệm ridge dạng đóng và nghiệm MAP tìm bằng BFGS, hai cách tính độc lập, lệch nhau , trong phạm vi dung sai của thuật toán tối ưu.3Tiên nghiệm càng chặt ( càng nhỏ) thì thay đổi thế nào?
Vì sao: Tin chắc rằng hệ số gần 0 thì cần bằng chứng mạnh hơn từ dữ liệu mới kéo được hệ số ra xa, và đó đúng là ý nghĩa của regularization mạnh.4Ước lượng MAP có phải là suy luận Bayes đầy đủ không?
Vì sao: Suy luận Bayes đầy đủ giữ toàn bộ phân phối hậu nghiệm và lấy trung bình dự đoán trên đó. Khi hậu nghiệm lệch hoặc có nhiều đỉnh, điểm đỉnh có thể không đại diện cho phân phối.
Đã trả lời 0/4
Chương 11 — Tập lồi và hàm lồi
3 câu
1Vì sao tính lồi quan trọng trong tối ưu?
Vì sao: Ở Mục 11.6, gradient descent từ 21 điểm xuất phát cho một điểm dừng với hàm lồi, nhưng cho hai điểm dừng có giá trị và với hàm . Lưu ý hàm lồi không nhất thiết có cực tiểu, ví dụ .2Phép toán nào không bảo toàn tính lồi?
Vì sao: Phép max giải thích vì sao mất mát hinge lồi. Min của hai parabol có đỉnh khác nhau có thể có hai đáy, nên không lồi.3Kiểm tra tính lồi bằng cách thử bất đẳng thức định nghĩa trên nhiều bộ điểm ngẫu nhiên cho phép kết luận gì?
Vì sao: Không có vi phạm trên 20 000 bộ không loại trừ một vùng lõm hẹp chưa được lấy mẫu. Với hàm mất mát tự viết, đây vẫn là cách rẻ để phát hiện lỗi.
Đã trả lời 0/3
Chương 12 — Tối ưu lồi và đối ngẫu Lagrange
4 câu
1Điều kiện bù trong KKT phát biểu điều gì?
Vì sao: Điều kiện này sinh ra khái niệm vector hỗ trợ trong SVM: chỉ những điểm có ràng buộc chặt mới có và mới ảnh hưởng tới nghiệm.2Hàm đối ngẫu có tính chất gì?
Vì sao: Với mỗi , hàm Lagrange là hàm affine theo , và cận dưới đúng của một họ hàm affine là hàm lõm. Mỗi giá trị của là một chặn dưới của giá trị tối ưu.3Với bài toán cực tiểu với ràng buộc , nhân tử Lagrange tối ưu bằng bao nhiêu?
Vì sao: Điều kiện dừng và ràng buộc chặt cho . Hàm đối ngẫu đạt cực đại 1 tại , bằng giá trị tối ưu của bài toán gốc.4Vì sao SVM được giải qua bài toán đối ngẫu?
Vì sao: Hai lý do phụ: bài toán đối ngẫu có biến thay vì biến, và giá trị đối ngẫu cho chặn dưới để biết nghiệm hiện tại còn cách tối ưu bao xa.
Đã trả lời 0/4
Chương 13 — Máy vector hỗ trợ
6 câu
1SVM chọn siêu phẳng nào trong các siêu phẳng tách đúng dữ liệu?
Vì sao: Cực đại độ rộng lề tương đương cực tiểu với các ràng buộc , một bài toán quy hoạch toàn phương lồi.2Trong thí nghiệm ở Mục 13.3, có bao nhiêu vector hỗ trợ?
Vì sao: Tính thưa này là hệ quả của điều kiện bù: điểm nằm ngoài lề có và không đóng góp vào .3Điều kiện KKT chia các điểm trong SVM lề mềm thành những nhóm nào?
Vì sao: Ở Mục 13.4, với cả 114 vector hỗ trợ đều thuộc nhóm vi phạm lề và không điểm nào nằm đúng trên lề.4SVM lề mềm tương đương với bài toán nào?
Vì sao: Tại nghiệm, biến bù , đúng bằng mất mát hinge. Tham số đóng vai trò nghịch đảo của hệ số regularization.5Thủ thuật kernel cho phép làm gì?
Vì sao: Với kernel RBF, không gian đặc trưng có vô hạn chiều nhưng mỗi lần tính kernel chỉ tốn . Ở Mục 13.5, trên dữ liệu hai đường tròn đồng tâm, kernel tuyến tính đạt 0,615, còn kernel đa thức bậc 2 và RBF đều đạt 1,000.6Vì sao SVM với kernel ít được dùng cho dữ liệu rất lớn?
Vì sao: Mỗi epoch của SGD trên mạng nơ-ron chỉ tốn chi phí tuyến tính theo . SVM vẫn phù hợp khi vừa phải và lớn, như văn bản biểu diễn bằng TF-IDF.
Đã trả lời 0/6
Chương 14 — Giảm chiều dữ liệu
4 câu
1Định lý Eckart–Young phát biểu điều gì?
2Khi nào PCA không phù hợp làm bước tiền xử lý cho phân loại?
Vì sao: Ở Mục 14.4, thành phần chính thứ nhất giữ 96,1% phương sai nhưng cho AUC 0,502, trong khi hướng của LDA cho AUC 0,9987.3LDA cho tối đa bao nhiêu chiều?
Vì sao: Với hai lớp, LDA cho đúng một chiều, theo hướng .4Vì sao thường phải chuẩn hoá đặc trưng trước PCA?
Vì sao: Chuẩn hoá mỗi đặc trưng về phương sai 1 tương đương với làm PCA trên ma trận tương quan. Ngoại lệ là khi mọi đặc trưng đã cùng đơn vị, như cường độ điểm ảnh.
Đã trả lời 0/4
Chương 15 — Phân cụm K-means
4 câu
1Thuật toán K-means (Lloyd) bảo đảm điều gì?
Vì sao: Cả bước gán và bước cập nhật đều không làm tăng hàm mục tiêu, và số cách chia là hữu hạn, nên thuật toán chắc chắn dừng; điểm dừng phụ thuộc vào khởi tạo.2Trong thí nghiệm ở Mục 15.2, k-means++ cải thiện được bao nhiêu?
Vì sao: Vẫn cần chạy nhiều lần và giữ kết quả có inertia nhỏ nhất. Trong scikit-learn từ phiên bản 1.4,KMeansmặc địnhn_init='auto', tức chỉ chạy một lần với k-means++, nên cần đặtn_inittường minh.3Các giả định ngầm của K-means là gì?
Vì sao: Vì mỗi điểm được gán cho tâm gần nhất theo khoảng cách Euclid, biên giữa hai cụm luôn là một siêu phẳng. Ở Mục 15.3: ba cụm tròn đạt độ chính xác 100%, hai hình lưỡi liềm 75%, hai dải dẹt 53%.4Vì sao không chọn số cụm bằng cách cực tiểu inertia?
Vì sao: Phương pháp elbow tìm chỗ inertia ngừng giảm nhanh: trên dữ liệu 8 cụm, mức giảm là 27,7% khi lên và 5,4% khi lên . Trên dữ liệu thật, có thể dùng thêm hệ số silhouette hoặc gap statistic.
Đã trả lời 0/4
Chương 16 — Hệ thống gợi ý
3 câu
1Phân rã ma trận cần bao nhiêu đánh giá mỗi người dùng?
Vì sao: Ở Mục 16.3, với 10,1 đánh giá mỗi người, RMSE là 3,54, tệ hơn đoán mọi ô bằng 0 (2,08); với 19,8 đánh giá mỗi người, RMSE giảm xuống 0,30.2Chọn hạng lớn hơn hạng thật thì điều gì xảy ra?
Vì sao: Ở Mục 16.4, RMSE trên ô chưa quan sát nhỏ nhất tại (0,1448) và tăng lên 0,6291 tại , trong khi RMSE trên ô đã quan sát giảm đều xuống 0,1903.3Vì sao phân rã ma trận không dự đoán được cho người dùng mới?
Vì sao: Ở Mục 16.5, chuẩn trung bình của vector người dùng mới là 0,154 so với 2,084 của người dùng cũ, và RMSE cho họ là 2,24, tệ hơn đoán mọi ô bằng 0 (2,08). Hệ thống thực tế cần kết hợp thêm lọc dựa trên nội dung.
Đã trả lời 0/3