Overfitting và underfitting: vì sao mô hình tốt trên dữ liệu cũ lại kém trên dữ liệu mới?
Tìm hiểu hai lỗi kinh điển của học máy, cách nhận biết qua tập huấn luyện và tập kiểm thử, cùng các biện pháp khắc phục phổ biến.
Admin
· 4 phút đọc

Mục lục (7)
Một mô hình học máy đạt độ chính xác gần như tuyệt đối trên dữ liệu đã dùng để huấn luyện nhưng lại cho kết quả đáng thất vọng khi gặp dữ liệu mới là tình huống rất thường gặp. Nguyên nhân phổ biến nhất là hiện tượng quá khớp (overfitting). Ở chiều ngược lại, một mô hình quá đơn giản cũng có thể kém ở mọi nơi, gọi là chưa khớp (underfitting). Hai khái niệm này là nền tảng để hiểu vì sao việc đánh giá mô hình cần được làm cẩn thận.
Mục tiêu thật sự: khái quát hóa
Ta không xây dựng mô hình để nó thuộc lòng dữ liệu cũ, mà để nó hoạt động tốt trên dữ liệu chưa từng thấy. Khả năng này gọi là khái quát hóa (generalization). Có thể so sánh với một học sinh: học thuộc lòng đáp án của đề cũ giúp đạt điểm cao khi gặp lại đúng đề đó, nhưng không giúp ích khi đề thay đổi. Học sinh hiểu bản chất vấn đề mới làm được đề mới.
Overfitting: học cả nhiễu
Quá khớp xảy ra khi mô hình quá phức tạp so với lượng dữ liệu hiện có, nên nó không chỉ học quy luật thật mà còn ghi nhớ cả nhiễu và những ngẫu nhiên riêng của tập huấn luyện. Dấu hiệu điển hình là sai số trên tập huấn luyện rất thấp, nhưng sai số trên dữ liệu kiểm thử cao hơn hẳn. Một cây quyết định để phát triển sâu không giới hạn, hoặc một mạng nơ-ron rất lớn huấn luyện trên tập dữ liệu nhỏ, là những ví dụ dễ gặp.
Underfitting: chưa học đủ
Ngược lại, chưa khớp xảy ra khi mô hình quá đơn giản để nắm bắt quy luật trong dữ liệu. Ví dụ, dùng một đường thẳng để mô tả mối quan hệ vốn có dạng cong. Dấu hiệu là sai số cao ở cả tập huấn luyện lẫn tập kiểm thử. Khi đó, thêm dữ liệu thường ít giúp ích; điều cần thay đổi là bản thân mô hình hoặc các đặc trưng đầu vào.
Cách phát hiện: tách dữ liệu và so sánh
Công cụ cơ bản nhất là chia dữ liệu thành các phần riêng biệt:
- Tập huấn luyện: dùng để mô hình học.
- Tập kiểm định: dùng để so sánh các cấu hình và điều chỉnh siêu tham số.
- Tập kiểm thử: được giữ lại đến cuối để ước lượng chất lượng thực tế, và không được dùng để chọn mô hình.
Sau đó so sánh kết quả giữa các tập. Khoảng cách lớn giữa kết quả huấn luyện và kết quả kiểm thử gợi ý quá khớp; kết quả kém ở cả hai gợi ý chưa khớp. Kỹ thuật kiểm định chéo (cross-validation) giúp đánh giá ổn định hơn khi dữ liệu không nhiều.
Cách khắc phục thường dùng
Với quá khớp, ta có thể:
- Thu thập thêm dữ liệu đa dạng hơn.
- Đơn giản hóa mô hình, chẳng hạn giới hạn độ sâu của cây hoặc giảm số lớp mạng.
- Áp dụng điều chuẩn (regularization) để phạt các mô hình quá phức tạp.
- Dừng huấn luyện sớm khi kết quả trên tập kiểm định không còn cải thiện.
Với chưa khớp, ta có thể dùng mô hình có năng lực biểu diễn lớn hơn, bổ sung đặc trưng có ý nghĩa hoặc huấn luyện lâu hơn. Mục tiêu là tìm điểm cân bằng giữa độ phức tạp và khả năng khái quát hóa, thường được nhắc đến qua khái niệm đánh đổi giữa độ chệch và phương sai.
Một lỗi liên quan: rò rỉ dữ liệu
Đôi khi kết quả kiểm thử tốt một cách đáng ngờ vì thông tin từ tập kiểm thử đã vô tình lọt vào quá trình huấn luyện, ví dụ khi chuẩn hóa dữ liệu trên toàn bộ tập trước khi chia. Hiện tượng này gọi là rò rỉ dữ liệu (data leakage) và khiến ta đánh giá quá lạc quan về mô hình. Hãy luôn thực hiện các bước tiền xử lý sau khi đã chia dữ liệu.
Kết luận
Overfitting là học quá kỹ những chi tiết không đáng học, underfitting là chưa học đủ những điều cần học. Cách phòng ngừa hiệu quả nhất là luôn đánh giá mô hình trên dữ liệu mà nó chưa từng nhìn thấy, theo dõi khoảng cách giữa kết quả huấn luyện và kiểm thử, và điều chỉnh độ phức tạp cho phù hợp với bài toán.
Bình luận
Chưa có bình luận nào.
