Series: Machine Learning Fundamentals – Bài 14
Sau khi xây dựng và đánh giá một mô hình Machine Learning, câu hỏi tiếp theo là:
Tại sao mô hình đạt kết quả rất tốt trên dữ liệu huấn luyện nhưng lại dự đoán kém trên dữ liệu mới?
Hoặc ngược lại:
Tại sao mô hình dự đoán kém ngay cả trên dữ liệu huấn luyện?
Đây là hai vấn đề phổ biến nhất trong Machine Learning và được gọi là Overfitting và Underfitting.
Hiểu đúng hai khái niệm này là bước quan trọng để xây dựng những mô hình có khả năng dự đoán tốt trong thực tế.
Overfitting là gì?
Overfitting xảy ra khi mô hình học quá kỹ dữ liệu huấn luyện.
Nó không chỉ học các quy luật quan trọng mà còn ghi nhớ cả:
- Nhiễu (Noise).
- Giá trị ngoại lai (Outliers).
- Những đặc điểm chỉ xuất hiện trong tập huấn luyện.
Kết quả là:
- Độ chính xác trên Training Set rất cao.
- Độ chính xác trên Test Set lại giảm đáng kể.
Có thể hiểu đơn giản:
Mô hình nhớ dữ liệu thay vì học quy luật.
Underfitting là gì?
Ngược lại, Underfitting xảy ra khi mô hình quá đơn giản.
Mô hình không học được mối quan hệ giữa các biến trong dữ liệu.
Điều này dẫn đến:
- Hiệu quả thấp trên Training Set.
- Hiệu quả cũng thấp trên Test Set.
Nói cách khác:
Mô hình học chưa đủ để giải quyết bài toán.
So sánh trực quan
| Overfitting | Underfitting |
|---|---|
| Học quá nhiều | Học quá ít |
| Training Accuracy rất cao | Training Accuracy thấp |
| Test Accuracy thấp | Test Accuracy thấp |
| Ghi nhớ dữ liệu | Bỏ sót quy luật |
| Mô hình quá phức tạp | Mô hình quá đơn giản |
Vì sao Overfitting xảy ra?
Một số nguyên nhân phổ biến gồm:
- Mô hình có quá nhiều tham số.
- Dữ liệu huấn luyện quá ít.
- Huấn luyện quá nhiều epoch.
- Không có kỹ thuật Regularization.
- Dữ liệu chứa nhiều nhiễu.
Ví dụ:
Một Decision Tree quá sâu có thể ghi nhớ gần như toàn bộ dữ liệu huấn luyện.
Vì sao Underfitting xảy ra?
Ngược lại, Underfitting thường xuất hiện khi:
- Mô hình quá đơn giản.
- Chưa huấn luyện đủ.
- Thiếu đặc trưng (Feature).
- Chọn sai thuật toán.
Ví dụ:
Dùng Linear Regression để mô hình hóa một mối quan hệ phi tuyến rất phức tạp.
Làm sao nhận biết?
Một cách đơn giản là so sánh kết quả trên hai tập dữ liệu.
| Chỉ số | Training | Test |
|---|---|---|
| Mô hình tốt | Cao | Cao |
| Overfitting | Rất cao | Thấp |
| Underfitting | Thấp | Thấp |
Nếu khoảng cách giữa Training và Test quá lớn, rất có thể mô hình đang bị Overfitting.
Cách khắc phục Overfitting
Một số kỹ thuật phổ biến:
Thu thập thêm dữ liệu
Nhiều dữ liệu hơn giúp mô hình học được quy luật tổng quát thay vì ghi nhớ từng mẫu.
Regularization
Thêm ràng buộc vào quá trình huấn luyện để hạn chế mô hình trở nên quá phức tạp.
Ví dụ:
- L1 Regularization (Lasso)
- L2 Regularization (Ridge)
Cross Validation
Đánh giá mô hình trên nhiều tập dữ liệu khác nhau thay vì chỉ một lần chia Train/Test.
Điều này giúp phát hiện sớm tình trạng Overfitting.
Early Stopping
Đối với Deep Learning, có thể dừng huấn luyện khi mô hình bắt đầu giảm hiệu quả trên Validation Set.
Đơn giản hóa mô hình
Ví dụ:
- Giảm số tầng của Neural Network.
- Giảm độ sâu Decision Tree.
- Giảm số lượng Feature.
Cách khắc phục Underfitting
Nếu mô hình quá đơn giản, có thể:
- Thu thập thêm Feature.
- Huấn luyện lâu hơn.
- Sử dụng mô hình mạnh hơn.
- Điều chỉnh Hyperparameter.
- Giảm mức Regularization nếu đang áp dụng quá mạnh.
Ví dụ thực tế
Giả sử bạn xây dựng mô hình dự đoán giá nhà.
Overfitting
Mô hình học cả những chi tiết rất hiếm, chẳng hạn:
- Màu sơn của một căn nhà cụ thể.
- Vết nứt trên một bức tường.
Những yếu tố này không giúp dự đoán các căn nhà khác.
Underfitting
Mô hình chỉ sử dụng:
- Diện tích.
Trong khi bỏ qua:
- Vị trí.
- Số phòng.
- Tuổi căn nhà.
- Tiện ích xung quanh.
Kết quả là mô hình không đủ thông tin để dự đoán chính xác.
Bias và Variance
Overfitting và Underfitting thường được giải thích thông qua hai khái niệm:
- Bias: Sai số do mô hình quá đơn giản.
- Variance: Sai số do mô hình quá nhạy với dữ liệu huấn luyện.
| Trạng thái | Bias | Variance |
|---|---|---|
| Underfitting | Cao | Thấp |
| Overfitting | Thấp | Cao |
| Mô hình tốt | Cân bằng | Cân bằng |
Mục tiêu của Machine Learning là tìm được điểm cân bằng giữa hai yếu tố này.
Kết luận
Overfitting và Underfitting là hai vấn đề phổ biến trong quá trình xây dựng mô hình Machine Learning.
Trong khi Overfitting khiến mô hình ghi nhớ dữ liệu huấn luyện và mất khả năng tổng quát hóa, Underfitting lại khiến mô hình không học đủ để nắm bắt quy luật của dữ liệu.
Việc lựa chọn mô hình phù hợp, kết hợp với các kỹ thuật như Cross Validation, Regularization và Early Stopping sẽ giúp cải thiện khả năng dự đoán trên dữ liệu mới.
Bài tiếp theo
Ở bài viết tiếp theo, MCNA Technology School sẽ cùng bạn tìm hiểu:
Cross Validation là gì? Vì sao không nên chỉ chia dữ liệu thành Train/Test một lần?
Tiếp tục nâng cao kiến thức Machine Learning cùng MCNA Technology School
Nếu bạn muốn không chỉ hiểu các khái niệm như Overfitting, Underfitting, Supervised Learning hay Reinforcement Learning mà còn biết cách áp dụng chúng vào các dự án thực tế với Python, SQL, Power BI và AI, hãy tham khảo các chương trình đào tạo tại MCNA Technology School.
📚 Khóa học nổi bật
🤖 Combo 5 khóa AI & Power BI
Dành cho người muốn xây dựng nền tảng về AI, Machine Learning và trực quan hóa dữ liệu với Power BI.
👉 https://mcna.vn/khoa-hoc/khoa-hoc-combo-5-khoa-ai-va-power-bi/
🐍 Combo Python từ cơ bản đến nâng cao
Phù hợp cho người mới bắt đầu hoặc muốn phát triển kỹ năng lập trình Python phục vụ Data Analysis, Machine Learning và AI.
👉 https://mcna.vn/khoa-hoc/combo-python/
Tác giả: Bùi Đình Tuyển – Data Analyst tại MCNA Technology School
📞 Hotline: 0939.866.825 (Mr. Minh Khang)
🌐 Website: mcna.vn
📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B TT2 Văn Quán, Hà Đông
📍 TP.HCM: 50B Phan Tây Hồ, Cầu Kiệu

