Underfitting là gì?
Underfitting xảy ra khi mô hình học máy quá đơn giản, không nắm bắt được các pattern tiềm ẩn trong dữ liệu huấn luyện. Kết quả là mô hình cho sai số cao cả trên tập huấn luyện lẫn tập kiểm thử. Đây là tình trạng high bias (độ chệch cao) và low variance (độ biến thiên thấp), khiến mô hình đưa ra giả định quá cứng nhắc.
Mục tiêu và cơ chế của Underfitting
Underfitting phản ánh vấn đề mô hình không đủ phức tạp để học các mối quan hệ thực tế trong dữ liệu. Cơ chế chính xuất phát từ việc mô hình ưu tiên sự đơn giản hóa quá mức, bỏ qua các xu hướng phức tạp. Ví dụ, dùng đường thẳng để fit dữ liệu cong rõ rệt sẽ dẫn đến underfitting, vì mô hình không thể biểu diễn độ phức tạp cần thiết.
Nguyên nhân phổ biến bao gồm:
- Mô hình quá đơn giản (ít tham số, như linear regression cho dữ liệu phi tuyến).
- Regularization quá mạnh, hạn chế khả năng học của mô hình.
- Dữ liệu huấn luyện thiếu đặc trưng quan trọng hoặc chưa đủ thời gian huấn luyện.
- Tập dữ liệu nhỏ, chứa nhiều nhiễu hoặc chưa được tiền xử lý tốt.
Khi nào Underfitting được sử dụng?
Underfitting thường xuất hiện ở giai đoạn đầu huấn luyện hoặc khi chọn mô hình không phù hợp với độ phức tạp dữ liệu. Các kỹ sư phát hiện qua biểu đồ learning curve: nếu training error và validation error đều cao, không giảm theo epoch, đó là dấu hiệu underfitting. Trong thực tế, nó xảy ra phổ biến với nhiệm vụ phức tạp như computer vision khi dùng mô hình nhỏ.
Để khắc phục, cần:
- Tăng độ phức tạp mô hình (thêm layer, neuron trong neural network).
- Giảm mức regularization như L1/L2 hoặc dropout.
- Cải thiện dữ liệu: thêm feature engineering, data augmentation hoặc huấn luyện lâu hơn.
Những hiểu lầm phổ biến về Underfitting
Nhiều người nhầm underfitting chỉ xảy ra với mô hình đơn giản, nhưng thực tế nó còn do dữ liệu kém chất lượng. Một hiểu lầm khác là nghĩ underfitting luôn tệ hơn overfitting; thực ra cả hai đều làm giảm khả năng khái quát hóa. So sánh trực quan:
| Đặc điểm | Underfitting | Overfitting |
|---|---|---|
| Sai số huấn luyện | Cao | Thấp |
| Sai số kiểm thử | Cao | Cao |
| Nguyên nhân chính | High bias, mô hình đơn giản | High variance, mô hình phức tạp quá |
| Hiệu suất | Kém trên mọi dữ liệu | Tốt trên train, kém trên test |
Underfitting dễ khắc phục hơn overfitting vì chỉ cần tăng công suất mô hình.
Các thuật ngữ AI liên quan đến Underfitting
Dưới đây là một số thuật ngữ AI liên quan chặt chẽ đến underfitting, giúp hiểu rõ hơn ngữ cảnh huấn luyện mô hình:
- Overfitting: Hiện tượng ngược lại, mô hình học quá kỹ dữ liệu huấn luyện bao gồm nhiễu, dẫn đến kém tổng quát hóa.
- Bias-Variance Tradeoff: Cân bằng giữa độ chệch và độ biến thiên, underfitting nghiêng về high bias.
- Regularization: Kỹ thuật kiểm soát độ phức tạp mô hình, nếu quá mạnh gây underfitting.
- Hyperparameter Tuning: Quá trình điều chỉnh tham số như learning rate để tránh underfitting hoặc overfitting.
Các câu hỏi thường gặp
Underfitting khác gì overfitting?
Underfitting khác overfitting ở chỗ mô hình quá đơn giản (high bias), sai số cao trên cả train và test, trong khi overfitting quá phức tạp (high variance), sai số thấp trên train nhưng cao trên test. Cả hai đều làm giảm khả năng dự đoán dữ liệu mới. Để phân biệt, theo dõi learning curve là cách hiệu quả nhất.
Làm thế nào nhận biết underfitting?
Nhận biết underfitting qua sai số huấn luyện cao và không cải thiện theo thời gian huấn luyện. Validation error cũng cao tương đương. Sử dụng cross-validation để xác nhận mô hình chưa học đủ pattern từ dữ liệu.
Cách khắc phục underfitting hiệu quả?
Khắc phục underfitting bằng tăng độ phức tạp mô hình, thêm đặc trưng hoặc giảm regularization. Huấn luyện lâu hơn với optimizer tốt như Adam cũng giúp. Kết hợp feature selection để dữ liệu chất lượng cao hơn.
Underfitting có xảy ra trong deep learning không?
Có, underfitting vẫn xảy ra trong deep learning nếu dùng mô hình nhỏ cho dữ liệu phức tạp như hình ảnh. Giải pháp là scale up model hoặc dùng transfer learning từ pre-trained weights.
Hiểu rõ underfitting giúp xây dựng mô hình AI cân bằng, tối ưu hiệu suất trên dữ liệu thực tế. Nó là phần quan trọng trong quy trình huấn luyện, tránh lãng phí tài nguyên compute. Áp dụng đúng cách sẽ nâng cao độ tin cậy của hệ thống machine learning.