Data LMS

← Tất cả các tuần · Phase 5: Dự báo · khoảng 240 phút

Tuần 12: Nguyên lý machine learning

Bản nháp, đang chờ duyệt nội dung

Sau tuần này bạn có thể:
Video tóm tắt Tuần 12 · Video · Tiếng Việt

Video sắp có.

Podcast Tuần 12 · Audio · Tiếng Việt

Audio tóm tắt tuần (NotebookLM) sắp có.

Phase 5 là dự báo. Mục tiêu không phải để bạn tự xây model phức tạp, mà để bạn đánh giá được một model người khác đưa ra: nó có thật sự tốt không, có đáng tin không, có bị “ăn gian” không. Code model ở phase này phần lớn là code mẫu; phần quan trọng là cách đọc kết quả.

Bài 12.1. Supervised và unsupervised [5]

Bài 12.2. Train/test và baseline [7]

Model nào cũng đoán tốt trên dữ liệu nó đã thấy. Câu hỏi thật là: nó đoán tốt trên dữ liệu mới không? Vì vậy ta chia dữ liệu:

Baseline là cách đoán ngây thơ nhất: luôn đoán lớp phổ biến nhất, luôn đoán giá trị trung bình, luôn đoán “tháng sau bằng tháng này”. Model chỉ có giá trị khi thắng được baseline, và thắng đủ nhiều để đáng chi phí xây dựng và vận hành.

Ý chính bắt buộc: model phải thắng được cách đoán ngây thơ (baseline) trên dữ liệu test thì mới có giá trị. Accuracy 90% nghe cao, nhưng nếu baseline đã đạt 89% thì model gần như vô dụng.

Dữ liệu Iris (có sẵn trong scikit-learn): 150 bông hoa thuộc 3 loài, mỗi bông đo 4 chỉ số (dài và rộng của đài hoa, cánh hoa). Bài toán: từ 4 chỉ số, đoán loài.

Iris: train/test, baseline và decision tree

Bài 12.3. Overfitting [7]

Overfitting (quá khớp): model học thuộc dữ liệu train, kể cả phần nhiễu ngẫu nhiên, nên đoán train rất giỏi nhưng đoán dữ liệu mới kém. Giống học sinh học thuộc đáp án đề cũ: đề cũ được 10 điểm, đề mới thì không.

Dấu hiệu: điểm train rất cao, điểm test thấp hơn hẳn. Cách giảm: model đơn giản hơn (ví dụ giới hạn độ sâu của cây), nhiều dữ liệu hơn, ít feature hơn.

Ý chính bắt buộc: dấu hiệu overfitting là điểm train cao, điểm test thấp; model học thuộc noise. Luôn so điểm train với điểm test.

Dữ liệu Wine Quality (rượu vang đỏ, 1.599 mẫu): 11 chỉ số hoá học và điểm chất lượng từ chuyên gia (thang 0–10). Bài toán: đoán điểm chất lượng. Đo sai số bằng MAE (mean absolute error: trung bình độ lệch tuyệt đối giữa dự đoán và thực tế).

Cây không giới hạn và cây độ sâu 3

Lưu ý: cây không giới hạn ở đây vẫn có MAE test hơi thấp hơn cây độ sâu 3. Overfitting không có nghĩa model vô dụng, mà nghĩa là điểm train đánh lừa: nếu chỉ báo điểm train (MAE ≈ 0), bạn sẽ hứa hẹn một model hoàn hảo, trong khi thực tế sai khoảng 0,5 điểm.

Bài 12.4. Data leakage [6]

Data leakage (rò rỉ dữ liệu): model dùng một feature chứa thông tin mà tại thời điểm cần dự báo chưa thể có. Kết quả test đẹp bất thường, nhưng khi đưa vào dùng thật thì sụp đổ.

Ví dụ: dự đoán khách sẽ huỷ hợp đồng (churn) với feature “ngày huỷ hợp đồng”. Chỉ khách đã huỷ mới có ngày huỷ, nên model đoán đúng gần 100%. Nhưng lúc cần dự đoán (trước khi khách huỷ), feature này chưa tồn tại.

Dấu hiệu nghi ngờ: kết quả tốt bất thường; một feature quá quan trọng; feature được ghi nhận sau sự kiện cần dự đoán. Hỏi với mỗi feature: “lúc ra quyết định, mình đã biết giá trị này chưa?”

Mô phỏng: feature rò rỉ trong bài churn
Câu hỏi nhanh
1. Model đạt accuracy 95% trên train và 70% trên test. Đây là dấu hiệu gì?
2. Chia khách hàng thành các nhóm hành vi mà không có nhãn sẵn là loại bài toán gì?
3. Model dự đoán khách có trả nợ đúng hạn dùng feature 'số ngày quá hạn của khoản vay này'. Vấn đề là gì?

Luyện tập tình huống

Tình huống: model churn đạt 98%

Bối cảnh. Một vendor trình bày model dự đoán khách huỷ hợp đồng, đạt accuracy 98% trên dữ liệu test. Khi hỏi, bạn biết model dùng 15 feature, trong đó feature quan trọng nhất là 'ngày huỷ hợp đồng'. Tỷ lệ khách huỷ thực tế khoảng 25%.

Câu hỏi. Bạn có đồng ý mua model này không? Vì sao, và bạn yêu cầu vendor làm gì?

Câu trả lời đã nộp sẽ được khoá lại, không sửa được.

Tóm tắt tuần