Overfitting và Underfitting: học "quá kỹ" hay học "chưa tới"
🎯 Mục tiêu học (LO AI-6.1.8 · mức K2 – Hiểu): giải thích cách phát hiện overfitting và underfitting bằng test.
💡 Ý cốt lõi: model ML có 3 khả năng: overfit, underfit, hoặc "right-fit" (khớp vừa đủ) — test cho cả hai lỗi cần thực hiện xuyên suốt huấn luyện, đánh giá, và tinh chỉnh.
Overfitting vs Underfitting
| Overfitting | Underfitting | |
|---|---|---|
| Nguyên nhân | Model học dữ liệu huấn luyện quá kỹ — bắt luôn cả nhiễu (noise) thay vì chỉ học mẫu hình cốt lõi. | Model quá đơn giản để nắm bắt cấu trúc dữ liệu, hoặc dữ liệu huấn luyện thiếu đặc trưng phản ánh mối quan hệ quan trọng giữa input và output. |
| Hệ quả | Khái quát hóa kém trên dữ liệu mới, chưa từng thấy. | Hiệu năng chức năng ML kém trên CẢ tập huấn luyện lẫn tập validation. |
| Cách phát hiện qua test | Đánh giá hiệu năng model trên tập test riêng biệt (không dùng lúc huấn luyện), nên có một số ví dụ ít gặp/khó xuất hiện trong huấn luyện. Model có thể đang overfit nếu hiệu năng trên tập test kém hơn đáng kể so với tập validation. | Đánh giá các thước đo hiệu năng (accuracy, precision, recall, F1) — nếu các chỉ số này thấp một cách nhất quán trên CẢ tập huấn luyện và validation, đó là dấu hiệu underfit. Quan sát trực quan learning curve: nếu lỗi huấn luyện & validation đều cao và gần nhau, không cải thiện đáng kể theo thời gian huấn luyện, đó cũng là dấu hiệu underfit. |
Tóm lại, phát hiện overfitting/underfitting trong lúc test gồm 3 việc: đánh giá hiệu năng chức năng ML trên dữ liệu validation, phân tích các thước đo hiệu năng, và xem xét learning curve.
📝 Bẫy hay gặp
Đề hay cho một phát biểu nghe hợp lý nhưng sai — nhớ mấy chỗ gài sau:
- "Overfitting và underfitting là hai tên gọi khác nhau cho cùng một vấn đề" → SAI: là hai vấn đề đối lập — cùng với "right- fitting" tạo thành 3 kết quả có thể xảy ra.
- "Underfitting chỉ thể hiện qua hiệu năng kém trên tập validation" → SAI: underfitting thể hiện hiệu năng kém trên cả tập huấn luyện lẫn validation.
- "Model overfit sẽ có hiệu năng kém ngay cả trên tập huấn luyện" → SAI: model overfit thường có hiệu năng tốt trên tập huấn luyện nhưng kém trên dữ liệu mới chưa từng thấy.
📌 Ghi nhớ
Overfit = học quá kỹ, kém trên dữ liệu mới · Underfit = học chưa tới, kém trên cả 2 tập
Với tester: luôn so sánh hiệu năng trên 3 tập (huấn luyện, validation, test) thay vì chỉ nhìn một con số — chênh lệch giữa chúng chính là manh mối để phân biệt overfit hay underfit.
📖 Thuật ngữ Anh–Việt (mục này)
Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.
| Thuật ngữ (EN) | Nghĩa & ghi nhớ nhanh |
|---|---|
| Overfitting | Quá khớp — model học thuộc dữ liệu huấn luyện, kém khái quát hóa |
| Underfitting | Chưa khớp — model quá đơn giản, học chưa đủ mẫu hình |
| Right-fitting | Khớp vừa đủ — kết quả lý tưởng |
| Generalization | Khả năng khái quát hóa trên dữ liệu mới |
| Training dataset | Tập dữ liệu huấn luyện |
| Validation dataset | Tập dữ liệu kiểm định |
| Test dataset | Tập dữ liệu kiểm thử |
| Learning curve | Đường cong học tập — biểu diễn lỗi theo quá trình huấn luyện |
🎯 Câu hỏi minh họa (phong cách đề CT-AI · K2)
A model shows consistently low accuracy, precision, and recall on BOTH the training and validation datasets, and its learning curves show high, closely matched errors with little improvement over time. What does this indicate?
- a) Overfitting.
- b) Underfitting.
- c) Data drift.
- d) Adversarial vulnerability.
Xem bản dịch tiếng Việt
Một model có accuracy, precision, recall thấp một cách nhất quán trên CẢ tập huấn luyện và validation, và learning curve cho thấy lỗi cao, gần nhau, ít cải thiện theo thời gian. Điều này cho thấy điều gì?
a) Overfitting.
b) Underfitting.
c) Data drift.
d) Dễ bị tấn công adversarial.
Xem đáp án & giải thích
✅ Đáp án đúng: b — hiệu năng thấp nhất quán trên cả hai tập cộng với learning curve như mô tả là dấu hiệu điển hình của underfitting.
a sai — overfitting thường có hiệu năng tốt trên tập huấn luyện nhưng kém trên dữ liệu mới, không phải kém trên cả hai tập.
c sai — data drift liên quan thay đổi dữ liệu vận hành theo thời gian, không liên quan learning curve lúc huấn luyện.
d sai — không liên quan đến input bị chỉnh sửa có chủ đích.
Đề để tiếng Anh cho sát đề thi thật; phần giải thích để tiếng Việt cho dễ hiểu. Câu hỏi do maiqai.com tự soạn theo phong cách đề.
📎 Nguồn: Chương 6 – Kiểm thử mô hình cho hệ thống ML, mục 6.1.8 "Testing for Overfitting and Underfitting", trang 60–61 — ISTQB® Certified Tester AI Testing Syllabus v2.0 (© International Software Testing Qualifications Board). Nội dung biên soạn/dịch ý lại bằng tiếng Việt, không sao chép nguyên văn.